186 lines
8.4 KiB
Java
186 lines
8.4 KiB
Java
package com.engine.salary.biz;
|
|
|
|
import com.engine.salary.encrypt.archive.SalaryArchiveItemPOEncrypt;
|
|
import com.engine.salary.encrypt.archive.SalaryItemAdjustRecordListDTOEncrypt;
|
|
import com.engine.salary.entity.salaryarchive.dto.SalaryItemAdjustRecordListDTO;
|
|
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveItemQueryParam;
|
|
import com.engine.salary.entity.salaryarchive.param.SalaryItemAdjustRecordQueryParam;
|
|
import com.engine.salary.entity.salaryarchive.po.SalaryArchiveItemPO;
|
|
import com.engine.salary.mapper.archive.SalaryArchiveItemMapper;
|
|
import com.engine.salary.util.page.PageInfo;
|
|
import com.engine.salary.util.page.SalaryPageUtil;
|
|
import com.google.common.collect.Lists;
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
import org.apache.ibatis.session.SqlSession;
|
|
import weaver.conn.mybatis.MyBatisFactory;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
public class SalaryArchiveItemBiz {
|
|
|
|
public List<SalaryArchiveItemPO> getCurrentEffectiveItemList(SalaryArchiveItemQueryParam build) {
|
|
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
|
|
try {
|
|
SalaryArchiveItemMapper mapper = sqlSession.getMapper(SalaryArchiveItemMapper.class);
|
|
List<SalaryArchiveItemPO> salaryArchiveItemPOS = mapper.listByParam(build);
|
|
return SalaryArchiveItemPOEncrypt.decryptSalaryArchiveItemPOList(salaryArchiveItemPOS);
|
|
} finally {
|
|
sqlSession.close();
|
|
}
|
|
}
|
|
|
|
public List<SalaryArchiveItemPO> listByParam(SalaryArchiveItemQueryParam build) {
|
|
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
|
|
try {
|
|
SalaryArchiveItemMapper mapper = sqlSession.getMapper(SalaryArchiveItemMapper.class);
|
|
List<SalaryArchiveItemPO> salaryArchiveItemPOS = mapper.listByParam(build);
|
|
return SalaryArchiveItemPOEncrypt.decryptSalaryArchiveItemPOList(salaryArchiveItemPOS);
|
|
} finally {
|
|
sqlSession.close();
|
|
}
|
|
}
|
|
|
|
public SalaryArchiveItemPO getById(Long salaryArchiveItemId) {
|
|
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
|
|
try {
|
|
SalaryArchiveItemMapper mapper = sqlSession.getMapper(SalaryArchiveItemMapper.class);
|
|
return SalaryArchiveItemPOEncrypt.decryptSalaryArchiveItemPO(mapper.getById(salaryArchiveItemId));
|
|
} finally {
|
|
sqlSession.close();
|
|
}
|
|
}
|
|
|
|
public List<SalaryArchiveItemPO> getIneffectiveSalaryItems(SalaryArchiveItemQueryParam build) {
|
|
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
|
|
try {
|
|
SalaryArchiveItemMapper mapper = sqlSession.getMapper(SalaryArchiveItemMapper.class);
|
|
List<SalaryArchiveItemPO> ineffectiveSalaryItems = new ArrayList<>();
|
|
if(CollectionUtils.isNotEmpty(build.getSalaryArchivesIds())){
|
|
List<Long> salaryArchivesIds = (List<Long>) build.getSalaryArchivesIds();
|
|
List<List<Long>> partition = Lists.partition(salaryArchivesIds,1000);
|
|
partition.forEach(list -> {
|
|
build.setSalaryArchivesIds(list);
|
|
ineffectiveSalaryItems.addAll(mapper.getIneffectiveSalaryItems(build));
|
|
});
|
|
}
|
|
return SalaryArchiveItemPOEncrypt.decryptSalaryArchiveItemPOList(ineffectiveSalaryItems);
|
|
} finally {
|
|
sqlSession.close();
|
|
}
|
|
}
|
|
|
|
public List<SalaryArchiveItemPO> getEffectiveSalaryItems(SalaryArchiveItemQueryParam build) {
|
|
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
|
|
try {
|
|
SalaryArchiveItemMapper mapper = sqlSession.getMapper(SalaryArchiveItemMapper.class);
|
|
List<SalaryArchiveItemPO> effectiveSalaryItems = mapper.getEffectiveSalaryItems(build);
|
|
return SalaryArchiveItemPOEncrypt.decryptSalaryArchiveItemPOList(effectiveSalaryItems);
|
|
} finally {
|
|
sqlSession.close();
|
|
}
|
|
}
|
|
|
|
public void deleteBatchIds(List<Long> effectiveSalaryItemDels) {
|
|
|
|
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
|
|
try {
|
|
SalaryArchiveItemMapper mapper = sqlSession.getMapper(SalaryArchiveItemMapper.class);
|
|
List<List<Long>> partition = Lists.partition(effectiveSalaryItemDels, 999);
|
|
partition.forEach(mapper::deleteBatchIds);
|
|
sqlSession.commit();
|
|
} finally {
|
|
sqlSession.close();
|
|
}
|
|
}
|
|
|
|
public void batchInsert(List<SalaryArchiveItemPO> salaryArchiveItemNews) {
|
|
if(CollectionUtils.isEmpty(salaryArchiveItemNews)){
|
|
return;
|
|
}
|
|
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
|
|
try {
|
|
SalaryArchiveItemMapper mapper = sqlSession.getMapper(SalaryArchiveItemMapper.class);
|
|
SalaryArchiveItemPOEncrypt.encryptSalaryArchiveItemPOList(salaryArchiveItemNews);
|
|
List<List<SalaryArchiveItemPO>> partition = Lists.partition(salaryArchiveItemNews, 100);
|
|
partition.forEach(mapper::batchInsert);
|
|
sqlSession.commit();
|
|
} finally {
|
|
sqlSession.close();
|
|
}
|
|
}
|
|
|
|
public void updateById(SalaryArchiveItemPO salaryArchiveItem) {
|
|
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
|
|
try {
|
|
SalaryArchiveItemMapper mapper = sqlSession.getMapper(SalaryArchiveItemMapper.class);
|
|
SalaryArchiveItemPOEncrypt.encryptSalaryArchiveItemPO(salaryArchiveItem);
|
|
mapper.update(salaryArchiveItem);
|
|
sqlSession.commit();
|
|
} finally {
|
|
sqlSession.close();
|
|
}
|
|
}
|
|
|
|
|
|
public void updateIgnoreNull(SalaryArchiveItemPO salaryArchiveItem) {
|
|
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
|
|
try {
|
|
SalaryArchiveItemMapper mapper = sqlSession.getMapper(SalaryArchiveItemMapper.class);
|
|
SalaryArchiveItemPOEncrypt.encryptSalaryArchiveItemPO(salaryArchiveItem);
|
|
mapper.updateIgnoreNull(salaryArchiveItem);
|
|
sqlSession.commit();
|
|
} finally {
|
|
sqlSession.close();
|
|
}
|
|
}
|
|
|
|
|
|
public List<SalaryItemAdjustRecordListDTO> salaryItemAdjustRecordList(SalaryItemAdjustRecordQueryParam queryParam, List<Long> salaryItemIds) {
|
|
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
|
|
try {
|
|
SalaryArchiveItemMapper mapper = sqlSession.getMapper(SalaryArchiveItemMapper.class);
|
|
return SalaryItemAdjustRecordListDTOEncrypt.decryptSalaryItemAdjustRecordListDTOList(mapper.salaryItemAdjustRecordList(queryParam, salaryItemIds));
|
|
} finally {
|
|
sqlSession.close();
|
|
}
|
|
}
|
|
|
|
public void deleteBySalaryArchiveId(List<Long> salaryArchiveIds) {
|
|
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
|
|
try {
|
|
SalaryArchiveItemMapper mapper = sqlSession.getMapper(SalaryArchiveItemMapper.class);
|
|
mapper.deleteBySalaryArchiveId(salaryArchiveIds);
|
|
sqlSession.commit();
|
|
} finally {
|
|
sqlSession.close();
|
|
}
|
|
}
|
|
|
|
public PageInfo<SalaryItemAdjustRecordListDTO> salaryItemAdjustRecordListPage(SalaryItemAdjustRecordQueryParam queryParam, List<Long> salaryItemIds) {
|
|
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
|
|
try {
|
|
SalaryArchiveItemMapper mapper = sqlSession.getMapper(SalaryArchiveItemMapper.class);
|
|
List<SalaryItemAdjustRecordListDTO> salaryItemAdjustRecordListDTOS = mapper.salaryItemAdjustRecordList(queryParam, salaryItemIds);
|
|
PageInfo<SalaryItemAdjustRecordListDTO> page = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(),
|
|
salaryItemAdjustRecordListDTOS,
|
|
SalaryItemAdjustRecordListDTO.class);
|
|
SalaryItemAdjustRecordListDTOEncrypt.decryptSalaryItemAdjustRecordListDTOList(page.getList());
|
|
return page;
|
|
} finally {
|
|
sqlSession.close();
|
|
}
|
|
}
|
|
|
|
public void batchDeleteHistoryData(SalaryArchiveItemPO build) {
|
|
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
|
|
try {
|
|
SalaryArchiveItemMapper mapper = sqlSession.getMapper(SalaryArchiveItemMapper.class);
|
|
mapper.batchDeleteHistoryData(build);
|
|
sqlSession.commit();
|
|
} finally {
|
|
sqlSession.close();
|
|
}
|
|
}
|
|
}
|