薪酬系统-非系统人员管理,非系统人员导入模板
This commit is contained in:
parent
ee9697a4ad
commit
80f4f7d43b
|
|
@ -0,0 +1,22 @@
|
|||
package com.engine.salary.entity.extemp.param;
|
||||
|
||||
import com.engine.salary.util.valid.DataCheck;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @Author: sy
|
||||
* @Description: 非系统人员导入参数
|
||||
* @Date: 2023/7/26
|
||||
**/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ExtEmpImportParam {
|
||||
//上传文件id
|
||||
@DataCheck(require = true,message = "imageId为空")
|
||||
String imageId;
|
||||
}
|
||||
|
|
@ -1,14 +1,17 @@
|
|||
package com.engine.salary.service;
|
||||
|
||||
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
|
||||
import com.engine.salary.entity.extemp.param.ExtEmpImportParam;
|
||||
import com.engine.salary.entity.extemp.param.ExtEmpQueryParam;
|
||||
import com.engine.salary.entity.extemp.param.ExtEmpSaveParam;
|
||||
import com.engine.salary.entity.extemp.po.ExtEmpPO;
|
||||
import com.engine.salary.entity.salarysob.param.SalarySobRangeEmpQueryParam;
|
||||
import com.engine.salary.util.page.PageInfo;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface ExtEmpService {
|
||||
|
||||
|
|
@ -45,4 +48,10 @@ public interface ExtEmpService {
|
|||
Collection<DataCollectionEmployee> listAllForReport();
|
||||
|
||||
ExtEmpPO getById(Long id);
|
||||
|
||||
XSSFWorkbook exportImportTemplate();
|
||||
|
||||
Map<String, Object> previewImportExtEmp(ExtEmpImportParam param);
|
||||
|
||||
Map<String, Object> importExtEmp(ExtEmpImportParam param);
|
||||
}
|
||||
|
|
@ -3,6 +3,7 @@ package com.engine.salary.service.impl;
|
|||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
|
||||
import com.engine.salary.entity.extemp.param.ExtEmpImportParam;
|
||||
import com.engine.salary.entity.extemp.param.ExtEmpQueryParam;
|
||||
import com.engine.salary.entity.extemp.param.ExtEmpSaveParam;
|
||||
import com.engine.salary.entity.extemp.po.ExtEmpPO;
|
||||
|
|
@ -13,13 +14,17 @@ import com.engine.salary.exception.SalaryRunTimeException;
|
|||
import com.engine.salary.mapper.extemp.ExternalEmployeeMapper;
|
||||
import com.engine.salary.service.ExtEmpService;
|
||||
import com.engine.salary.service.SalaryEmployeeService;
|
||||
import com.engine.salary.util.SalaryI18nUtil;
|
||||
import com.engine.salary.util.db.MapperProxyFactory;
|
||||
import com.engine.salary.util.excel.ExcelComment;
|
||||
import com.engine.salary.util.excel.ExcelUtilPlus;
|
||||
import com.engine.salary.util.page.PageInfo;
|
||||
import com.engine.salary.util.page.SalaryPageUtil;
|
||||
import com.google.common.collect.Lists;
|
||||
import dm.jdbc.util.IdGenerator;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import weaver.hrm.User;
|
||||
|
||||
|
|
@ -203,4 +208,43 @@ public class ExtEmpServiceImpl extends Service implements ExtEmpService {
|
|||
return employee;
|
||||
}).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@Override
|
||||
public XSSFWorkbook exportImportTemplate() {
|
||||
|
||||
// 模板表头
|
||||
List<Object> headerList = Lists.newArrayList(
|
||||
SalaryI18nUtil.getI18nLabel(25034, "姓名"),
|
||||
SalaryI18nUtil.getI18nLabel(27511, "部门"),
|
||||
SalaryI18nUtil.getI18nLabel(33553, "分部"),
|
||||
SalaryI18nUtil.getI18nLabel(1516, "入职日期"),
|
||||
SalaryI18nUtil.getI18nLabel(125238, "手机号"),
|
||||
SalaryI18nUtil.getI18nLabel(1933, "工号"),
|
||||
SalaryI18nUtil.getI18nLabel(1887, "身份证号码"),
|
||||
SalaryI18nUtil.getI18nLabel(0, "本人开户的银行卡卡号"),
|
||||
SalaryI18nUtil.getI18nLabel(0, "本人开户的银行卡开户支行全称"));
|
||||
List<String> dataIndexList = Lists.newArrayList("username", "departmentName", "subcompanyName", "companystartdate", "mobile", "workcode", "idNo", "bankCardNum", "bankName");
|
||||
|
||||
// excel导出的数据
|
||||
List<List<Object>> rows = new ArrayList<>();
|
||||
rows.add(headerList);
|
||||
|
||||
// 注释
|
||||
List<ExcelComment> excelComments = Lists.newArrayList();
|
||||
excelComments.add(new ExcelComment(0, 0, 1, 2, SalaryI18nUtil.getI18nLabel(30036, "必填")));
|
||||
excelComments.add(new ExcelComment(3, 0, 4, 2, SalaryI18nUtil.getI18nLabel(542348, "格式样例为'2022-01-01'、'2022/1/1'")));
|
||||
|
||||
String sheetName = "非系统人员导入模板";
|
||||
return ExcelUtilPlus.genWorkbookV2(rows, sheetName, excelComments);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> previewImportExtEmp(ExtEmpImportParam param) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> importExtEmp(ExtEmpImportParam param) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,13 +1,17 @@
|
|||
package com.engine.salary.web;
|
||||
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.salary.entity.extemp.param.ExtEmpImportParam;
|
||||
import com.engine.salary.entity.extemp.param.ExtEmpQueryParam;
|
||||
import com.engine.salary.entity.extemp.param.ExtEmpSaveParam;
|
||||
import com.engine.salary.entity.extemp.po.ExtEmpPO;
|
||||
import com.engine.salary.util.ResponseResult;
|
||||
import com.engine.salary.util.SalaryI18nUtil;
|
||||
import com.engine.salary.util.page.PageInfo;
|
||||
import com.engine.salary.wrapper.ExtEmpWrapper;
|
||||
import io.swagger.v3.oas.annotations.parameters.RequestBody;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
import weaver.hrm.HrmUserVarify;
|
||||
import weaver.hrm.User;
|
||||
|
||||
|
|
@ -16,7 +20,13 @@ import javax.servlet.http.HttpServletResponse;
|
|||
import javax.ws.rs.*;
|
||||
import javax.ws.rs.core.Context;
|
||||
import javax.ws.rs.core.MediaType;
|
||||
import javax.ws.rs.core.Response;
|
||||
import javax.ws.rs.core.StreamingOutput;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.URLEncoder;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 外部人员
|
||||
|
|
@ -26,6 +36,7 @@ import java.util.Collection;
|
|||
* @author qiantao
|
||||
* @version 1.0
|
||||
**/
|
||||
@Slf4j
|
||||
public class ExtEmpController {
|
||||
|
||||
private ExtEmpWrapper getExtEmpWrapper(User user) {
|
||||
|
|
@ -72,6 +83,50 @@ public class ExtEmpController {
|
|||
return new ResponseResult<Long, ExtEmpPO>(user).run(getExtEmpWrapper(user)::detail, id);
|
||||
}
|
||||
|
||||
// **********************************非系统人员导入 start*********************************/
|
||||
//导出导入模板
|
||||
@GET
|
||||
@Path("/importtemplate/export")
|
||||
@Produces(MediaType.APPLICATION_OCTET_STREAM)
|
||||
public Response exportImportTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
||||
try {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
XSSFWorkbook workbook = getExtEmpWrapper(user).exportImportTemplate();
|
||||
String time = LocalDate.now().toString();
|
||||
String fileName = SalaryI18nUtil.getI18nLabel(0, "非系统人员导入模板") + time;
|
||||
try {
|
||||
fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8").replaceAll("\\+", "%20");
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
StreamingOutput output = outputStream -> {
|
||||
workbook.write(outputStream);
|
||||
outputStream.flush();
|
||||
};
|
||||
response.setContentType("application/octet-stream");
|
||||
return Response.ok(output).header("Content-disposition", "attachment;filename=" + fileName).header("Cache-Control", "no-cache").build();
|
||||
} catch (Exception e) {
|
||||
log.error("非系统人员导入模板导出异常", e);
|
||||
throw e;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//导入非系统人员
|
||||
@POST
|
||||
@Path("/importExtEmp")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String importExtEmp(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody ExtEmpImportParam param) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<ExtEmpImportParam, Map<String, Object>>(user).run(getExtEmpWrapper(user)::importExtEmp, param);
|
||||
}
|
||||
|
||||
@POST
|
||||
@Path("/preview")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String previewImportExtEmp(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody ExtEmpImportParam param) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<ExtEmpImportParam, Map<String, Object>>(user).run(getExtEmpWrapper(user)::previewImportExtEmp, param);
|
||||
}
|
||||
// **********************************非系统人员导入 end*********************************/
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,15 +2,18 @@ package com.engine.salary.wrapper;
|
|||
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.salary.entity.extemp.param.ExtEmpImportParam;
|
||||
import com.engine.salary.entity.extemp.param.ExtEmpQueryParam;
|
||||
import com.engine.salary.entity.extemp.param.ExtEmpSaveParam;
|
||||
import com.engine.salary.entity.extemp.po.ExtEmpPO;
|
||||
import com.engine.salary.service.ExtEmpService;
|
||||
import com.engine.salary.service.impl.ExtEmpServiceImpl;
|
||||
import com.engine.salary.util.page.PageInfo;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
import weaver.hrm.User;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 累计专项
|
||||
|
|
@ -46,4 +49,17 @@ public class ExtEmpWrapper extends Service {
|
|||
public ExtEmpPO detail(Long id) {
|
||||
return getExtEmpService(user).getById(id);
|
||||
}
|
||||
|
||||
public XSSFWorkbook exportImportTemplate() {
|
||||
return getExtEmpService(user).exportImportTemplate();
|
||||
}
|
||||
|
||||
public Map<String, Object> previewImportExtEmp(ExtEmpImportParam param) {
|
||||
return getExtEmpService(user).previewImportExtEmp(param);
|
||||
}
|
||||
|
||||
public Map<String, Object> importExtEmp(ExtEmpImportParam param) {
|
||||
return getExtEmpService(user).importExtEmp(param);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue