131 lines
4.8 KiB
Java
131 lines
4.8 KiB
Java
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<String, Object> list(VariableArchiveQueryParam queryParam) {
|
|
|
|
//薪资档案列表
|
|
PageInfo<VariableArchiveListDTO> pageInfo = getVariableArchiveService(user).listPage(queryParam);
|
|
List<VariableArchiveListDTO> salaryArchives = pageInfo.getList();
|
|
|
|
// 获取所有浮动薪酬项目
|
|
List<VariableItemPO> variableItems = getVariableItemService(user).listAll();
|
|
|
|
//整合所有的显示列(固定列+薪资项目动态列)
|
|
List<Map<String, Object>> listMaps = getVariableArchiveService(user).buildVariableArchiveData(salaryArchives);
|
|
|
|
PageInfo<Map<String, Object>> pageInfos = new PageInfo<Map<String, Object>>(listMaps);
|
|
pageInfos.setTotal(pageInfo.getTotal());
|
|
pageInfos.setPageNum(pageInfo.getPageNum());
|
|
pageInfos.setPageSize(pageInfo.getPageSize());
|
|
|
|
//动态列组装
|
|
List<WeaTableColumn> columns = VariableArchiveBO.buildVariableArchiveTable(variableItems);
|
|
|
|
SalaryWeaTable<VariableArchiveListDTO> table = new SalaryWeaTable<VariableArchiveListDTO>(user, VariableArchiveListDTO.class);
|
|
table.setColumns(columns);
|
|
WeaResultMsg result = new WeaResultMsg(false);
|
|
result.putAll(table.makeDataResult());
|
|
result.success();
|
|
|
|
Map<String, Object> 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<String, Object> getDetail(VariableArchiveQueryParam queryParam) {
|
|
return getVariableArchiveService(user).getDetail(queryParam);
|
|
}
|
|
|
|
public List<VariableItemListDTO> 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<String, Object> importData(VariableArchiveImportHandleParam importParam) {
|
|
return getVariableArchiveService(user).importData(importParam);
|
|
}
|
|
|
|
public XSSFWorkbook export(VariableArchiveQueryParam param) {
|
|
return getVariableArchiveService(user).export(param);
|
|
}
|
|
|
|
public void deleteSelectVariableArchive(Collection<Long> deleteIds) {
|
|
getVariableArchiveService(user).deleteSelectVariableArchive(deleteIds);
|
|
}
|
|
|
|
public void updateData(VariableArchiveSaveParam updateParam) {
|
|
getVariableArchiveService(user).updateData(updateParam);
|
|
}
|
|
}
|