391 lines
22 KiB
Java
391 lines
22 KiB
Java
|
|
//package com.engine.salary.service.impl;
|
||
|
|
//
|
||
|
|
//import com.alibaba.fastjson.JSONObject;
|
||
|
|
//import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
|
||
|
|
//import com.engine.core.impl.Service;
|
||
|
|
//import com.engine.salary.service.SalaryArchiveItemService;
|
||
|
|
//import com.google.common.collect.Lists;
|
||
|
|
//import com.weaver.common.base.entity.result.WeaResult;
|
||
|
|
//import com.weaver.common.base.enumeration.result.WeaResultCodeEnum;
|
||
|
|
//import com.weaver.common.batch.context.BatchExportContext;
|
||
|
|
//import com.weaver.common.batch.entity.BatchCallbackMessage;
|
||
|
|
//import com.weaver.common.batch.handler.BatchExportHandler;
|
||
|
|
//import com.weaver.common.component.table.page.Page;
|
||
|
|
//import com.weaver.common.distribution.genid.IdGenerator;
|
||
|
|
//import com.weaver.hrm.salary.common.excel.ExcelSheetData;
|
||
|
|
//import com.weaver.hrm.salary.common.excel.ExportExcelInfo;
|
||
|
|
//import com.weaver.hrm.salary.dao.SalaryArchiveItemMapper;
|
||
|
|
//import com.weaver.hrm.salary.dao.SalaryArchiveMapper;
|
||
|
|
//import com.weaver.hrm.salary.dao.SalaryItemMapper;
|
||
|
|
//import com.weaver.hrm.salary.entity.salaryarchive.dto.*;
|
||
|
|
//import com.weaver.hrm.salary.entity.salaryarchive.param.*;
|
||
|
|
//import com.weaver.hrm.salary.entity.salaryarchive.po.SalaryArchiveItemPO;
|
||
|
|
//import com.weaver.hrm.salary.entity.salaryarchive.po.SalaryArchivePO;
|
||
|
|
//import com.weaver.hrm.salary.entity.salaryitem.po.SalaryItemPO;
|
||
|
|
//import com.weaver.hrm.salary.enums.SalaryOnOffEnum;
|
||
|
|
//import com.weaver.hrm.salary.enums.SalaryUserStatusEnum;
|
||
|
|
//import com.weaver.hrm.salary.enums.salaryarchive.SalaryArchiveItemAdjustReasonEnum;
|
||
|
|
//import com.weaver.hrm.salary.exception.SalaryRunTimeException;
|
||
|
|
//import com.weaver.hrm.salary.service.SalaryBatchService;
|
||
|
|
//import com.weaver.hrm.salary.util.SalaryDateUtil;
|
||
|
|
//import com.weaver.hrm.salary.util.SalaryI18nUtil;
|
||
|
|
//import org.apache.commons.collections4.CollectionUtils;
|
||
|
|
//import org.apache.commons.lang3.StringUtils;
|
||
|
|
//import org.slf4j.Logger;
|
||
|
|
//import org.slf4j.LoggerFactory;
|
||
|
|
//import org.springframework.transaction.annotation.Transactional;
|
||
|
|
//
|
||
|
|
//import javax.annotation.Resource;
|
||
|
|
//import java.text.SimpleDateFormat;
|
||
|
|
//import java.time.LocalDate;
|
||
|
|
//import java.time.LocalDateTime;
|
||
|
|
//import java.util.*;
|
||
|
|
//import java.util.stream.Collectors;
|
||
|
|
//
|
||
|
|
///**
|
||
|
|
// * 薪资档案薪资项目
|
||
|
|
// * <p>Copyright: Copyright (c) 2022</p>
|
||
|
|
// * <p>Company: 泛微软件</p>
|
||
|
|
// *
|
||
|
|
// * @author qiantao
|
||
|
|
// * @version 1.0
|
||
|
|
// **/
|
||
|
|
//public class SalaryArchiveItemServiceImpl extends Service implements SalaryArchiveItemService {
|
||
|
|
// private static final Logger log = LoggerFactory.getLogger(SalaryArchiveItemServiceImpl.class);
|
||
|
|
// @Resource
|
||
|
|
// private SalaryArchiveMapper salaryArchiveMapper;
|
||
|
|
// @Resource
|
||
|
|
// private SalaryItemMapper salaryItemMapper;
|
||
|
|
// @Resource
|
||
|
|
// private SalaryArchiveItemMapper salaryArchiveItemMapper;
|
||
|
|
// @Resource
|
||
|
|
// private SalaryBatchService salaryBatchService;
|
||
|
|
//
|
||
|
|
// @Override
|
||
|
|
// public SalaryArchiveItemPO getById(Long salaryArchiveItemId, String tenantKey) {
|
||
|
|
// return salaryArchiveItemMapper.getById(salaryArchiveItemId, tenantKey);
|
||
|
|
// }
|
||
|
|
//
|
||
|
|
// /**
|
||
|
|
// * 获取未生效
|
||
|
|
// *
|
||
|
|
// * @param salaryArchiveId
|
||
|
|
// * @param salaryItemIds
|
||
|
|
// * @param tenantKey
|
||
|
|
// * @return
|
||
|
|
// */
|
||
|
|
// private List<SalaryArchiveItemPO> getIneffectiveSalaryItems(Long salaryArchiveId, List<Long> salaryItemIds, String tenantKey) {
|
||
|
|
// // 没有薪资项目时,给个不存在的,否则加载所有不合理
|
||
|
|
// salaryItemIds = CollectionUtils.isEmpty(salaryItemIds)?Collections.singletonList(0L):salaryItemIds;
|
||
|
|
// return new LambdaQueryChainWrapper<>(salaryArchiveItemMapper)
|
||
|
|
// .eq(SalaryArchiveItemPO::getDeleteType, 0)
|
||
|
|
// .eq(SalaryArchiveItemPO::getTenantKey, tenantKey)
|
||
|
|
// .eq(SalaryArchiveItemPO::getSalaryArchiveId, salaryArchiveId)
|
||
|
|
// .in(SalaryArchiveItemPO::getSalaryItemId, salaryItemIds)
|
||
|
|
// .gt(SalaryArchiveItemPO::getEffectiveTime, LocalDate.now())
|
||
|
|
// .list();
|
||
|
|
// }
|
||
|
|
//
|
||
|
|
// /**
|
||
|
|
// * 获取当前已生效
|
||
|
|
// *
|
||
|
|
// * @param salaryArchiveId
|
||
|
|
// * @param salaryItemIds
|
||
|
|
// * @param tenantKey
|
||
|
|
// * @return
|
||
|
|
// */
|
||
|
|
// @Override
|
||
|
|
// public List<SalaryArchiveItemPO> getEffectiveSalaryItems(Long salaryArchiveId, List<Long> salaryItemIds, String tenantKey) {
|
||
|
|
// // 没有薪资项目时,给个不存在的,否则加载所有不合理
|
||
|
|
// salaryItemIds = CollectionUtils.isEmpty(salaryItemIds)?Collections.singletonList(0L):salaryItemIds;
|
||
|
|
// return new LambdaQueryChainWrapper<>(salaryArchiveItemMapper)
|
||
|
|
// .eq(SalaryArchiveItemPO::getDeleteType, 0)
|
||
|
|
// .eq(SalaryArchiveItemPO::getTenantKey, tenantKey)
|
||
|
|
// .eq(SalaryArchiveItemPO::getSalaryArchiveId, salaryArchiveId)
|
||
|
|
// .in(SalaryArchiveItemPO::getSalaryItemId, salaryItemIds)
|
||
|
|
// .le(SalaryArchiveItemPO::getEffectiveTime, LocalDate.now())
|
||
|
|
// .orderByDesc(SalaryArchiveItemPO::getEffectiveTime)
|
||
|
|
// .list();
|
||
|
|
// }
|
||
|
|
//
|
||
|
|
// @Override
|
||
|
|
// public String getSalaryItemAdjustBeforeValue(SalaryItemAdjustBeforeParam adjustBeforeParam, Long currentEmployeeId, String currentTenantKey) {
|
||
|
|
// WeaResult<String> checkResult = SalaryItemAdjustBeforeParam.checkParam(adjustBeforeParam, currentEmployeeId, currentTenantKey);
|
||
|
|
// if (checkResult.getCode() == WeaResultCodeEnum.ERROR.getCode()) {
|
||
|
|
// return checkResult.getData();
|
||
|
|
// }
|
||
|
|
// List<SalaryArchiveItemPO> archiveItemList;
|
||
|
|
// if (adjustBeforeParam.getSalaryArchiveItemId()==null) {
|
||
|
|
// archiveItemList = getEffectiveSalaryItems(adjustBeforeParam.getSalaryArchiveId(), Collections.singletonList(adjustBeforeParam.getSalaryItemId()), currentTenantKey);
|
||
|
|
// } else {
|
||
|
|
// SalaryArchiveItemPO salaryArchiveItem = salaryArchiveItemMapper.getById(adjustBeforeParam.getSalaryArchiveItemId(), currentTenantKey);
|
||
|
|
// if (salaryArchiveItem == null) {
|
||
|
|
// return "";
|
||
|
|
// }
|
||
|
|
// // 如果不是当前记录的
|
||
|
|
// if (!salaryArchiveItem.getSalaryItemId().equals(adjustBeforeParam.getSalaryItemId())) {
|
||
|
|
// archiveItemList = getEffectiveSalaryItems(adjustBeforeParam.getSalaryArchiveId(), Collections.singletonList(adjustBeforeParam.getSalaryItemId()), currentTenantKey);
|
||
|
|
// } else {
|
||
|
|
// archiveItemList = new LambdaQueryChainWrapper<>(salaryArchiveItemMapper)
|
||
|
|
// .eq(SalaryArchiveItemPO::getDeleteType, 0)
|
||
|
|
// .eq(SalaryArchiveItemPO::getTenantKey, currentTenantKey)
|
||
|
|
// .eq(SalaryArchiveItemPO::getSalaryArchiveId, adjustBeforeParam.getSalaryArchiveId())
|
||
|
|
// .eq(SalaryArchiveItemPO::getSalaryItemId, salaryArchiveItem.getSalaryItemId())
|
||
|
|
// .lt(SalaryArchiveItemPO::getEffectiveTime, salaryArchiveItem.getEffectiveTime())
|
||
|
|
// .orderByDesc(SalaryArchiveItemPO::getEffectiveTime)
|
||
|
|
// .list();
|
||
|
|
// }
|
||
|
|
// }
|
||
|
|
//
|
||
|
|
// return CollectionUtils.isNotEmpty(archiveItemList)?archiveItemList.get(0).getItemValue():"";
|
||
|
|
// }
|
||
|
|
//
|
||
|
|
// @Override
|
||
|
|
// @Transactional(rollbackFor = Exception.class)
|
||
|
|
// public String saveSalaryItem(SalaryArchiveItemSaveParam saveParam, Long employeeId, String tenantKey) {
|
||
|
|
// // 检查参数
|
||
|
|
// SalaryArchiveItemSaveParam.checkParam(saveParam, employeeId, tenantKey);
|
||
|
|
//
|
||
|
|
// Long salaryArchiveId = saveParam.getSalaryArchiveId();
|
||
|
|
// // 获取所有可被引用的薪资项目
|
||
|
|
// List<SalaryItemPO> salaryItems = getCanAdjustSalaryItems(tenantKey);
|
||
|
|
// // 待处理薪资项目
|
||
|
|
// List<SalaryArchiveItemDetailSaveParam> salaryArchiveItems = saveParam.getSalaryArchiveItems().stream().filter(e -> {
|
||
|
|
// Optional<SalaryItemPO> optional = salaryItems.stream().filter(i -> i.getId().equals(e.getSalaryItemId())).findFirst();
|
||
|
|
// return optional.isPresent();
|
||
|
|
// }).collect(Collectors.toList());
|
||
|
|
// List<Long> salaryItemIds = salaryArchiveItems.stream().map(SalaryArchiveItemDetailSaveParam::getSalaryItemId).collect(Collectors.toList());
|
||
|
|
//
|
||
|
|
// // 薪资档案
|
||
|
|
// SalaryArchivePO salaryArchive = salaryArchiveMapper.getById(salaryArchiveId, tenantKey);
|
||
|
|
// // 获取当前已生效数据
|
||
|
|
// List<SalaryArchiveItemPO> effectiveSalaryItems = getEffectiveSalaryItems(salaryArchiveId, salaryItemIds, tenantKey);
|
||
|
|
//
|
||
|
|
// // 获取未生效数据
|
||
|
|
// List<SalaryArchiveItemPO> ineffectiveSalaryItems = getIneffectiveSalaryItems(salaryArchiveId, salaryItemIds, tenantKey);
|
||
|
|
// // 待保存生效时间
|
||
|
|
// LocalDate saveEffectiveTime = saveParam.getEffectiveTime();
|
||
|
|
// // 当天
|
||
|
|
// LocalDate today = LocalDate.now();
|
||
|
|
// // 当前时间
|
||
|
|
// LocalDateTime nowTime = LocalDateTime.now();
|
||
|
|
//
|
||
|
|
// List<Long> effectiveSalaryItemDels = Lists.newArrayList();
|
||
|
|
// List<SalaryArchiveItemPO> salaryArchiveItemNews = Lists.newArrayList();
|
||
|
|
// salaryArchiveItems.forEach(e -> {
|
||
|
|
// // 已生效
|
||
|
|
// List<SalaryArchiveItemPO> effectiveList = effectiveSalaryItems.stream().filter(i -> i.getSalaryItemId().equals(e.getSalaryItemId())).collect(Collectors.toList());
|
||
|
|
// // 当前已生效
|
||
|
|
// SalaryArchiveItemPO effectiveSalaryItem = CollectionUtils.isNotEmpty(effectiveList)&&effectiveList.size()>0?effectiveList.get(0):null;
|
||
|
|
// // 当前已生效的前一次调整
|
||
|
|
// SalaryArchiveItemPO effectiveBeforeSalaryItem = CollectionUtils.isNotEmpty(effectiveList)&&effectiveList.size()>1?effectiveList.get(1):null;
|
||
|
|
// // 未生效
|
||
|
|
// Optional<SalaryArchiveItemPO> optionalIneffective = ineffectiveSalaryItems.stream().filter(i -> i.getSalaryItemId().equals(e.getSalaryItemId())).findFirst();
|
||
|
|
// SalaryArchiveItemPO ineffectiveSalaryItem = optionalIneffective.orElse(null);
|
||
|
|
//
|
||
|
|
// // 1.检验是否可以调整
|
||
|
|
// if (effectiveSalaryItem != null) {
|
||
|
|
// // 当前已经生效的时间
|
||
|
|
// LocalDate effectiveTime = effectiveSalaryItem.getEffectiveTime();
|
||
|
|
// // 1.1 如果早于<当前已生效
|
||
|
|
// if (saveEffectiveTime.isBefore(effectiveTime)) {
|
||
|
|
// throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 100429, "生效日期不可早于当前已生效的调整日期"));
|
||
|
|
// // 1.2 如果等于当前已生效
|
||
|
|
// } else if (saveEffectiveTime.isEqual(effectiveTime)) {
|
||
|
|
// if (effectiveBeforeSalaryItem !=null && effectiveBeforeSalaryItem.getItemValue().equals(e.getAdjustValue())) {
|
||
|
|
// throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 100432, "调整前后不可相同"));
|
||
|
|
// }
|
||
|
|
// if (ineffectiveSalaryItem != null && ineffectiveSalaryItem.getItemValue().equals(e.getAdjustValue())) {
|
||
|
|
// throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 100434, "与未生效的调整后不可相同"));
|
||
|
|
// }
|
||
|
|
// // 1.3 如果>已经生效且<=今天
|
||
|
|
// } else if (saveEffectiveTime.isAfter(effectiveTime) && !saveEffectiveTime.isAfter(today)) {
|
||
|
|
// if (effectiveSalaryItem.getItemValue().equals(e.getAdjustValue())) {
|
||
|
|
// throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 100432, "调整前后不可相同"));
|
||
|
|
// }
|
||
|
|
// if (ineffectiveSalaryItem != null && ineffectiveSalaryItem.getItemValue().equals(e.getAdjustValue())) {
|
||
|
|
// throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 100434, "与未生效的调整后不可相同"));
|
||
|
|
// }
|
||
|
|
// // 1.4 如果>今天
|
||
|
|
// } else if (saveEffectiveTime.isAfter(today) && effectiveSalaryItem.getItemValue().equals(e.getAdjustValue())) {
|
||
|
|
// throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 100432, "调整前后不可相同"));
|
||
|
|
// }
|
||
|
|
// } else if (ineffectiveSalaryItem != null && ineffectiveSalaryItem.getItemValue().equals(e.getAdjustValue())) {
|
||
|
|
// throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 100434, "与未生效的调整后不可相同"));
|
||
|
|
// }
|
||
|
|
// // 2.数据处理
|
||
|
|
// if (effectiveSalaryItem != null && saveEffectiveTime.isEqual(effectiveSalaryItem.getEffectiveTime())) {
|
||
|
|
// effectiveSalaryItemDels.add(effectiveSalaryItem.getId());
|
||
|
|
// }
|
||
|
|
// if (ineffectiveSalaryItem != null && saveEffectiveTime.isAfter(today)) {
|
||
|
|
// effectiveSalaryItemDels.add(ineffectiveSalaryItem.getId());
|
||
|
|
// }
|
||
|
|
// salaryArchiveItemNews.add(buildInsert(salaryArchive, e.getSalaryItemId(), e.getAdjustValue(), saveParam, nowTime, employeeId, tenantKey));
|
||
|
|
// });
|
||
|
|
//
|
||
|
|
// // 落库处理
|
||
|
|
// if (CollectionUtils.isNotEmpty(effectiveSalaryItemDels)) {
|
||
|
|
// salaryArchiveItemMapper.deleteBatchIds(effectiveSalaryItemDels);
|
||
|
|
// }
|
||
|
|
// if (CollectionUtils.isNotEmpty(salaryArchiveItemNews)) {
|
||
|
|
// salaryArchiveItemMapper.batchInsert(salaryArchiveItemNews);
|
||
|
|
// }
|
||
|
|
//
|
||
|
|
// return StringUtils.EMPTY;
|
||
|
|
// }
|
||
|
|
//
|
||
|
|
// /**
|
||
|
|
// * 插入
|
||
|
|
// *
|
||
|
|
// * @param salaryArchive
|
||
|
|
// * @param saveParam
|
||
|
|
// * @param nowTime
|
||
|
|
// * @param employeeId
|
||
|
|
// * @param tenantKey
|
||
|
|
// */
|
||
|
|
// private SalaryArchiveItemPO buildInsert(SalaryArchivePO salaryArchive, Long salaryItemId, String adjustValue, SalaryArchiveItemSaveParam saveParam, LocalDateTime nowTime, Long employeeId, String tenantKey) {
|
||
|
|
// return SalaryArchiveItemPO.builder()
|
||
|
|
// .id(IdGenerator.generate())
|
||
|
|
// .salaryArchiveId(saveParam.getSalaryArchiveId())
|
||
|
|
// .employeeId(salaryArchive.getEmployeeId())
|
||
|
|
// .effectiveTime(saveParam.getEffectiveTime())
|
||
|
|
// .adjustReason(saveParam.getAdjustReason().getValue())
|
||
|
|
// .description(saveParam.getDescription())
|
||
|
|
// .salaryItemId(salaryItemId)
|
||
|
|
// // 调整后
|
||
|
|
// .itemValue(adjustValue)
|
||
|
|
// .operator(employeeId)
|
||
|
|
// .operateTime(nowTime)
|
||
|
|
// .createTime(LocalDateTime.now())
|
||
|
|
// .updateTime(LocalDateTime.now())
|
||
|
|
// .creator(employeeId)
|
||
|
|
// .tenantKey(tenantKey)
|
||
|
|
// .build();
|
||
|
|
// }
|
||
|
|
//
|
||
|
|
// @Override
|
||
|
|
// @Transactional(rollbackFor = Exception.class)
|
||
|
|
// public String deleteSalaryItem(Long salaryArchiveItemId, Long currentEmployeeId, String currentTenantKey) {
|
||
|
|
// SalaryArchiveItemPO salaryArchiveItem = salaryArchiveItemMapper.getById(salaryArchiveItemId, currentTenantKey);
|
||
|
|
// if (salaryArchiveItem == null) {
|
||
|
|
// return StringUtils.EMPTY;
|
||
|
|
// }
|
||
|
|
// if (salaryArchiveItem.getEffectiveTime().isAfter(LocalDate.now())) {
|
||
|
|
// salaryArchiveItem.setDeleteType(1);
|
||
|
|
// // 删除未生效数据
|
||
|
|
// salaryArchiveItemMapper.updateById(salaryArchiveItem);
|
||
|
|
// }
|
||
|
|
// return StringUtils.EMPTY;
|
||
|
|
// }
|
||
|
|
//
|
||
|
|
// /**
|
||
|
|
// * 获取所有可被引用的薪资项目
|
||
|
|
// *
|
||
|
|
// * @param tenantKey
|
||
|
|
// * @return
|
||
|
|
// */
|
||
|
|
// @Override
|
||
|
|
// public List<SalaryItemPO> getCanAdjustSalaryItems(String tenantKey) {
|
||
|
|
// return new LambdaQueryChainWrapper<>(salaryItemMapper)
|
||
|
|
// .eq(SalaryItemPO::getDeleteType, 0)
|
||
|
|
// .eq(SalaryItemPO::getTenantKey, tenantKey)
|
||
|
|
// .eq(SalaryItemPO::getUseInEmployeeSalary, SalaryOnOffEnum.ON.getValue())
|
||
|
|
// .list();
|
||
|
|
// }
|
||
|
|
//
|
||
|
|
//
|
||
|
|
//
|
||
|
|
// @Override
|
||
|
|
// public Page<SalaryItemAdjustRecordListDTO> salaryItemAdjustRecordListPage(Page<SalaryItemAdjustRecordListDTO> page, SalaryItemAdjustRecordQueryParam queryParam, List<Long> salaryItemIds, String tenantKey) {
|
||
|
|
// salaryArchiveItemMapper.salaryItemAdjustRecordList(page, queryParam, salaryItemIds, tenantKey);
|
||
|
|
// return page;
|
||
|
|
// }
|
||
|
|
//
|
||
|
|
// @Override
|
||
|
|
// public List<SalaryItemAdjustRecordListDTO> salaryItemAdjustRecordList(SalaryItemAdjustRecordQueryParam queryParam, List<Long> salaryItemIds, String tenantKey) {
|
||
|
|
// return salaryArchiveItemMapper.salaryItemAdjustRecordList(queryParam, salaryItemIds, tenantKey);
|
||
|
|
// }
|
||
|
|
//
|
||
|
|
// @Override
|
||
|
|
// public void exportAdjustRecordList(Map<String, Object> map, String username, String eteamsId, SalaryItemAdjustRecordQueryParam queryParam, Long currentEmployeeId, String currentTenantKey) {
|
||
|
|
// List<ExcelSheetData> sheetList = new ArrayList<>();
|
||
|
|
//
|
||
|
|
// ExcelSheetData excelSheetData = new ExcelSheetData();
|
||
|
|
// // 1.工作簿名称
|
||
|
|
// String nameI18n = SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 100438, "薪资项目调整记录");
|
||
|
|
// excelSheetData.setSheetName(nameI18n);
|
||
|
|
// String[] header = {
|
||
|
|
// SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 85429, "姓名"),
|
||
|
|
// SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 86187, "员工状态"),
|
||
|
|
// SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 86185, "部门"),
|
||
|
|
// SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 84960, "薪资项目"),
|
||
|
|
// SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 85433, "调整前"),
|
||
|
|
// SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 85434, "调整后"),
|
||
|
|
// SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 85431, "调整原因"),
|
||
|
|
// SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 85904, "生效日期"),
|
||
|
|
// SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 85435, "操作人"),
|
||
|
|
// SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 85436, "操作时间"),
|
||
|
|
// SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 84961, "备注")
|
||
|
|
// };
|
||
|
|
// // 2.表头
|
||
|
|
// excelSheetData.setHeaders(Collections.singletonList(header));
|
||
|
|
// // 获取所有可被引用的薪资项目
|
||
|
|
// List<SalaryItemPO> salaryItemList = getCanAdjustSalaryItems(currentTenantKey);
|
||
|
|
// List<Long> salaryItemIds = salaryItemList.stream().map(SalaryItemPO::getId).collect(Collectors.toList());
|
||
|
|
// // 获取记录
|
||
|
|
// List<SalaryItemAdjustRecordListDTO> list = salaryArchiveItemMapper.salaryItemAdjustRecordList(queryParam, salaryItemIds, currentTenantKey);
|
||
|
|
// List<SalaryItemAdjustRecordListDTO> listAll = salaryArchiveItemMapper.salaryItemAdjustRecordList(SalaryItemAdjustRecordQueryParam.builder().build(), salaryItemIds, currentTenantKey);
|
||
|
|
// // 人员信息赋值
|
||
|
|
// list.forEach(m->{
|
||
|
|
// if (!org.springframework.util.CollectionUtils.isEmpty(listAll)) {
|
||
|
|
// listAll.removeIf(a-> a.getId().equals(m.getId()));
|
||
|
|
// }
|
||
|
|
// Optional<SalaryItemAdjustRecordListDTO> optional = listAll.stream().filter(f->f.getSalaryArchiveId().equals(m.getSalaryArchiveId()) && f.getSalaryItemId().equals(m.getSalaryItemId())).findFirst();
|
||
|
|
// m.setAdjustBefore(optional.isPresent()?optional.get().getAdjustAfter():"");
|
||
|
|
//
|
||
|
|
// m.setEmployeeStatus(SalaryUserStatusEnum.getDefaultLabelByValue(m.getEmployeeStatus(), currentEmployeeId, currentTenantKey));
|
||
|
|
// m.setAdjustReason(SalaryArchiveItemAdjustReasonEnum.getDefaultLabelByValue(m.getAdjustReason(), currentEmployeeId, currentTenantKey));
|
||
|
|
// });
|
||
|
|
// SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||
|
|
// List<List<Object>> rows = new ArrayList<>();
|
||
|
|
// for (SalaryItemAdjustRecordListDTO dto : list) {
|
||
|
|
// List<Object> row = new ArrayList<>();
|
||
|
|
// row.add(dto.getUsername());
|
||
|
|
// row.add(dto.getEmployeeStatus());
|
||
|
|
// row.add(dto.getDepartmentName());
|
||
|
|
// row.add(dto.getAdjustItem());
|
||
|
|
// row.add(dto.getAdjustBefore());
|
||
|
|
// row.add(dto.getAdjustAfter());
|
||
|
|
// row.add(dto.getAdjustReason());
|
||
|
|
// row.add(dto.getEffectiveTime()+"");
|
||
|
|
// row.add(dto.getOperator());
|
||
|
|
// row.add(format.format(dto.getOperateTime()));
|
||
|
|
// row.add(dto.getDescription());
|
||
|
|
// rows.add(row);
|
||
|
|
// }
|
||
|
|
// // 3.表数据
|
||
|
|
// excelSheetData.setRows(rows);
|
||
|
|
//
|
||
|
|
// sheetList.add(excelSheetData);
|
||
|
|
//
|
||
|
|
// salaryBatchService.simpleExportExcel(ExportExcelInfo.builder()
|
||
|
|
// .bizId(map.get("biz").toString())
|
||
|
|
// .flag(true)
|
||
|
|
// .userId(currentEmployeeId)
|
||
|
|
// .eteamsId(eteamsId)
|
||
|
|
// .tenantKey(currentTenantKey)
|
||
|
|
// .operator(username)
|
||
|
|
// .module(map.get("module").toString())
|
||
|
|
// .fileName(nameI18n + SalaryDateUtil.getFormatLocalDateTime(LocalDateTime.now()))
|
||
|
|
// .handlerName(map.get("function").toString())
|
||
|
|
// .dataType(nameI18n)
|
||
|
|
// .function(map.get("function").toString()).build(), sheetList);
|
||
|
|
// }
|
||
|
|
//
|
||
|
|
// @BatchExportHandler("exportSalaryArchiveItemAdjustRecord")
|
||
|
|
// public void exportSalaryArchiveItemAdjustRecordHandler() {
|
||
|
|
// BatchCallbackMessage message = BatchExportContext.getBatchCallbackMessage();
|
||
|
|
// log.info("接受到薪资项目操作记录导出的结果:{}", JSONObject.toJSONString(message));
|
||
|
|
// }
|
||
|
|
//}
|