weaver-hrm-salary/src/com/engine/salary/web/LySalaryController.java

926 lines
36 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.engine.salary.web;
import com.engine.common.util.ServiceUtil;
import com.engine.salary.entity.ly.param.*;
import com.engine.salary.entity.ly.po.LyVoucherPO;
import com.engine.salary.util.ResponseResult;
import com.engine.salary.util.page.PageInfo;
import com.engine.salary.wrapper.LySalaryWrapper;
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;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
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.List;
import java.util.Map;
/**
* @author Harryxzy
* @ClassName LySalaryController
* @date 2024/08/21 16:54
* @description 领悦二开
*/
@Slf4j
public class LySalaryController {
private LySalaryWrapper getLySalaryWrapper(User user) {
return ServiceUtil.getService(LySalaryWrapper.class, user);
}
/**
* 领悦报表权限
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/salaryReport/lyPermission")
@Produces(MediaType.APPLICATION_JSON)
public String lyReportPermission(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<User, Boolean>(user).run(getLySalaryWrapper(user)::lyReportPermission, user);
}
//---------------------------------------------------------薪酬汇总报表start------------------------------------------
/**
* 生成薪酬汇总报表
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/salaryReport/generate")
@Produces(MediaType.APPLICATION_JSON)
public String generateSalaryReport(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<LySalaryReportQueryParam, String>(user).run(getLySalaryWrapper(user)::generateSalaryReport, param);
}
/**
* 查询薪酬汇总报表
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/salaryReport/list")
@Produces(MediaType.APPLICATION_JSON)
public String listSalaryReport(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<LySalaryReportQueryParam, Map<String, Object>>(user).run(getLySalaryWrapper(user)::listSalaryReport, param);
}
/**
* 查询薪资汇总报表的发放公司下拉框
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/salaryReport/ffgsList")
@Produces(MediaType.APPLICATION_JSON)
public String salaryReportFfgsList(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<LySalaryReportQueryParam, Map<String, Object>>(user).run(getLySalaryWrapper(user)::salaryReportFfgsList, param);
}
/**
* 薪酬统计报表 合计行
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/salaryReport/sum")
@Produces(MediaType.APPLICATION_JSON)
public String salaryReportSum(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<LySalaryReportQueryParam, Map<String, Object>>(user).run(getLySalaryWrapper(user)::salaryReportSum, param);
}
/**
* 删除报表数据
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/salaryReport/batchDelete")
@Produces(MediaType.APPLICATION_JSON)
public String deleteSalaryReport(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<List<Long>, String>(user).run(getLySalaryWrapper(user)::deleteSalaryReport, param.getIds());
}
/**
* 删除报表数据
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/salaryReport/deleteAll")
@Produces(MediaType.APPLICATION_JSON)
public String deleteAllSalaryReport(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<LySalaryReportQueryParam, String>(user).run(getLySalaryWrapper(user)::deleteAllSalaryReport, param);
}
/**
* 导出报表数据
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/salaryReport/export")
@Produces(MediaType.APPLICATION_OCTET_STREAM)
public Response exportSalaryReport(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
try {
User user = HrmUserVarify.getUser(request, response);
XSSFWorkbook workbook = getLySalaryWrapper(user).exportSalaryReport(param);
String time = LocalDate.now().toString();
String fileName = param.getSalaryMonth() +"薪酬统计报表" + "-" + time;
try {
fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8");
} 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;
}
}
//---------------------------------------------------------薪酬汇总报表end--------------------------------------------
//---------------------------------------------------------社保汇总报表start-------------------------------------
/**
* 生成社保汇总报表
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/SIReport/generate")
@Produces(MediaType.APPLICATION_JSON)
public String generateSIReport(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<LySalaryReportQueryParam, String>(user).run(getLySalaryWrapper(user)::generateSIReport, param);
}
/**
* 查询社保汇总报表
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/SIReport/list")
@Produces(MediaType.APPLICATION_JSON)
public String listSIReport(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<LySalaryReportQueryParam, Map<String, Object>>(user).run(getLySalaryWrapper(user)::listSIReport, param);
}
/**
* 查询薪资汇总报表的发放公司下拉框
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/SIReport/gmgsList")
@Produces(MediaType.APPLICATION_JSON)
public String sIReportGmgsList(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<LySalaryReportQueryParam, Map<String, Object>>(user).run(getLySalaryWrapper(user)::sIReportGmgsList, param);
}
/**
* 社保汇总报表 合计行
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/SIReport/sum")
@Produces(MediaType.APPLICATION_JSON)
public String sIReportSum(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<LySalaryReportQueryParam, Map<String, Object>>(user).run(getLySalaryWrapper(user)::sIReportSum, param);
}
/**
* 删除报表数据
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/SIReport/batchDelete")
@Produces(MediaType.APPLICATION_JSON)
public String deleteSIReport(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<List<Long>, String>(user).run(getLySalaryWrapper(user)::deleteSIReport, param.getIds());
}
@POST
@Path("/SIReport/deleteAll")
@Produces(MediaType.APPLICATION_JSON)
public String deleteAllSIReport(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<LySalaryReportQueryParam, String>(user).run(getLySalaryWrapper(user)::deleteAllSIReport, param);
}
/**
* 导出报表数据
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/socialReport/export")
@Produces(MediaType.APPLICATION_OCTET_STREAM)
public Response exportSIReport(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
try {
User user = HrmUserVarify.getUser(request, response);
XSSFWorkbook workbook = getLySalaryWrapper(user).exportSIReport(param);
String time = LocalDate.now().toString();
String fileName = param.getSalaryMonth() +"社保汇总报表" + "-" + time;
try {
fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8");
} 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;
}
}
//---------------------------------------------------------社保汇总报表end---------------------------------------
//---------------------------------------------------------公积金汇总报表start-------------------------------------
/**
* 生成公积金汇总报表
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/FundReport/generate")
@Produces(MediaType.APPLICATION_JSON)
public String generateFundReport(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<LySalaryReportQueryParam, String>(user).run(getLySalaryWrapper(user)::generateFundReport, param);
}
/**
* 查询公积金汇总报表
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/FundReport/list")
@Produces(MediaType.APPLICATION_JSON)
public String listFundReport(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<LySalaryReportQueryParam, Map<String, Object>>(user).run(getLySalaryWrapper(user)::listFundReport, param);
}
/**
* 查询公积金汇总报表的发放公司下拉框
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/FundReport/gmgsList")
@Produces(MediaType.APPLICATION_JSON)
public String fundReportGmgsList(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<LySalaryReportQueryParam, Map<String, Object>>(user).run(getLySalaryWrapper(user)::fundReportGmgsList, param);
}
/**
* 公积金汇总报表 合计行
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/FundReport/sum")
@Produces(MediaType.APPLICATION_JSON)
public String fundReportSum(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<LySalaryReportQueryParam, Map<String, Object>>(user).run(getLySalaryWrapper(user)::fundReportSum, param);
}
/**
* 删除公积金报表数据
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/FundReport/batchDelete")
@Produces(MediaType.APPLICATION_JSON)
public String deleteFundReport(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<List<Long>, String>(user).run(getLySalaryWrapper(user)::deleteFundReport, param.getIds());
}
@POST
@Path("/FundReport/deleteAll")
@Produces(MediaType.APPLICATION_JSON)
public String deleteAllFundReport(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<LySalaryReportQueryParam, String>(user).run(getLySalaryWrapper(user)::deleteAllFundReport, param);
}
/**
* 导出公积金报表数据
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/fundReport/export")
@Produces(MediaType.APPLICATION_OCTET_STREAM)
public Response exportFundReport(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
try {
User user = HrmUserVarify.getUser(request, response);
XSSFWorkbook workbook = getLySalaryWrapper(user).exportFundReport(param);
String time = LocalDate.now().toString();
String fileName = param.getSalaryMonth() +"公积金汇总报表" + "-" + time;
try {
fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8");
} 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;
}
}
//---------------------------------------------------------公积金汇总报表end---------------------------------------
//---------------------------------------------------------领悦生成凭证start------------------------------------------
@POST
@Path("/PZ/genAndPreveiw")
@Produces(MediaType.APPLICATION_JSON)
public String genAndPreveiwPZ(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LyPZGenParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<LyPZGenParam, Map<String, Object>>(user).run(getLySalaryWrapper(user)::genPZ, param);
}
@POST
@Path("/PZ/getHszb")
@Produces(MediaType.APPLICATION_JSON)
public String getHszb(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LyPZGenParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<LyPZGenParam, Map<String, String>>(user).run(getLySalaryWrapper(user)::getHszb, param);
}
// 推送UC并本地保存
@POST
@Path("/PZ/pushUCAndSave")
@Produces(MediaType.APPLICATION_JSON)
public String pushUCAndSave(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LyVoucherPushParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<LyVoucherPushParam, Map<String, Object>>(user).run(getLySalaryWrapper(user)::pushUCAndSave, param);
}
/**
* 辅助核算浏览框
* @param request
* @param response
* @return
*/
@POST
@Path("/PZ/fzhsBrowserList")
@Produces(MediaType.APPLICATION_JSON)
public String fzhsBrowserList(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LyFzhslxParam queryParam) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<LyFzhslxParam, PageInfo<Map<String, Object>>>(user).run(getLySalaryWrapper(user)::fzhsBrowserList, queryParam);
}
/**
* 本地历史凭证列表
* @param request
* @param response
* @return
*/
@POST
@Path("/PZ/historyVoucherList")
@Produces(MediaType.APPLICATION_JSON)
public String historyVoucherList(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LyVoucherQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<LyVoucherQueryParam, PageInfo<LyVoucherPO>>(user).run(getLySalaryWrapper(user)::historyVoucherList, param);
}
/**
* 本地历史凭证列表
* @param request
* @param response
* @return
*/
@POST
@Path("/PZ/historyVoucherDetailList")
@Produces(MediaType.APPLICATION_JSON)
public String historyVoucherDetailList(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LyVoucherQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<Long, Map<String, Object>>(user).run(getLySalaryWrapper(user)::historyVoucherDetailList, param.getId());
}
/**
* 删除历史凭证
* @param request
* @param response
* @return
*/
@POST
@Path("/PZ/deleteHistoryVoucher")
@Produces(MediaType.APPLICATION_JSON)
public String deleteHistoryVoucher(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LyVoucherQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<Long, Map<String, Object>>(user).run(getLySalaryWrapper(user)::deleteHistoryVoucher, param.getId());
}
//---------------------------------------------------------领悦生成凭证end--------------------------------------------
//---------------------------------------------------------薪酬汇总报(部门)start---------------------------------------
/**
* 查询薪酬汇总报表
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/salaryDepartmentReport/list")
@Produces(MediaType.APPLICATION_JSON)
public String listSalaryDepartmentReport(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<LySalaryReportQueryParam, Map<String, Object>>(user).run(getLySalaryWrapper(user)::listSalaryDepartmentReport, param);
}
/**
* 薪酬统计报表 合计行
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/salaryDepartmentReport/sum")
@Produces(MediaType.APPLICATION_JSON)
public String salaryDepartmentReportSum(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<LySalaryReportQueryParam, Map<String, Object>>(user).run(getLySalaryWrapper(user)::salaryDepartmentReportSum, param);
}
/**
* 导出报表数据
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/salaryDepartmentReport/export")
@Produces(MediaType.APPLICATION_OCTET_STREAM)
public Response exportSalaryDepartmentReport(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
try {
User user = HrmUserVarify.getUser(request, response);
XSSFWorkbook workbook = getLySalaryWrapper(user).exportSalaryDepartmentReport(param);
String time = LocalDate.now().toString();
String fileName = param.getSalaryMonth() +"薪酬统计报表(部门)" + "-" + time;
try {
fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8");
} 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;
}
}
//---------------------------------------------------------薪酬汇总报表部门end--------------------------------------
//---------------------------------------------------------领悦发放表start--------------------------------------------
/**
* 查询领悦发放报表
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/ffReport/list")
@Produces(MediaType.APPLICATION_JSON)
public String listLyFfReport(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<LySalaryReportQueryParam, Map<String, Object>>(user).run(getLySalaryWrapper(user)::listLyFfReport, param);
}
/**
* 薪酬统计报表 合计行
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/ffReport/sum")
@Produces(MediaType.APPLICATION_JSON)
public String ffReportSum(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<LySalaryReportQueryParam, Map<String, Object>>(user).run(getLySalaryWrapper(user)::ffReportSum, param);
}
/**
* 导出领悦发放表
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/ffReport/export")
@Produces(MediaType.APPLICATION_OCTET_STREAM)
public Response exportFfReport(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
try {
User user = HrmUserVarify.getUser(request, response);
XSSFWorkbook workbook = getLySalaryWrapper(user).exportFfReport(param);
String time = LocalDate.now().toString();
String fileName = param.getSalaryMonth() +"薪资发放表" + "-" + time;
try {
fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8");
} 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;
}
}
//---------------------------------------------------------领悦发放表end----------------------------------------------
//---------------------------------------------------------领悦报税表start--------------------------------------------
/**
* 查询领悦报税报表
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/bsReport/list")
@Produces(MediaType.APPLICATION_JSON)
public String listLyBsReport(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<LySalaryReportQueryParam, Map<String, Object>>(user).run(getLySalaryWrapper(user)::listLyBsReport, param);
}
/**
* 薪酬报税表 合计行
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/bsReport/sum")
@Produces(MediaType.APPLICATION_JSON)
public String bsReportSum(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<LySalaryReportQueryParam, Map<String, Object>>(user).run(getLySalaryWrapper(user)::bsReportSum, param);
}
/**
* 导出领悦报税表
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/bsReport/export")
@Produces(MediaType.APPLICATION_OCTET_STREAM)
public Response exportBsReport(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
try {
User user = HrmUserVarify.getUser(request, response);
XSSFWorkbook workbook = getLySalaryWrapper(user).exportBsReport(param);
String time = LocalDate.now().toString();
String fileName = param.getSalaryMonth() +"薪资报税表" + "-" + time;
try {
fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8");
} 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;
}
}
//---------------------------------------------------------领悦报税表end----------------------------------------------
/**
* 查询所有的发放公司下拉框
*
* @param request
* @param response
* @return
*/
@POST
@Path("/salaryReport/ffgsAllList")
@Produces(MediaType.APPLICATION_JSON)
public String salaryReportFfgsList(@Context HttpServletRequest request, @Context HttpServletResponse response) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<String, List<Map<String, Object>>>(user).run(getLySalaryWrapper(user)::listAllFfgs);
}
//---------------------------------------------------------领悦对比汇总表start-----------------------------------------
/**
* 领悦 生成对比汇总社保表数据
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/generate/dbhzSbReport")
@Produces(MediaType.APPLICATION_JSON)
public String generateDbhzSbReport(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<String, Map<String, Object>>(user).run(getLySalaryWrapper(user)::generateDbhzSbReport, param.getSalaryMonth());
}
/**
* 领悦 生成对比汇总公积金表数据
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/generate/dbhzGjjReport")
@Produces(MediaType.APPLICATION_JSON)
public String generateDbhzGjjReport(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<String, Map<String, Object>>(user).run(getLySalaryWrapper(user)::generateDbhzGjjReport, param.getSalaryMonth());
}
/**
* 领悦 差异明细表社保数据
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/generate/cymxSbReport")
@Produces(MediaType.APPLICATION_JSON)
public String generateCymxSbReport(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<String, Map<String, Object>>(user).run(getLySalaryWrapper(user)::generateCymxSbReport, param.getSalaryMonth());
}
/**
* 领悦 生成对比汇总公积金表数据
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/generate/cymxGjjReport")
@Produces(MediaType.APPLICATION_JSON)
public String generateCymxGjjReport(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<String, Map<String, Object>>(user).run(getLySalaryWrapper(user)::generateCymxGjjReport, param.getSalaryMonth());
}
//---------------------------------------------------------领悦对比汇总表end-------------------------------------------
//---------------------------------------------------------领悦薪资档案报表start---------------------------------------
/**
* 查询领悦薪酬档案职级统计报表
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/xcdazjtjReport/list")
@Produces(MediaType.APPLICATION_JSON)
public String listLyXcdazjtjReport(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<LySalaryReportQueryParam, Map<String, Object>>(user).run(getLySalaryWrapper(user)::listLyXcdazjtjReport, param);
}
/**
* 导出领悦薪酬档案职级统计报表
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/xcdazjtjReport/export")
@Produces(MediaType.APPLICATION_OCTET_STREAM)
public Response exportXcdazjtjReport(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
try {
User user = HrmUserVarify.getUser(request, response);
XSSFWorkbook workbook = getLySalaryWrapper(user).exportXcdazjtjReport(param);
String time = LocalDate.now().toString();
String fileName = "薪酬档案职级统计报表" + "-" + time;
try {
fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8");
} 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;
}
}
/**
* 查询领悦薪酬档案职务角色统计报表
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/xcdazwjstjReport/list")
@Produces(MediaType.APPLICATION_JSON)
public String listLyXcdazwjstjReport(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<LySalaryReportQueryParam, Map<String, Object>>(user).run(getLySalaryWrapper(user)::listLyXcdazwjstjReport, param);
}
/**
* 导出领悦薪酬档案职务角色统计报表
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/xcdazwjstjReport/export")
@Produces(MediaType.APPLICATION_OCTET_STREAM)
public Response exportXcdazwjstjReport(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LySalaryReportQueryParam param) {
try {
User user = HrmUserVarify.getUser(request, response);
XSSFWorkbook workbook = getLySalaryWrapper(user).exportXcdazwjstjReport(param);
String time = LocalDate.now().toString();
String fileName = "薪酬档案职务角色统计报表" + "-" + time;
try {
fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8");
} 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;
}
}
//---------------------------------------------------------领悦薪资档案报表end-----------------------------------------
}