diff --git a/src/com/engine/salary/biz/SalaryArchiveItemBiz.java b/src/com/engine/salary/biz/SalaryArchiveItemBiz.java index 60058f246..e8c096755 100644 --- a/src/com/engine/salary/biz/SalaryArchiveItemBiz.java +++ b/src/com/engine/salary/biz/SalaryArchiveItemBiz.java @@ -8,12 +8,13 @@ import com.engine.salary.entity.salaryarchive.param.SalaryItemAdjustRecordQueryP 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 com.engine.salary.util.page.SalaryPageUtil; import org.apache.ibatis.session.SqlSession; import weaver.conn.mybatis.MyBatisFactory; +import java.util.ArrayList; import java.util.List; public class SalaryArchiveItemBiz { @@ -54,7 +55,15 @@ public class SalaryArchiveItemBiz { SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession(); try { SalaryArchiveItemMapper mapper = sqlSession.getMapper(SalaryArchiveItemMapper.class); - List ineffectiveSalaryItems = mapper.getIneffectiveSalaryItems(build); + List ineffectiveSalaryItems = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(build.getSalaryArchivesIds())){ + List salaryArchivesIds = (List) build.getSalaryArchivesIds(); + List> partition = Lists.partition(salaryArchivesIds,1000); + partition.forEach(list -> { + build.setSalaryArchivesIds(list); + ineffectiveSalaryItems.addAll(mapper.getIneffectiveSalaryItems(build)); + }); + } return SalaryArchiveItemPOEncrypt.decryptSalaryArchiveItemPOList(ineffectiveSalaryItems); } finally { sqlSession.close(); diff --git a/src/com/engine/salary/service/impl/SIArchivesServiceImpl.java b/src/com/engine/salary/service/impl/SIArchivesServiceImpl.java index bd415df5b..6cf30f3cf 100644 --- a/src/com/engine/salary/service/impl/SIArchivesServiceImpl.java +++ b/src/com/engine/salary/service/impl/SIArchivesServiceImpl.java @@ -6,7 +6,6 @@ import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; import com.engine.salary.biz.SIArchivesBiz; import com.engine.salary.cmd.siarchives.SIArchivesTipsCmd; -import com.engine.salary.entity.salaryarchive.param.SalaryArchiveItemQueryParam; import com.engine.salary.entity.siarchives.bo.InsuranceArchivesBaseInfoBO; import com.engine.salary.entity.siarchives.param.InsuranceArchivesListParam; import com.engine.salary.entity.siarchives.param.InsuranceArchivesSaveParam; @@ -36,7 +35,6 @@ import com.engine.salary.util.SalaryI18nUtil; import com.engine.salary.util.db.MapperProxyFactory; import com.engine.salary.util.excel.ExcelUtil; import com.google.common.collect.Lists; -import com.icbc.api.internal.apache.http.impl.cookie.S; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; diff --git a/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java b/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java index 2a6813257..c44c5e8ae 100644 --- a/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java @@ -1107,7 +1107,13 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(145969, "没有可以操作的记录")); } - List salaryArchiveList = getSalaryArchiveMapper().listSome(SalaryArchivePO.builder().ids(ids).runStatus(SalaryArchiveStatusEnum.PENDING.getValue()).build()); + List salaryArchiveList = new ArrayList<>(); + List salaryArchivesIds = (List) ids; + List> partition = Lists.partition(salaryArchivesIds, 1000); + partition.forEach(list -> { + salaryArchiveList.addAll(getSalaryArchiveMapper().listSome(SalaryArchivePO.builder().ids(list).runStatus(SalaryArchiveStatusEnum.PENDING.getValue()).build())); + }); + if (CollectionUtils.isEmpty(salaryArchiveList)) { throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(145969, "档案不存在!")); } @@ -1122,7 +1128,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe } // 从待定薪到定薪 - getSalaryArchiveMapper().gotoFixed(ids); + partition.forEach(getSalaryArchiveMapper()::gotoFixed); // 获取所有可被引用的薪资项目 List salaryItemIds = getSalaryArchiveItemService(user).getCanAdjustSalaryItems().stream().map(SalaryItemPO::getId).collect(Collectors.toList()); @@ -1136,8 +1142,8 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe } }).collect(Collectors.toList()); // 更新薪资项目的生效日期 - List> partition = Lists.partition(currentEffectiveItemList, 100); - partition.forEach(list -> getSalaryArchiveItemMapper().batchUpdate(list)); + List> partitions = Lists.partition(currentEffectiveItemList, 100); + partitions.forEach(list -> getSalaryArchiveItemMapper().batchUpdate(list)); Map resultMap = new HashMap<>(2); String resultMsg = SalaryI18nUtil.getI18nLabel(94620, "操作成功");