捕获社保模块导出异常
This commit is contained in:
parent
4bf60c0370
commit
e70a17cd19
|
|
@ -20,6 +20,7 @@ import com.engine.salary.util.SalaryI18nUtil;
|
|||
import com.engine.salary.util.page.PageInfo;
|
||||
import com.engine.salary.wrapper.SISchemeWrapper;
|
||||
import io.swagger.v3.oas.annotations.parameters.RequestBody;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
|
@ -48,15 +49,16 @@ import java.util.stream.Collectors;
|
|||
* @Date 2022/3/7
|
||||
* @Version V1.0
|
||||
**/
|
||||
@Slf4j
|
||||
public class SISchemeController {
|
||||
|
||||
private SISchemeService getService(User user) {
|
||||
return ServiceUtil.getService(SISchemeServiceImpl.class,user);
|
||||
return ServiceUtil.getService(SISchemeServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SISchemeWrapper getSISchemeWrapper(User user) {
|
||||
|
||||
return ServiceUtil.getService(SISchemeWrapper.class,user);
|
||||
return ServiceUtil.getService(SISchemeWrapper.class, user);
|
||||
}
|
||||
|
||||
private SIAccountService getSIAccountService(User user) {
|
||||
|
|
@ -65,6 +67,7 @@ public class SISchemeController {
|
|||
|
||||
/**
|
||||
* 查询福利方案表单
|
||||
*
|
||||
* @param request
|
||||
* @param response
|
||||
* @return
|
||||
|
|
@ -77,13 +80,14 @@ public class SISchemeController {
|
|||
User user = HrmUserVarify.getUser(request, response);
|
||||
Map<String, Object> map = ParamUtil.request2Map(request);
|
||||
//InsuranceSchemeDTO insuranceSchemeDTO = InsuranceSchemeDTO.builder().welfareType(welfareTypeEnum).build();
|
||||
map.put("welfareTypeEnum",welfareTypeEnum);
|
||||
return new ResponseResult< Map<String, Object>, Map<String, Object>>(user).run(getService(user)::getForm,map);
|
||||
map.put("welfareTypeEnum", welfareTypeEnum);
|
||||
return new ResponseResult<Map<String, Object>, Map<String, Object>>(user).run(getService(user)::getForm, map);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 查询福利方案列表
|
||||
*
|
||||
* @param request
|
||||
* @param response
|
||||
* @return
|
||||
|
|
@ -99,6 +103,7 @@ public class SISchemeController {
|
|||
|
||||
/**
|
||||
* 新增
|
||||
*
|
||||
* @param request
|
||||
* @param response
|
||||
* @return
|
||||
|
|
@ -109,12 +114,13 @@ public class SISchemeController {
|
|||
public String insertScheme(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody InsuranceSchemeReqParam insuranceSchemeReqParam) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
Map<String, Object> map = ParamUtil.request2Map(request);
|
||||
map.put("insuranceSchemeReqParam",insuranceSchemeReqParam);
|
||||
return new ResponseResult< Map<String, Object>, Map<String, Object>>(user).run(getService(user)::insertScheme,map);
|
||||
map.put("insuranceSchemeReqParam", insuranceSchemeReqParam);
|
||||
return new ResponseResult<Map<String, Object>, Map<String, Object>>(user).run(getService(user)::insertScheme, map);
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑方案主表和明细表数据
|
||||
*
|
||||
* @param request
|
||||
* @param response
|
||||
* @param insuranceSchemeReqParam
|
||||
|
|
@ -123,15 +129,16 @@ public class SISchemeController {
|
|||
@POST
|
||||
@Path("/update")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String update(@Context HttpServletRequest request, @Context HttpServletResponse response,@RequestBody InsuranceSchemeReqParam insuranceSchemeReqParam) {
|
||||
public String update(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody InsuranceSchemeReqParam insuranceSchemeReqParam) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
Map<String, Object> map = ParamUtil.request2Map(request);
|
||||
map.put("insuranceSchemeReqParam",insuranceSchemeReqParam);
|
||||
return new ResponseResult< Map<String, Object>, Map<String, Object>>(user).run(getService(user)::update,map);
|
||||
map.put("insuranceSchemeReqParam", insuranceSchemeReqParam);
|
||||
return new ResponseResult<Map<String, Object>, Map<String, Object>>(user).run(getService(user)::update, map);
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑方案明细表数据
|
||||
*
|
||||
* @param request
|
||||
* @param response
|
||||
* @param schemeDetailList
|
||||
|
|
@ -140,13 +147,14 @@ public class SISchemeController {
|
|||
@POST
|
||||
@Path("/updateSchemeDetail")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String updateSchemeDetail(@Context HttpServletRequest request, @Context HttpServletResponse response,@RequestBody List<InsuranceSchemeDetailUpdateParam> schemeDetailList) {
|
||||
public String updateSchemeDetail(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody List<InsuranceSchemeDetailUpdateParam> schemeDetailList) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult< List<InsuranceSchemeDetailUpdateParam> , List<String>>(user).run(getService(user)::updateSchemeDetail,schemeDetailList);
|
||||
return new ResponseResult<List<InsuranceSchemeDetailUpdateParam>, List<String>>(user).run(getService(user)::updateSchemeDetail, schemeDetailList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除(接口中暂无)
|
||||
*
|
||||
* @param request
|
||||
* @param response
|
||||
* @param insuranceSchemeReqParam
|
||||
|
|
@ -158,13 +166,14 @@ public class SISchemeController {
|
|||
public String deleteTaxRate(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody InsuranceSchemeReqParam insuranceSchemeReqParam) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
Map<String, Object> map = ParamUtil.request2Map(request);
|
||||
map.put("ids",insuranceSchemeReqParam.getIds());
|
||||
map.put("ids", insuranceSchemeReqParam.getIds());
|
||||
map.put("welfareTypeId", insuranceSchemeReqParam.getWelfareTypeEnum().getValue());
|
||||
return new ResponseResult< Map<String, Object>, Map<String, Object>>(user).run(getService(user)::delete,map);
|
||||
return new ResponseResult<Map<String, Object>, Map<String, Object>>(user).run(getService(user)::delete, map);
|
||||
}
|
||||
|
||||
/**
|
||||
* 复制福利方案表单
|
||||
*
|
||||
* @param request
|
||||
* @param response
|
||||
* @return
|
||||
|
|
@ -176,55 +185,61 @@ public class SISchemeController {
|
|||
@QueryParam("id") Long id, @QueryParam("schemeName") String schemeName) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
Map<String, Object> map = ParamUtil.request2Map(request);
|
||||
map.put("id",id);
|
||||
map.put("schemeName",schemeName);
|
||||
return new ResponseResult< Map<String, Object>, Map<String, Object>>(user).run(getService(user)::copyScheme,map);
|
||||
map.put("id", id);
|
||||
map.put("schemeName", schemeName);
|
||||
return new ResponseResult<Map<String, Object>, Map<String, Object>>(user).run(getService(user)::copyScheme, map);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 导出档案
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@GET
|
||||
@Path("/export")
|
||||
@Produces(MediaType.APPLICATION_OCTET_STREAM)
|
||||
public Response export(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
||||
InsuranceArchivesListParam param = buildInsuranceArchivesListParam(request);
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
XSSFWorkbook workbook = getService(user).export(param);
|
||||
String fileName ;
|
||||
//表头
|
||||
if (param.getRunStatuses().size() > 0) {
|
||||
if (param.getRunStatuses().contains(EmployeeStatusEnum.STAY_ADD.getValue()) && param.getRunStatuses().size() == 1) {
|
||||
fileName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导出" + "-" + EmployeeStatusEnum.STAY_ADD.getDefaultLabel());
|
||||
} else if (param.getRunStatuses().contains(EmployeeStatusEnum.PAYING.getValue()) && param.getRunStatuses().contains(EmployeeStatusEnum.STAY_DEL.getValue()) && param.getRunStatuses().size() == 2) {
|
||||
fileName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导出" + "-" + "在缴员工");
|
||||
} else if (param.getRunStatuses().contains(EmployeeStatusEnum.STAY_DEL.getValue()) && param.getRunStatuses().size() == 1) {
|
||||
fileName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导出" + "-" + EmployeeStatusEnum.STAY_DEL.getDefaultLabel());
|
||||
} else if (param.getRunStatuses().contains(EmployeeStatusEnum.STOP_PAYMENT_FROM_ADD.getValue()) && param.getRunStatuses().contains(EmployeeStatusEnum.STOP_PAYMENT_FROM_DEL.getValue()) && param.getRunStatuses().size() == 2) {
|
||||
fileName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导出" + "-" + "停缴员工");
|
||||
try {
|
||||
InsuranceArchivesListParam param = buildInsuranceArchivesListParam(request);
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
XSSFWorkbook workbook = getService(user).export(param);
|
||||
String fileName;
|
||||
//表头
|
||||
if (param.getRunStatuses().size() > 0) {
|
||||
if (param.getRunStatuses().contains(EmployeeStatusEnum.STAY_ADD.getValue()) && param.getRunStatuses().size() == 1) {
|
||||
fileName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导出" + "-" + EmployeeStatusEnum.STAY_ADD.getDefaultLabel());
|
||||
} else if (param.getRunStatuses().contains(EmployeeStatusEnum.PAYING.getValue()) && param.getRunStatuses().contains(EmployeeStatusEnum.STAY_DEL.getValue()) && param.getRunStatuses().size() == 2) {
|
||||
fileName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导出" + "-" + "在缴员工");
|
||||
} else if (param.getRunStatuses().contains(EmployeeStatusEnum.STAY_DEL.getValue()) && param.getRunStatuses().size() == 1) {
|
||||
fileName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导出" + "-" + EmployeeStatusEnum.STAY_DEL.getDefaultLabel());
|
||||
} else if (param.getRunStatuses().contains(EmployeeStatusEnum.STOP_PAYMENT_FROM_ADD.getValue()) && param.getRunStatuses().contains(EmployeeStatusEnum.STOP_PAYMENT_FROM_DEL.getValue()) && param.getRunStatuses().size() == 2) {
|
||||
fileName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导出" + "-" + "停缴员工");
|
||||
} else {
|
||||
fileName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导出");
|
||||
}
|
||||
} else {
|
||||
fileName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导出");
|
||||
}
|
||||
} else {
|
||||
fileName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导出");
|
||||
}
|
||||
|
||||
fileName = fileName + LocalDate.now();
|
||||
try {
|
||||
fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8");
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
fileName = fileName + LocalDate.now();
|
||||
try {
|
||||
fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8");
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
StreamingOutput output = outputStream -> {
|
||||
workbook.write(outputStream);
|
||||
outputStream.flush();
|
||||
};
|
||||
return Response.ok(output)
|
||||
.header("Content-disposition", "attachment;filename=" + fileName)
|
||||
.header("Cache-Control", "no-cache").build();
|
||||
StreamingOutput output = outputStream -> {
|
||||
workbook.write(outputStream);
|
||||
outputStream.flush();
|
||||
};
|
||||
return Response.ok(output)
|
||||
.header("Content-disposition", "attachment;filename=" + fileName)
|
||||
.header("Cache-Control", "no-cache").build();
|
||||
} catch (Exception e) {
|
||||
log.error("社保福利档案导出异常", e);
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -248,58 +263,63 @@ public class SISchemeController {
|
|||
|
||||
/**
|
||||
* 导出档案和档案模板
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@GET
|
||||
@Path("/template/export")
|
||||
@Produces(MediaType.APPLICATION_OCTET_STREAM)
|
||||
public Response exportTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
||||
try {
|
||||
InsuranceArchivesListParam param = buildInsuranceArchivesListParam(request);
|
||||
|
||||
InsuranceArchivesListParam param = buildInsuranceArchivesListParam(request);
|
||||
|
||||
param.setExportData(Boolean.valueOf(request.getParameter("exportData")));
|
||||
param.setExtWelArchiveList(Boolean.valueOf(request.getParameter("extWelArchiveList")));
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
if (param.getInspectAll() != null && param.getInspectAll()) {
|
||||
List<InsuranceAccountInspectPO> insuranceAccountInspectPOS = getSIAccountService(user).allInspects(param.getIds(), param.getBillMonth());
|
||||
param.setEmployeeIds(insuranceAccountInspectPOS.stream().map(InsuranceAccountInspectPO::getEmployeeId).distinct().collect(Collectors.toList()));
|
||||
}
|
||||
XSSFWorkbook workbook = getService(user).exportTemplate(param);
|
||||
String fileName;
|
||||
//表头
|
||||
if (param.isExtWelArchiveList()) {
|
||||
fileName = SalaryI18nUtil.getI18nLabel(0, "社保福利档案导入模板") + "-" + SalaryI18nUtil.getI18nLabel(542679, "非系统人员");
|
||||
} else if (param.getRunStatuses().size() > 0) {
|
||||
if (param.getRunStatuses().contains(EmployeeStatusEnum.STAY_ADD.getValue()) && param.getRunStatuses().size() == 1) {
|
||||
fileName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导入模板" + "-" + EmployeeStatusEnum.STAY_ADD.getDefaultLabel());
|
||||
} else if (param.getRunStatuses().contains(EmployeeStatusEnum.PAYING.getValue()) && param.getRunStatuses().contains(EmployeeStatusEnum.STAY_DEL.getValue()) && param.getRunStatuses().size() == 2) {
|
||||
fileName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导入模板" + "-" + "在缴员工");
|
||||
} else if (param.getRunStatuses().contains(EmployeeStatusEnum.STAY_DEL.getValue()) && param.getRunStatuses().size() == 1) {
|
||||
fileName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导入模板" + "-" + EmployeeStatusEnum.STAY_DEL.getDefaultLabel());
|
||||
} else if (param.getRunStatuses().contains(EmployeeStatusEnum.STOP_PAYMENT_FROM_ADD.getValue()) && param.getRunStatuses().contains(EmployeeStatusEnum.STOP_PAYMENT_FROM_DEL.getValue()) && param.getRunStatuses().size() == 2) {
|
||||
fileName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导入模板" + "-" + "停缴员工");
|
||||
param.setExportData(Boolean.valueOf(request.getParameter("exportData")));
|
||||
param.setExtWelArchiveList(Boolean.valueOf(request.getParameter("extWelArchiveList")));
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
if (param.getInspectAll() != null && param.getInspectAll()) {
|
||||
List<InsuranceAccountInspectPO> insuranceAccountInspectPOS = getSIAccountService(user).allInspects(param.getIds(), param.getBillMonth());
|
||||
param.setEmployeeIds(insuranceAccountInspectPOS.stream().map(InsuranceAccountInspectPO::getEmployeeId).distinct().collect(Collectors.toList()));
|
||||
}
|
||||
XSSFWorkbook workbook = getService(user).exportTemplate(param);
|
||||
String fileName;
|
||||
//表头
|
||||
if (param.isExtWelArchiveList()) {
|
||||
fileName = SalaryI18nUtil.getI18nLabel(0, "社保福利档案导入模板") + "-" + SalaryI18nUtil.getI18nLabel(542679, "非系统人员");
|
||||
} else if (param.getRunStatuses().size() > 0) {
|
||||
if (param.getRunStatuses().contains(EmployeeStatusEnum.STAY_ADD.getValue()) && param.getRunStatuses().size() == 1) {
|
||||
fileName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导入模板" + "-" + EmployeeStatusEnum.STAY_ADD.getDefaultLabel());
|
||||
} else if (param.getRunStatuses().contains(EmployeeStatusEnum.PAYING.getValue()) && param.getRunStatuses().contains(EmployeeStatusEnum.STAY_DEL.getValue()) && param.getRunStatuses().size() == 2) {
|
||||
fileName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导入模板" + "-" + "在缴员工");
|
||||
} else if (param.getRunStatuses().contains(EmployeeStatusEnum.STAY_DEL.getValue()) && param.getRunStatuses().size() == 1) {
|
||||
fileName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导入模板" + "-" + EmployeeStatusEnum.STAY_DEL.getDefaultLabel());
|
||||
} else if (param.getRunStatuses().contains(EmployeeStatusEnum.STOP_PAYMENT_FROM_ADD.getValue()) && param.getRunStatuses().contains(EmployeeStatusEnum.STOP_PAYMENT_FROM_DEL.getValue()) && param.getRunStatuses().size() == 2) {
|
||||
fileName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导入模板" + "-" + "停缴员工");
|
||||
} else {
|
||||
fileName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导入模板");
|
||||
}
|
||||
} else {
|
||||
fileName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导入模板");
|
||||
}
|
||||
} else {
|
||||
fileName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导入模板");
|
||||
|
||||
|
||||
fileName = fileName + LocalDate.now();
|
||||
try {
|
||||
fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8");
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
StreamingOutput output = outputStream -> {
|
||||
workbook.write(outputStream);
|
||||
outputStream.flush();
|
||||
};
|
||||
return Response.ok(output)
|
||||
.header("Content-disposition", "attachment;filename=" + fileName)
|
||||
.header("Cache-Control", "no-cache").build();
|
||||
} catch (Exception e) {
|
||||
log.error("社保福利档案模板导出异常", e);
|
||||
throw e;
|
||||
}
|
||||
|
||||
|
||||
fileName = fileName + LocalDate.now();
|
||||
try {
|
||||
fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8");
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
StreamingOutput output = outputStream -> {
|
||||
workbook.write(outputStream);
|
||||
outputStream.flush();
|
||||
};
|
||||
return Response.ok(output)
|
||||
.header("Content-disposition", "attachment;filename=" + fileName)
|
||||
.header("Cache-Control", "no-cache").build();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
|
@ -307,13 +327,13 @@ public class SISchemeController {
|
|||
InsuranceArchivesListParam param = new InsuranceArchivesListParam();
|
||||
|
||||
String ids = request.getParameter("ids");
|
||||
if(StringUtils.isNotBlank(ids)){
|
||||
param.setIds( Arrays.stream(ids.split(",")).map(Long::valueOf).collect(Collectors.toList()));
|
||||
if (StringUtils.isNotBlank(ids)) {
|
||||
param.setIds(Arrays.stream(ids.split(",")).map(Long::valueOf).collect(Collectors.toList()));
|
||||
}
|
||||
|
||||
String runStatuses = request.getParameter("runStatuses");
|
||||
if(StringUtils.isNotBlank(runStatuses)){
|
||||
param.setRunStatuses( Arrays.stream(runStatuses.split(",")).map(String::valueOf).collect(Collectors.toList()));
|
||||
if (StringUtils.isNotBlank(runStatuses)) {
|
||||
param.setRunStatuses(Arrays.stream(runStatuses.split(",")).map(String::valueOf).collect(Collectors.toList()));
|
||||
}
|
||||
|
||||
String statusesStr = request.getParameter("statusesStr");
|
||||
|
|
@ -360,5 +380,4 @@ public class SISchemeController {
|
|||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue