package com.engine.salary.wrapper;
import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveItemFormDTO;
import com.engine.salary.entity.salaryarchive.dto.SalaryItemAdjustRecordListDTO;
import com.engine.salary.entity.salaryarchive.dto.SingleSalaryItemAdjustRecordListDTO;
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveItemSaveParam;
import com.engine.salary.entity.salaryarchive.param.SalaryItemAdjustBeforeParam;
import com.engine.salary.entity.salaryarchive.param.SalaryItemAdjustRecordQueryParam;
import com.engine.salary.entity.salaryarchive.param.SingleSalaryItemAdjustRecordQueryParam;
import com.engine.salary.entity.salaryarchive.po.SalaryArchiveItemPO;
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
import com.engine.salary.enums.SalaryUserStatusEnum;
import com.engine.salary.enums.salaryarchive.SalaryArchiveItemAdjustReasonEnum;
import com.engine.salary.exception.SalaryRunTimeException;
import com.engine.salary.service.SalaryArchiveItemService;
import com.engine.salary.service.impl.SalaryArchiveItemServiceImpl;
import com.engine.salary.util.SalaryI18nUtil;
import com.engine.salary.util.page.PageInfo;
import com.google.common.collect.Lists;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.BeanUtils;
import weaver.hrm.User;
import java.util.*;
import java.util.stream.Collectors;
/**
* 薪资项目
*
Copyright: Copyright (c) 2022
* Company: 泛微软件
*
* @author qiantao
* @version 1.0
**/
public class SalaryArchiveItemWrapper extends Service {
private SalaryArchiveItemService getSalaryArchiveItemService(User user) {
return (SalaryArchiveItemService) ServiceUtil.getService(SalaryArchiveItemServiceImpl.class, user);
}
/**
* 构建薪资项目基础信息表单
*
* @param effectiveTime
* @param adjustReason
* @param description
* @return
*/
private Map buildSalaryArchiveItemForm(Date effectiveTime, String adjustReason, String description) {
// 控件数据
Map data = new HashMap<>();
data.put("effectiveTime", effectiveTime + "");
data.put("adjustReason", adjustReason);
data.put("description", description);
data.put("adjustReasonList", SalaryArchiveItemAdjustReasonEnum.getList());
return data;
}
/**
* 构建薪资档案调整明细
*
* @return
*/
private Map buildSalaryArchiveItemAdjustDetailTable(List