weaver-hrm-salary/src/com/engine/salary/biz/SalaryArchiveItemBiz.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();
}
}
}