package com.engine.salary.wrapper; import com.cloudstore.eccom.pc.table.WeaTableColumn; import com.cloudstore.eccom.result.WeaResultMsg; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; import com.engine.salary.component.SalaryWeaTable; import com.engine.salary.entity.datacollection.bo.VariableArchiveBO; import com.engine.salary.entity.datacollection.dto.VariableArchiveListDTO; import com.engine.salary.entity.datacollection.dto.VariableItemListDTO; import com.engine.salary.entity.datacollection.param.VariableArchiveImportHandleParam; import com.engine.salary.entity.datacollection.param.VariableArchiveQueryParam; import com.engine.salary.entity.datacollection.param.VariableArchiveSaveParam; import com.engine.salary.entity.datacollection.po.VariableItemPO; import com.engine.salary.service.VariableArchiveService; import com.engine.salary.service.VariableItemService; import com.engine.salary.service.impl.VariableArchiveServiceImpl; import com.engine.salary.service.impl.VariableItemServiceImpl; import com.engine.salary.util.excel.ExcelPreviewDTO; import com.engine.salary.util.page.PageInfo; import lombok.extern.slf4j.Slf4j; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import weaver.hrm.User; import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @Description: 浮动薪酬 * @Author: xzy * @Date: 2024/8/6 17:39 */ @Slf4j public class VariableArchiveWrapper extends Service { private VariableArchiveService getVariableArchiveService(User user) { return ServiceUtil.getService(VariableArchiveServiceImpl.class, user); } private VariableItemService getVariableItemService(User user) { return ServiceUtil.getService(VariableItemServiceImpl.class, user); } /** * 数据采集-浮动薪酬列表(分页) * * @param queryParam * @return */ public Map list(VariableArchiveQueryParam queryParam) { //薪资档案列表 PageInfo pageInfo = getVariableArchiveService(user).listPage(queryParam); List salaryArchives = pageInfo.getList(); // 获取所有浮动薪酬项目 List variableItems = getVariableItemService(user).listAll(); //整合所有的显示列(固定列+薪资项目动态列) List> listMaps = getVariableArchiveService(user).buildVariableArchiveData(salaryArchives); PageInfo> pageInfos = new PageInfo>(listMaps); pageInfos.setTotal(pageInfo.getTotal()); pageInfos.setPageNum(pageInfo.getPageNum()); pageInfos.setPageSize(pageInfo.getPageSize()); //动态列组装 List columns = VariableArchiveBO.buildVariableArchiveTable(variableItems); SalaryWeaTable table = new SalaryWeaTable(user, VariableArchiveListDTO.class); table.setColumns(columns); WeaResultMsg result = new WeaResultMsg(false); result.putAll(table.makeDataResult()); result.success(); Map datas = new HashMap<>(); datas.put("pageInfo", pageInfos); datas.put("dataKey", result.getResultMap()); return datas; } /** * 创建浮动薪酬档案 * * @param saveParam */ public void createData(VariableArchiveSaveParam saveParam) { getVariableArchiveService(user).createData(saveParam); } /** * 浮动薪酬档案明细 * * @param queryParam * @return */ public Map getDetail(VariableArchiveQueryParam queryParam) { return getVariableArchiveService(user).getDetail(queryParam); } public List getCreateForm() { return getVariableArchiveService(user).getCreateForm(); } public XSSFWorkbook downloadTemplate(VariableArchiveQueryParam param) { return getVariableArchiveService(user).downloadTemplate(param); } public ExcelPreviewDTO preview(VariableArchiveImportHandleParam importParam) { return getVariableArchiveService(user).preview(importParam); } public Map importData(VariableArchiveImportHandleParam importParam) { return getVariableArchiveService(user).importData(importParam); } public XSSFWorkbook export(VariableArchiveQueryParam param) { return getVariableArchiveService(user).export(param); } public void deleteSelectVariableArchive(Collection deleteIds) { getVariableArchiveService(user).deleteSelectVariableArchive(deleteIds); } public void updateData(VariableArchiveSaveParam updateParam) { getVariableArchiveService(user).updateData(updateParam); } }