weaver-hrm-salary/src/com/engine/salary/wrapper/VariableArchiveWrapper.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);
}
}