2022-03-07 22:22:09 +08:00
|
|
|
package com.engine.salary.web;
|
|
|
|
|
|
|
|
|
|
import com.engine.common.util.ParamUtil;
|
|
|
|
|
import com.engine.common.util.ServiceUtil;
|
2022-05-09 11:18:54 +08:00
|
|
|
import com.engine.salary.entity.siaccount.po.InsuranceAccountInspectPO;
|
2022-05-06 16:58:01 +08:00
|
|
|
import com.engine.salary.entity.siarchives.param.InsuranceArchivesListParam;
|
2023-09-08 16:57:09 +08:00
|
|
|
import com.engine.salary.entity.siarchives.param.SIArchiveImportParam;
|
2022-04-22 15:17:31 +08:00
|
|
|
import com.engine.salary.entity.sischeme.dto.InsuranceSchemeListDTO;
|
2023-08-21 14:58:01 +08:00
|
|
|
import com.engine.salary.entity.sischeme.param.InsuranceSchemeDetailUpdateParam;
|
2022-04-22 15:17:31 +08:00
|
|
|
import com.engine.salary.entity.sischeme.param.InsuranceSchemeParam;
|
2022-03-09 09:42:10 +08:00
|
|
|
import com.engine.salary.entity.sischeme.param.InsuranceSchemeReqParam;
|
2023-01-09 17:30:49 +08:00
|
|
|
import com.engine.salary.enums.siaccount.EmployeeStatusEnum;
|
2022-03-11 14:28:39 +08:00
|
|
|
import com.engine.salary.enums.sicategory.WelfareTypeEnum;
|
2022-05-09 11:18:54 +08:00
|
|
|
import com.engine.salary.service.SIAccountService;
|
2022-03-07 22:22:09 +08:00
|
|
|
import com.engine.salary.service.SISchemeService;
|
2022-05-09 11:18:54 +08:00
|
|
|
import com.engine.salary.service.impl.SIAccountServiceImpl;
|
2022-03-07 22:22:09 +08:00
|
|
|
import com.engine.salary.service.impl.SISchemeServiceImpl;
|
|
|
|
|
import com.engine.salary.util.ResponseResult;
|
2023-01-09 17:30:49 +08:00
|
|
|
import com.engine.salary.util.SalaryI18nUtil;
|
2022-04-22 15:17:31 +08:00
|
|
|
import com.engine.salary.util.page.PageInfo;
|
|
|
|
|
import com.engine.salary.wrapper.SISchemeWrapper;
|
2022-03-09 09:42:10 +08:00
|
|
|
import io.swagger.v3.oas.annotations.parameters.RequestBody;
|
2022-05-06 16:58:01 +08:00
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
2023-07-10 17:20:04 +08:00
|
|
|
import org.jetbrains.annotations.NotNull;
|
2022-03-07 22:22:09 +08:00
|
|
|
import weaver.hrm.HrmUserVarify;
|
|
|
|
|
import weaver.hrm.User;
|
|
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
2022-03-09 09:42:10 +08:00
|
|
|
import javax.ws.rs.*;
|
2022-03-07 22:22:09 +08:00
|
|
|
import javax.ws.rs.core.Context;
|
|
|
|
|
import javax.ws.rs.core.MediaType;
|
2022-05-06 16:58:01 +08:00
|
|
|
import javax.ws.rs.core.Response;
|
|
|
|
|
import javax.ws.rs.core.StreamingOutput;
|
|
|
|
|
import java.io.UnsupportedEncodingException;
|
2023-07-10 17:20:04 +08:00
|
|
|
import java.math.BigDecimal;
|
2022-05-06 16:58:01 +08:00
|
|
|
import java.net.URLEncoder;
|
2023-01-30 09:31:31 +08:00
|
|
|
import java.time.LocalDate;
|
2022-08-18 12:26:53 +08:00
|
|
|
import java.util.Arrays;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
2022-05-06 16:58:01 +08:00
|
|
|
import java.util.stream.Collectors;
|
2022-03-07 22:22:09 +08:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @Author weaver_cl
|
2022-07-13 11:45:16 +08:00
|
|
|
* @Description: 社保方案控制器
|
2022-03-07 22:22:09 +08:00
|
|
|
* @Date 2022/3/7
|
|
|
|
|
* @Version V1.0
|
|
|
|
|
**/
|
|
|
|
|
public class SISchemeController {
|
|
|
|
|
|
|
|
|
|
private SISchemeService getService(User user) {
|
|
|
|
|
return ServiceUtil.getService(SISchemeServiceImpl.class,user);
|
|
|
|
|
}
|
|
|
|
|
|
2022-04-22 15:17:31 +08:00
|
|
|
private SISchemeWrapper getSISchemeWrapper(User user) {
|
|
|
|
|
|
|
|
|
|
return ServiceUtil.getService(SISchemeWrapper.class,user);
|
|
|
|
|
}
|
2022-03-07 22:22:09 +08:00
|
|
|
|
2022-05-09 11:18:54 +08:00
|
|
|
private SIAccountService getSIAccountService(User user) {
|
|
|
|
|
return ServiceUtil.getService(SIAccountServiceImpl.class, user);
|
|
|
|
|
}
|
|
|
|
|
|
2022-03-07 22:22:09 +08:00
|
|
|
/**
|
|
|
|
|
* 查询福利方案表单
|
|
|
|
|
* @param request
|
|
|
|
|
* @param response
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@GET
|
|
|
|
|
@Path("/getForm")
|
|
|
|
|
@Produces(MediaType.APPLICATION_JSON)
|
2022-03-15 09:34:53 +08:00
|
|
|
public String getForm(@Context HttpServletRequest request, @Context HttpServletResponse response,
|
|
|
|
|
@DefaultValue("SOCIAL_SECURITY") @QueryParam(value = "welfareTypeEnum") WelfareTypeEnum welfareTypeEnum) {
|
2022-03-07 22:22:09 +08:00
|
|
|
User user = HrmUserVarify.getUser(request, response);
|
2022-03-15 09:34:53 +08:00
|
|
|
Map<String, Object> map = ParamUtil.request2Map(request);
|
|
|
|
|
//InsuranceSchemeDTO insuranceSchemeDTO = InsuranceSchemeDTO.builder().welfareType(welfareTypeEnum).build();
|
|
|
|
|
map.put("welfareTypeEnum",welfareTypeEnum);
|
2022-05-05 10:35:58 +08:00
|
|
|
return new ResponseResult< Map<String, Object>, Map<String, Object>>(user).run(getService(user)::getForm,map);
|
2022-03-07 22:22:09 +08:00
|
|
|
}
|
2022-03-09 09:42:10 +08:00
|
|
|
|
|
|
|
|
|
2022-03-10 18:23:31 +08:00
|
|
|
/**
|
|
|
|
|
* 查询福利方案列表
|
|
|
|
|
* @param request
|
|
|
|
|
* @param response
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
2022-04-22 15:17:31 +08:00
|
|
|
@POST
|
2022-03-10 18:23:31 +08:00
|
|
|
@Path("/getTable")
|
|
|
|
|
@Produces(MediaType.APPLICATION_JSON)
|
2022-04-22 15:17:31 +08:00
|
|
|
public String list(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody InsuranceSchemeParam insuranceSchemeParam) {
|
2022-03-10 18:23:31 +08:00
|
|
|
User user = HrmUserVarify.getUser(request, response);
|
2022-04-25 18:06:09 +08:00
|
|
|
return new ResponseResult<InsuranceSchemeParam, PageInfo<InsuranceSchemeListDTO>>(user).run(getSISchemeWrapper(user)::listPage, insuranceSchemeParam);
|
2022-03-10 18:23:31 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2022-03-09 09:42:10 +08:00
|
|
|
/**
|
|
|
|
|
* 新增
|
|
|
|
|
* @param request
|
|
|
|
|
* @param response
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@POST
|
|
|
|
|
@Path("/insert")
|
|
|
|
|
@Produces(MediaType.APPLICATION_JSON)
|
2022-03-09 16:12:47 +08:00
|
|
|
public String insertScheme(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody InsuranceSchemeReqParam insuranceSchemeReqParam) {
|
2022-03-09 09:42:10 +08:00
|
|
|
User user = HrmUserVarify.getUser(request, response);
|
|
|
|
|
Map<String, Object> map = ParamUtil.request2Map(request);
|
|
|
|
|
map.put("insuranceSchemeReqParam",insuranceSchemeReqParam);
|
2022-05-05 10:35:58 +08:00
|
|
|
return new ResponseResult< Map<String, Object>, Map<String, Object>>(user).run(getService(user)::insertScheme,map);
|
2022-03-09 09:42:10 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
2023-08-21 14:58:01 +08:00
|
|
|
* 编辑方案主表和明细表数据
|
2022-03-09 09:42:10 +08:00
|
|
|
* @param request
|
|
|
|
|
* @param response
|
|
|
|
|
* @param insuranceSchemeReqParam
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@POST
|
|
|
|
|
@Path("/update")
|
|
|
|
|
@Produces(MediaType.APPLICATION_JSON)
|
|
|
|
|
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);
|
2022-05-05 10:35:58 +08:00
|
|
|
return new ResponseResult< Map<String, Object>, Map<String, Object>>(user).run(getService(user)::update,map);
|
2022-03-09 09:42:10 +08:00
|
|
|
}
|
|
|
|
|
|
2023-08-21 14:58:01 +08:00
|
|
|
/**
|
|
|
|
|
* 编辑方案明细表数据
|
|
|
|
|
* @param request
|
|
|
|
|
* @param response
|
|
|
|
|
* @param schemeDetailList
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@POST
|
|
|
|
|
@Path("/updateSchemeDetail")
|
|
|
|
|
@Produces(MediaType.APPLICATION_JSON)
|
|
|
|
|
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);
|
|
|
|
|
}
|
|
|
|
|
|
2022-03-09 09:42:10 +08:00
|
|
|
/**
|
|
|
|
|
* 删除(接口中暂无)
|
|
|
|
|
* @param request
|
|
|
|
|
* @param response
|
2022-07-26 16:14:24 +08:00
|
|
|
* @param insuranceSchemeReqParam
|
2022-03-09 09:42:10 +08:00
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@POST
|
|
|
|
|
@Path("/delete")
|
|
|
|
|
@Produces(MediaType.APPLICATION_JSON)
|
2022-07-26 16:14:24 +08:00
|
|
|
public String deleteTaxRate(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody InsuranceSchemeReqParam insuranceSchemeReqParam) {
|
2022-03-09 09:42:10 +08:00
|
|
|
User user = HrmUserVarify.getUser(request, response);
|
|
|
|
|
Map<String, Object> map = ParamUtil.request2Map(request);
|
2022-07-26 16:14:24 +08:00
|
|
|
map.put("ids",insuranceSchemeReqParam.getIds());
|
2022-08-18 12:26:53 +08:00
|
|
|
map.put("welfareTypeId", insuranceSchemeReqParam.getWelfareTypeEnum().getValue());
|
2022-05-05 10:35:58 +08:00
|
|
|
return new ResponseResult< Map<String, Object>, Map<String, Object>>(user).run(getService(user)::delete,map);
|
2022-03-09 09:42:10 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 复制福利方案表单
|
|
|
|
|
* @param request
|
|
|
|
|
* @param response
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@GET
|
|
|
|
|
@Path("/copyScheme")
|
|
|
|
|
@Produces(MediaType.APPLICATION_JSON)
|
|
|
|
|
public String copyScheme(@Context HttpServletRequest request, @Context HttpServletResponse response,
|
|
|
|
|
@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);
|
2022-05-05 10:35:58 +08:00
|
|
|
return new ResponseResult< Map<String, Object>, Map<String, Object>>(user).run(getService(user)::copyScheme,map);
|
2022-03-09 09:42:10 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2022-05-06 16:58:01 +08:00
|
|
|
/**
|
|
|
|
|
* 导出档案
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@GET
|
2022-05-09 11:18:54 +08:00
|
|
|
@Path("/export")
|
2022-05-06 16:58:01 +08:00
|
|
|
@Produces(MediaType.APPLICATION_OCTET_STREAM)
|
|
|
|
|
public Response export(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
2023-07-10 17:20:04 +08:00
|
|
|
InsuranceArchivesListParam param = buildInsuranceArchivesListParam(request);
|
2022-05-06 16:58:01 +08:00
|
|
|
User user = HrmUserVarify.getUser(request, response);
|
|
|
|
|
XSSFWorkbook workbook = getService(user).export(param);
|
2023-01-09 17:30:49 +08:00
|
|
|
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, "社保福利档案导出");
|
|
|
|
|
}
|
2023-01-30 09:31:31 +08:00
|
|
|
|
|
|
|
|
fileName = fileName + LocalDate.now();
|
2022-05-06 16:58:01 +08:00
|
|
|
try {
|
2023-01-09 17:30:49 +08:00
|
|
|
fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8");
|
2022-05-06 16:58:01 +08:00
|
|
|
} 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();
|
|
|
|
|
}
|
|
|
|
|
|
2022-03-09 09:42:10 +08:00
|
|
|
|
2022-05-09 11:18:54 +08:00
|
|
|
@POST
|
|
|
|
|
@Path("/preview")
|
|
|
|
|
@Produces(MediaType.APPLICATION_JSON)
|
2023-09-08 16:57:09 +08:00
|
|
|
public String preview(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SIArchiveImportParam queryParam) {
|
2022-05-09 11:18:54 +08:00
|
|
|
User user = HrmUserVarify.getUser(request, response);
|
2023-09-08 16:57:09 +08:00
|
|
|
return new ResponseResult<SIArchiveImportParam, Map<String, Object>>(user).run(getService(user)::preview, queryParam);
|
2022-05-09 11:18:54 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@POST
|
|
|
|
|
@Path("/importBatch")
|
|
|
|
|
@Produces(MediaType.APPLICATION_JSON)
|
2023-09-08 16:57:09 +08:00
|
|
|
public String batchImportEbatch(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SIArchiveImportParam queryParam) {
|
2022-05-09 11:18:54 +08:00
|
|
|
User user = HrmUserVarify.getUser(request, response);
|
2023-09-08 16:57:09 +08:00
|
|
|
return new ResponseResult<SIArchiveImportParam, Map<String, Object>>(user).run(getService(user)::batchImportEbatch, queryParam);
|
2022-05-09 11:18:54 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 导出档案和档案模板
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
2023-01-09 17:51:54 +08:00
|
|
|
@GET
|
2022-05-09 11:18:54 +08:00
|
|
|
@Path("/template/export")
|
|
|
|
|
@Produces(MediaType.APPLICATION_OCTET_STREAM)
|
2023-01-09 17:51:54 +08:00
|
|
|
public Response exportTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
|
|
|
|
|
2023-08-31 14:18:00 +08:00
|
|
|
InsuranceArchivesListParam param = buildInsuranceArchivesListParam(request);
|
2023-01-09 17:51:54 +08:00
|
|
|
|
|
|
|
|
param.setExportData(Boolean.valueOf(request.getParameter("exportData")));
|
2023-08-08 15:03:52 +08:00
|
|
|
param.setExtWelArchiveList(Boolean.valueOf(request.getParameter("extWelArchiveList")));
|
2022-05-09 11:18:54 +08:00
|
|
|
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);
|
2023-01-09 17:30:49 +08:00
|
|
|
String fileName;
|
|
|
|
|
//表头
|
2023-08-08 15:03:52 +08:00
|
|
|
if (param.isExtWelArchiveList()) {
|
|
|
|
|
fileName = SalaryI18nUtil.getI18nLabel(0, "社保福利档案导入模板") + "-" + SalaryI18nUtil.getI18nLabel(542679, "非系统人员");
|
|
|
|
|
} else if (param.getRunStatuses().size() > 0) {
|
2023-01-09 17:30:49 +08:00
|
|
|
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, "社保福利档案导入模板");
|
|
|
|
|
}
|
2023-01-30 09:31:31 +08:00
|
|
|
|
2023-08-08 15:03:52 +08:00
|
|
|
|
2023-01-30 09:31:31 +08:00
|
|
|
fileName = fileName + LocalDate.now();
|
2022-05-09 11:18:54 +08:00
|
|
|
try {
|
2023-01-09 17:30:49 +08:00
|
|
|
fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8");
|
2022-05-09 11:18:54 +08:00
|
|
|
} 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();
|
|
|
|
|
}
|
|
|
|
|
|
2023-07-10 17:20:04 +08:00
|
|
|
@NotNull
|
|
|
|
|
private InsuranceArchivesListParam buildInsuranceArchivesListParam(HttpServletRequest request) {
|
|
|
|
|
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()));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
String runStatuses = request.getParameter("runStatuses");
|
|
|
|
|
if(StringUtils.isNotBlank(runStatuses)){
|
|
|
|
|
param.setRunStatuses( Arrays.stream(runStatuses.split(",")).map(String::valueOf).collect(Collectors.toList()));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
String statusesStr = request.getParameter("statusesStr");
|
|
|
|
|
if (StringUtils.isNotBlank(statusesStr)) {
|
|
|
|
|
param.setStatuses(Arrays.stream(statusesStr.split(",")).map(String::new).collect(Collectors.toList()));
|
|
|
|
|
}
|
|
|
|
|
String userName = request.getParameter("username");
|
|
|
|
|
if (StringUtils.isNotBlank(userName)) {
|
|
|
|
|
param.setUserName(userName);
|
|
|
|
|
}
|
|
|
|
|
String jobNum = request.getParameter("jobNum");
|
|
|
|
|
if (StringUtils.isNotBlank(jobNum)) {
|
|
|
|
|
param.setJobNum(jobNum);
|
|
|
|
|
}
|
|
|
|
|
String taxAgentId = request.getParameter("taxAgentId");
|
|
|
|
|
if (StringUtils.isNotBlank(taxAgentId)) {
|
|
|
|
|
param.setTaxAgentId(Long.parseLong(taxAgentId));
|
|
|
|
|
}
|
|
|
|
|
String departmentIds = request.getParameter("departmentIdsStr");
|
|
|
|
|
if (StringUtils.isNotBlank(departmentIds)) {
|
|
|
|
|
param.setDepartmentIds(Arrays.stream(departmentIds.split(",")).map(BigDecimal::new).collect(Collectors.toList()));
|
|
|
|
|
}
|
|
|
|
|
String subcompanyIds = request.getParameter("subcompanyIdsStr");
|
|
|
|
|
if (StringUtils.isNotBlank(subcompanyIds)) {
|
|
|
|
|
param.setSubcompanyIds(Arrays.stream(subcompanyIds.split(",")).map(BigDecimal::new).collect(Collectors.toList()));
|
|
|
|
|
}
|
|
|
|
|
String positions = request.getParameter("positionsStr");
|
|
|
|
|
if (StringUtils.isNotBlank(positions)) {
|
|
|
|
|
param.setPositions(Arrays.stream(positions.split(",")).map(BigDecimal::new).collect(Collectors.toList()));
|
|
|
|
|
}
|
|
|
|
|
String siSchemeId = request.getParameter("siSchemeId");
|
|
|
|
|
if (StringUtils.isNotBlank(siSchemeId)) {
|
|
|
|
|
param.setSiSchemeId(Long.valueOf(siSchemeId));
|
|
|
|
|
}
|
|
|
|
|
String fundSchemeId = request.getParameter("fundSchemeId");
|
|
|
|
|
if (StringUtils.isNotBlank(fundSchemeId)) {
|
|
|
|
|
param.setFundSchemeId(Long.valueOf(fundSchemeId));
|
|
|
|
|
}
|
|
|
|
|
String otherSchemeId = request.getParameter("otherSchemeId");
|
|
|
|
|
if (StringUtils.isNotBlank(otherSchemeId)) {
|
|
|
|
|
param.setOtherSchemeId(Long.valueOf(otherSchemeId));
|
|
|
|
|
}
|
|
|
|
|
return param;
|
|
|
|
|
}
|
|
|
|
|
|
2022-05-09 11:18:54 +08:00
|
|
|
|
2022-03-09 09:42:10 +08:00
|
|
|
|
2022-03-07 22:22:09 +08:00
|
|
|
}
|