From b0b18ecb5ea9937896f2fcdc9975b58079b80649 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Mon, 9 May 2022 10:32:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=BC=E5=87=BA=E6=97=A5=E5=BF=97=E5=92=8C?= =?UTF-8?q?=E7=94=B3=E6=8A=A5=E8=A1=A8=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TaxDeclarationDetailMapper.xml | 58 +++- .../taxdeclaration/TaxDeclarationMapper.java | 8 +- .../taxdeclaration/TaxDeclarationMapper.xml | 40 +-- .../impl/SalaryAcctResultServiceImpl.java | 2 +- .../salary/web/AddUpDeductionController.java | 143 +++++----- .../salary/web/AddUpSituationController.java | 155 ++++++----- .../salary/web/AttendQuoteController.java | 95 ++++--- .../salary/web/OtherDeductionController.java | 178 ++++++------ .../salary/web/SalaryAcctController.java | 257 ++++++++++-------- .../salary/web/SalaryArchiveController.java | 176 ++++++------ .../salary/web/TaxDeclarationController.java | 142 +++++----- 11 files changed, 695 insertions(+), 559 deletions(-) diff --git a/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationDetailMapper.xml b/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationDetailMapper.xml index bc59a4767..363c986a2 100644 --- a/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationDetailMapper.xml +++ b/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationDetailMapper.xml @@ -16,7 +16,9 @@ - t.create_time + t + . + create_time , t.creator , t.delete_type , t.employee_id @@ -46,22 +48,22 @@ - INSERT INTO hrsa_tax_declaration(id, salary_month, tax_cycle, tax_agent_id, description, + INSERT INTO hrsa_tax_declaration( salary_month, tax_cycle, tax_agent_id, description, creator, create_time, update_time, delete_type, tenant_key) VALUES ( - #{item.id}, #{item.salaryMonth}, #{item.taxCycle}, #{item.taxAgentId}, @@ -78,12 +77,11 @@ - INSERT INTO hrsa_tax_declaration(id, salary_month, tax_cycle, tax_agent_id, description, + INSERT INTO hrsa_tax_declaration(salary_month, tax_cycle, tax_agent_id, description, creator, create_time, update_time, delete_type, tenant_key) select - #{item.id}, #{item.salaryMonth}, #{item.taxCycle}, #{item.taxAgentId}, @@ -98,11 +96,10 @@ - INSERT INTO hrsa_tax_declaration(id, salary_month, tax_cycle, tax_agent_id, description, + INSERT INTO hrsa_tax_declaration(salary_month, tax_cycle, tax_agent_id, description, creator, create_time, update_time, delete_type, tenant_key) VALUES ( - #{item.id}, #{item.salaryMonth}, #{item.taxCycle}, #{item.taxAgentId}, @@ -116,36 +113,7 @@ - - - INSERT INTO hrsa_tax_declaration - - create_time, - creator, - delete_type, - description, - id, - salary_month, - tax_agent_id, - tax_cycle, - tenant_key, - update_time, - - - #{createTime}, - #{creator}, - #{deleteType}, - #{description}, - #{id}, - #{salaryMonth}, - #{taxAgentId}, - #{taxCycle}, - #{tenantKey}, - #{updateTime}, - - + > partition = Lists.partition(salaryAcctEmployeePOS, 100); + List> partition = Lists.partition(salaryAcctEmployeePOS, 500); // 12.1、监控子线程的任务执行 CountDownLatch childMonitor = new CountDownLatch(partition.size()); // 12.2、记录子线程的执行结果 diff --git a/src/com/engine/salary/web/AddUpDeductionController.java b/src/com/engine/salary/web/AddUpDeductionController.java index e5f515396..6033cf609 100644 --- a/src/com/engine/salary/web/AddUpDeductionController.java +++ b/src/com/engine/salary/web/AddUpDeductionController.java @@ -8,6 +8,7 @@ import com.engine.salary.service.AddUpDeductionService; import com.engine.salary.service.impl.AddUpDeductionServiceImpl; import com.engine.salary.util.ResponseResult; 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.Nullable; @@ -35,6 +36,7 @@ import java.util.List; import java.util.Map; import java.util.stream.Collectors; +@Slf4j public class AddUpDeductionController { private AddUpDeductionService getService(User user) { @@ -51,7 +53,7 @@ public class AddUpDeductionController { @Produces(MediaType.APPLICATION_JSON) public String getSearchCondition(@Context HttpServletRequest request, @Context HttpServletResponse response) { User user = HrmUserVarify.getUser(request, response); - return new ResponseResult< Map, Map>(user).run(getService(user)::getSearchCondition, ParamUtil.request2Map(request)); + return new ResponseResult, Map>(user).run(getService(user)::getSearchCondition, ParamUtil.request2Map(request)); } @@ -62,7 +64,7 @@ public class AddUpDeductionController { User user = HrmUserVarify.getUser(request, response); Map map = ParamUtil.request2Map(request); map.put("queryParam", queryParam); - return new ResponseResult< Map, Map>(user).run(getService(user)::list, map); + return new ResponseResult, Map>(user).run(getService(user)::list, map); } @@ -70,22 +72,28 @@ public class AddUpDeductionController { @Path("/downloadTemplate") @Produces(MediaType.APPLICATION_OCTET_STREAM) public Response getAll(@Context HttpServletRequest request, @Context HttpServletResponse response) { - User user = HrmUserVarify.getUser(request, response); - AddUpDeductionQueryParam queryParam = buildParam(request); - XSSFWorkbook workbook = getService(user).downloadTemplate(queryParam); - String fileName = "累计专项附加扣除导入模板" + LocalDate.now(); try { - fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8"); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); + User user = HrmUserVarify.getUser(request, response); + AddUpDeductionQueryParam queryParam = buildParam(request); + XSSFWorkbook workbook = getService(user).downloadTemplate(queryParam); + String fileName = "累计专项附加扣除导入模板" + LocalDate.now(); + 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; } - 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(); } @@ -99,31 +107,37 @@ public class AddUpDeductionController { @Path("/export") @Produces(MediaType.APPLICATION_OCTET_STREAM) public Response export(@Context HttpServletRequest request, @Context HttpServletResponse response) { - User user = HrmUserVarify.getUser(request, response); - - AddUpDeductionQueryParam param = buildParam(request); - - Map map = ParamUtil.request2Map(request); - map.put("addUpDeductionQueryParam", param); - - XSSFWorkbook workbook = getService(user).export(map); - - String fileName = null; try { - fileName = URLEncoder.encode("累计专项附加扣除.xlsx", "UTF-8"); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); + User user = HrmUserVarify.getUser(request, response); + + AddUpDeductionQueryParam param = buildParam(request); + + Map map = ParamUtil.request2Map(request); + map.put("addUpDeductionQueryParam", param); + + XSSFWorkbook workbook = getService(user).export(map); + + String fileName = "累计专项附加扣除" + LocalDate.now(); + 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; } - 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(); } @@ -131,31 +145,38 @@ public class AddUpDeductionController { @Path("/exportDetail") @Produces(MediaType.APPLICATION_OCTET_STREAM) public Response exportDetail(@Context HttpServletRequest request, @Context HttpServletResponse response) { - User user = HrmUserVarify.getUser(request, response); - - AddUpDeductionQueryParam param = buildParam(request); - - Map map = ParamUtil.request2Map(request); - map.put("addUpDeductionQueryParam", param); - - XSSFWorkbook workbook = getService(user).exportDetail(map); - - String fileName = null; try { - fileName = URLEncoder.encode("累计专项附加扣除明细.xlsx", "UTF-8"); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); + User user = HrmUserVarify.getUser(request, response); + + AddUpDeductionQueryParam param = buildParam(request); + + Map map = ParamUtil.request2Map(request); + map.put("addUpDeductionQueryParam", param); + + XSSFWorkbook workbook = getService(user).exportDetail(map); + + String fileName = "累计专项附加扣除明细" + LocalDate.now(); + 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; } - 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(); } @Nullable @@ -233,7 +254,7 @@ public class AddUpDeductionController { User user = HrmUserVarify.getUser(request, response); Map map = ParamUtil.request2Map(request); map.put("importParam", importParam); - return new ResponseResult< Map, Map>(user).run(getService(user)::preview, map); + return new ResponseResult, Map>(user).run(getService(user)::preview, map); } @POST @@ -243,7 +264,7 @@ public class AddUpDeductionController { User user = HrmUserVarify.getUser(request, response); Map map = ParamUtil.request2Map(request); map.put("importParam", importParam); - return new ResponseResult< Map, Map>(user).run(getService(user)::importAddUpDeduction, map); + return new ResponseResult, Map>(user).run(getService(user)::importAddUpDeduction, map); } @POST @@ -253,7 +274,7 @@ public class AddUpDeductionController { User user = HrmUserVarify.getUser(request, response); Map map = ParamUtil.request2Map(request); map.put("queryParam", queryParam); - return new ResponseResult< Map, Map>(user).run(getService(user)::getDetailList, map); + return new ResponseResult, Map>(user).run(getService(user)::getDetailList, map); } diff --git a/src/com/engine/salary/web/AddUpSituationController.java b/src/com/engine/salary/web/AddUpSituationController.java index e0ccb9f7b..f4ace7e7e 100644 --- a/src/com/engine/salary/web/AddUpSituationController.java +++ b/src/com/engine/salary/web/AddUpSituationController.java @@ -53,7 +53,7 @@ public class AddUpSituationController { @Produces(MediaType.APPLICATION_JSON) public String getSearchCondition(@Context HttpServletRequest request, @Context HttpServletResponse response) { User user = HrmUserVarify.getUser(request, response); - return new ResponseResult< Map, Map>(user).run(getService(user)::getSearchCondition, ParamUtil.request2Map(request)); + return new ResponseResult, Map>(user).run(getService(user)::getSearchCondition, ParamUtil.request2Map(request)); } @@ -64,7 +64,7 @@ public class AddUpSituationController { User user = HrmUserVarify.getUser(request, response); Map map = ParamUtil.request2Map(request); map.put("queryParam", queryParam); - return new ResponseResult< Map, Map>(user).run(getService(user)::list, map); + return new ResponseResult, Map>(user).run(getService(user)::list, map); } @POST @@ -74,7 +74,7 @@ public class AddUpSituationController { User user = HrmUserVarify.getUser(request, response); Map map = ParamUtil.request2Map(request); map.put("queryParam", queryParam); - return new ResponseResult< Map, Map>(user).run(getService(user)::getDetailList, map); + return new ResponseResult, Map>(user).run(getService(user)::getDetailList, map); } @@ -82,30 +82,32 @@ public class AddUpSituationController { @Path("/downloadTemplate") @Produces(MediaType.APPLICATION_OCTET_STREAM) public Response getAll(@Context HttpServletRequest request, @Context HttpServletResponse response) { - User user = HrmUserVarify.getUser(request, response); - - AddUpSituationQueryParam queryParam = buildParam(request); - - XSSFWorkbook workbook = getService(user).downloadTemplate(queryParam); - - String fileName = "往期累计情况导入模板" + LocalDate.now(); - try { - fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8"); - } catch (UnsupportedEncodingException e) { - log.error(e.getMessage(),e); + User user = HrmUserVarify.getUser(request, response); + + AddUpSituationQueryParam queryParam = buildParam(request); + + XSSFWorkbook workbook = getService(user).downloadTemplate(queryParam); + + String fileName = "往期累计情况导入模板" + LocalDate.now(); + + try { + fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8"); + } catch (UnsupportedEncodingException e) { + log.error(e.getMessage(), e); + } + + 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; } - - 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(); - - - - } @@ -119,30 +121,35 @@ public class AddUpSituationController { @Path("/export") @Produces(MediaType.APPLICATION_OCTET_STREAM) public Response export(@Context HttpServletRequest request, @Context HttpServletResponse response) { - User user = HrmUserVarify.getUser(request, response); - - Map map = ParamUtil.request2Map(request); - AddUpSituationQueryParam queryParam = buildParam(request); - map.put("queryParam", queryParam); - - XSSFWorkbook workbook = getService(user).export(map); - - String fileName = null; try { - fileName = URLEncoder.encode("累计情况.xlsx", "UTF-8"); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); + User user = HrmUserVarify.getUser(request, response); + + Map map = ParamUtil.request2Map(request); + AddUpSituationQueryParam queryParam = buildParam(request); + map.put("queryParam", queryParam); + + XSSFWorkbook workbook = getService(user).export(map); + + String fileName = "累计情况" + LocalDate.now(); + 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; } - - 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(); } @@ -156,30 +163,35 @@ public class AddUpSituationController { @Path("/exportDetail") @Produces(MediaType.APPLICATION_OCTET_STREAM) public Response exportDetail(@Context HttpServletRequest request, @Context HttpServletResponse response) { - User user = HrmUserVarify.getUser(request, response); - - Map map = ParamUtil.request2Map(request); - AddUpSituationQueryParam queryParam = buildParam(request); - map.put("queryParam", queryParam); - - XSSFWorkbook workbook = getService(user).exportDetail(map); - - String fileName = null; try { - fileName = URLEncoder.encode("累计情况明细.xlsx", "UTF-8"); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); + User user = HrmUserVarify.getUser(request, response); + + Map map = ParamUtil.request2Map(request); + AddUpSituationQueryParam queryParam = buildParam(request); + map.put("queryParam", queryParam); + + XSSFWorkbook workbook = getService(user).exportDetail(map); + + String fileName = "累计情况明细" + LocalDate.now(); + 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; } - - 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(); } @Nullable @@ -263,7 +275,7 @@ public class AddUpSituationController { User user = HrmUserVarify.getUser(request, response); Map map = ParamUtil.request2Map(request); map.put("importParam", importParam); - return new ResponseResult< Map, Map>(user).run(getService(user)::importAddUpSituation, map); + return new ResponseResult, Map>(user).run(getService(user)::importAddUpSituation, map); } @POST @@ -273,9 +285,8 @@ public class AddUpSituationController { User user = HrmUserVarify.getUser(request, response); Map map = ParamUtil.request2Map(request); map.put("importParam", importParam); - return new ResponseResult< Map, Map>(user).run(getService(user)::preview, map); + return new ResponseResult, Map>(user).run(getService(user)::preview, map); } - } diff --git a/src/com/engine/salary/web/AttendQuoteController.java b/src/com/engine/salary/web/AttendQuoteController.java index 030f765bb..52a5b2232 100644 --- a/src/com/engine/salary/web/AttendQuoteController.java +++ b/src/com/engine/salary/web/AttendQuoteController.java @@ -16,6 +16,7 @@ import com.engine.salary.wrapper.AttendQuoteFieldSettingWrapper; import com.engine.salary.wrapper.AttendQuoteFieldWrapper; import com.engine.salary.wrapper.AttendQuoteWrapper; 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 weaver.hrm.HrmUserVarify; @@ -36,6 +37,7 @@ import java.util.Collection; import java.util.List; import java.util.Map; +@Slf4j public class AttendQuoteController { private AttendQuoteWrapper getAttendQuoteWrapper(User user) { @@ -112,33 +114,39 @@ public class AttendQuoteController { @Path("/downloadTemplate") @Produces(MediaType.APPLICATION_OCTET_STREAM) public Response downloadTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response) { - User user = HrmUserVarify.getUser(request, response); - String salaryYearMonth = request.getParameter("salaryYearMonth"); - String salarySobId = request.getParameter("salarySobId"); - AttendQuoteDataExportTemplateParam param = AttendQuoteDataExportTemplateParam.builder() - .salarySobId(Long.valueOf(salarySobId)) - .salaryYearMonth(YearMonth.parse(salaryYearMonth)) - .build(); - if (param.getSalaryYearMonth() == null || param.getSalarySobId() == null) { - throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100250, "薪资所属月和薪资账套id不能为空")); - } - XSSFWorkbook workbook = getAttendQuoteDataWrapper(user).downloadTemplate(param); - String fileName = "考勤引用导入模板" + LocalDate.now(); try { - fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8"); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); + User user = HrmUserVarify.getUser(request, response); + String salaryYearMonth = request.getParameter("salaryYearMonth"); + String salarySobId = request.getParameter("salarySobId"); + AttendQuoteDataExportTemplateParam param = AttendQuoteDataExportTemplateParam.builder() + .salarySobId(Long.valueOf(salarySobId)) + .salaryYearMonth(YearMonth.parse(salaryYearMonth)) + .build(); + if (param.getSalaryYearMonth() == null || param.getSalarySobId() == null) { + throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100250, "薪资所属月和薪资账套id不能为空")); + } + XSSFWorkbook workbook = getAttendQuoteDataWrapper(user).downloadTemplate(param); + String fileName = "考勤引用导入模板" + LocalDate.now(); + 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; } - 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(); } /** @@ -217,26 +225,33 @@ public class AttendQuoteController { @Path("/export") @Produces(MediaType.APPLICATION_OCTET_STREAM) public Response export(@Context HttpServletRequest request, @Context HttpServletResponse response) { - User user = HrmUserVarify.getUser(request, response); - String attendQuoteId = request.getParameter("attendQuoteId"); - AttendQuoteDataQueryParam param = AttendQuoteDataQueryParam.builder().attendQuoteId(Long.valueOf(attendQuoteId)).build(); - XSSFWorkbook workbook = getAttendQuoteDataWrapper(user).export(param); - String fileName = "考勤导出" + LocalDate.now(); try { - fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8"); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); + User user = HrmUserVarify.getUser(request, response); + String attendQuoteId = request.getParameter("attendQuoteId"); + AttendQuoteDataQueryParam param = AttendQuoteDataQueryParam.builder().attendQuoteId(Long.valueOf(attendQuoteId)).build(); + XSSFWorkbook workbook = getAttendQuoteDataWrapper(user).export(param); + String fileName = "考勤导出" + LocalDate.now(); + 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; } - 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(); } diff --git a/src/com/engine/salary/web/OtherDeductionController.java b/src/com/engine/salary/web/OtherDeductionController.java index d8c0622be..221209d55 100644 --- a/src/com/engine/salary/web/OtherDeductionController.java +++ b/src/com/engine/salary/web/OtherDeductionController.java @@ -8,6 +8,7 @@ import com.engine.salary.service.OtherDeductionService; import com.engine.salary.service.impl.OtherDeductionServiceImpl; import com.engine.salary.util.ResponseResult; 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.Nullable; @@ -43,6 +44,7 @@ import java.util.stream.Collectors; * @author qiantao * @version 1.0 **/ +@Slf4j public class OtherDeductionController { private OtherDeductionService getService(User user) { @@ -59,7 +61,7 @@ public class OtherDeductionController { @Produces(MediaType.APPLICATION_JSON) public String getSearchCondition(@Context HttpServletRequest request, @Context HttpServletResponse response) { User user = HrmUserVarify.getUser(request, response); - return new ResponseResult< Map, Map>(user).run(getService(user)::getSearchCondition, ParamUtil.request2Map(request)); + return new ResponseResult, Map>(user).run(getService(user)::getSearchCondition, ParamUtil.request2Map(request)); } @@ -70,7 +72,7 @@ public class OtherDeductionController { User user = HrmUserVarify.getUser(request, response); Map map = ParamUtil.request2Map(request); map.put("queryParam", queryParam); - return new ResponseResult< Map, Map>(user).run(getService(user)::list, map); + return new ResponseResult, Map>(user).run(getService(user)::list, map); } @@ -81,7 +83,7 @@ public class OtherDeductionController { User user = HrmUserVarify.getUser(request, response); Map map = ParamUtil.request2Map(request); map.put("queryParam", queryParam); - return new ResponseResult< Map, Map>(user).run(getService(user)::getDetailList, map); + return new ResponseResult, Map>(user).run(getService(user)::getDetailList, map); } @@ -89,24 +91,28 @@ public class OtherDeductionController { @Path("/downloadTemplate") @Produces(MediaType.APPLICATION_OCTET_STREAM) public Response getAll(@Context HttpServletRequest request, @Context HttpServletResponse response) { - User user = HrmUserVarify.getUser(request, response); - OtherDeductionQueryParam param = buildParam(request); - XSSFWorkbook workbook = getService(user).downloadTemplate(param); - String fileName = "其他免税扣除导入模板" + LocalDate.now(); try { - fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8"); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); + User user = HrmUserVarify.getUser(request, response); + OtherDeductionQueryParam param = buildParam(request); + XSSFWorkbook workbook = getService(user).downloadTemplate(param); + String fileName = "其他免税扣除导入模板" + LocalDate.now(); + 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; } - - 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(); - - } @@ -120,31 +126,36 @@ public class OtherDeductionController { @Path("/export") @Produces(MediaType.APPLICATION_OCTET_STREAM) public Response export(@Context HttpServletRequest request, @Context HttpServletResponse response) { - User user = HrmUserVarify.getUser(request, response); - - OtherDeductionQueryParam param = buildParam(request); - - Map map = ParamUtil.request2Map(request); - map.put("queryParam", param); - - XSSFWorkbook workbook = getService(user).export(map); - - String fileName = null; try { - fileName = URLEncoder.encode("累计专项附加扣除.xlsx", "UTF-8"); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); + User user = HrmUserVarify.getUser(request, response); + + OtherDeductionQueryParam param = buildParam(request); + + Map map = ParamUtil.request2Map(request); + map.put("queryParam", param); + + XSSFWorkbook workbook = getService(user).export(map); + + String fileName = null; + try { + fileName = URLEncoder.encode("其他免税扣除" + LocalDate.now() + ".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; } - - 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(); } @@ -152,79 +163,85 @@ public class OtherDeductionController { @Path("/exportDetail") @Produces(MediaType.APPLICATION_OCTET_STREAM) public Response exportDetail(@Context HttpServletRequest request, @Context HttpServletResponse response) { - User user = HrmUserVarify.getUser(request, response); - - OtherDeductionQueryParam param = buildParam(request); - - Map map = ParamUtil.request2Map(request); - map.put("queryParam", param); - - XSSFWorkbook workbook = getService(user).exportDetail(map); - - String fileName = null; try { - fileName = URLEncoder.encode("累计专项附加扣除明细.xlsx", "UTF-8"); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); + User user = HrmUserVarify.getUser(request, response); + + OtherDeductionQueryParam param = buildParam(request); + + Map map = ParamUtil.request2Map(request); + map.put("queryParam", param); + + XSSFWorkbook workbook = getService(user).exportDetail(map); + + String fileName = "累计专项附加扣除明细" + LocalDate.now(); + 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; } - 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(); } @Nullable private OtherDeductionQueryParam buildParam(HttpServletRequest request) { OtherDeductionQueryParam param = new OtherDeductionQueryParam(); 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 keyword = request.getParameter("keyword"); - if(StringUtils.isNotBlank(keyword)){ + if (StringUtils.isNotBlank(keyword)) { param.setKeyword(keyword); } String id = request.getParameter("id"); - if(StringUtils.isNotBlank(id)){ + if (StringUtils.isNotBlank(id)) { param.setId(Long.valueOf(id)); } String declareMonth = request.getParameter("declareMonth"); - if(StringUtils.isNotBlank(declareMonth)){ + if (StringUtils.isNotBlank(declareMonth)) { param.setDeclareMonth(Arrays.asList(declareMonth.split(","))); } String username = request.getParameter("username"); - if(StringUtils.isNotBlank(username)){ + if (StringUtils.isNotBlank(username)) { param.setUsername(username); } String employeeId = request.getParameter("employeeId"); - if(StringUtils.isNotBlank(employeeId)){ + if (StringUtils.isNotBlank(employeeId)) { param.setEmployeeId(Long.valueOf(employeeId)); } String taxAgentId = request.getParameter("taxAgentId"); - if(StringUtils.isNotBlank(taxAgentId)){ + if (StringUtils.isNotBlank(taxAgentId)) { param.setTaxAgentId(Long.valueOf(taxAgentId)); } String departmentIds = request.getParameter("departmentIds"); - if(StringUtils.isNotBlank(departmentIds)){ + if (StringUtils.isNotBlank(departmentIds)) { param.setDepartmentIds(Arrays.stream(departmentIds.split(",")).map(Long::valueOf).collect(Collectors.toList())); } String jobNum = request.getParameter("jobNum"); - if(StringUtils.isNotBlank(jobNum)){ + if (StringUtils.isNotBlank(jobNum)) { param.setJobNum(jobNum); } String idNo = request.getParameter("idNo"); - if(StringUtils.isNotBlank(idNo)){ + if (StringUtils.isNotBlank(idNo)) { param.setIdNo(idNo); } String hiredate = request.getParameter("hiredate"); - if(StringUtils.isNotBlank(hiredate)){ + if (StringUtils.isNotBlank(hiredate)) { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); List dates = Arrays.stream(hiredate.split(",")).map(d -> { try { @@ -237,11 +254,11 @@ public class OtherDeductionController { param.setHiredate(dates); } String mobile = request.getParameter("mobile"); - if(StringUtils.isNotBlank(mobile)){ + if (StringUtils.isNotBlank(mobile)) { param.setMobile(mobile); } String otherTaxExemptDeductionId = request.getParameter("otherTaxExemptDeductionId"); - if(StringUtils.isNotBlank(otherTaxExemptDeductionId)){ + if (StringUtils.isNotBlank(otherTaxExemptDeductionId)) { param.setOtherTaxExemptDeductionId(Long.valueOf(otherTaxExemptDeductionId)); } return param; @@ -254,7 +271,7 @@ public class OtherDeductionController { User user = HrmUserVarify.getUser(request, response); Map map = ParamUtil.request2Map(request); map.put("importParam", importParam); - return new ResponseResult< Map, Map>(user).run(getService(user)::preview, map); + return new ResponseResult, Map>(user).run(getService(user)::preview, map); } @POST @@ -264,9 +281,8 @@ public class OtherDeductionController { User user = HrmUserVarify.getUser(request, response); Map map = ParamUtil.request2Map(request); map.put("importParam", importParam); - return new ResponseResult< Map, Map>(user).run(getService(user)::importData, map); + return new ResponseResult, Map>(user).run(getService(user)::importData, map); } - } diff --git a/src/com/engine/salary/web/SalaryAcctController.java b/src/com/engine/salary/web/SalaryAcctController.java index 24c3d7211..990ba8758 100644 --- a/src/com/engine/salary/web/SalaryAcctController.java +++ b/src/com/engine/salary/web/SalaryAcctController.java @@ -15,6 +15,7 @@ import com.engine.salary.util.SalaryDateUtil; import com.engine.salary.util.page.PageInfo; import com.engine.salary.wrapper.*; 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; @@ -44,6 +45,7 @@ import java.util.stream.Collectors; * @author qiantao * @version 1.0 **/ +@Slf4j public class SalaryAcctController { private SalaryAcctRecordWrapper salaryAcctRecordWrapper; @@ -226,23 +228,29 @@ public class SalaryAcctController { @Path("/acctemployee/export") @Produces(MediaType.APPLICATION_OCTET_STREAM) public Response exportSalaryAcctEmployee(@Context HttpServletRequest request, @Context HttpServletResponse response) { - SalaryAcctEmployeeQueryParam param = buildSalaryAcctEmployeeQueryParam(request); - - User user = HrmUserVarify.getUser(request, response); - XSSFWorkbook workbook = getSalaryAcctExcelWrapper(user).exportSalaryAcctEmployee(param); - String time = LocalDate.now().toString(); - String fileName = "核算人员范围" + time; try { - fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8"); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); + SalaryAcctEmployeeQueryParam param = buildSalaryAcctEmployeeQueryParam(request); + + User user = HrmUserVarify.getUser(request, response); + XSSFWorkbook workbook = getSalaryAcctExcelWrapper(user).exportSalaryAcctEmployee(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; } - 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(); + } @@ -290,22 +298,27 @@ public class SalaryAcctController { @Path("/reducedemployee/export") @Produces(MediaType.APPLICATION_OCTET_STREAM) public Response exportReducedEmployee(@Context HttpServletRequest request, @Context HttpServletResponse response) { - SalaryAcctEmployeeQueryParam param = buildSalaryAcctEmployeeQueryParam(request); - User user = HrmUserVarify.getUser(request, response); - XSSFWorkbook workbook = getSalaryAcctExcelWrapper(user).exportReducedEmployee(param); - String time = LocalDate.now().toString(); - String fileName = "环比上月减少人员" + time; try { - fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8"); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); + SalaryAcctEmployeeQueryParam param = buildSalaryAcctEmployeeQueryParam(request); + User user = HrmUserVarify.getUser(request, response); + XSSFWorkbook workbook = getSalaryAcctExcelWrapper(user).exportReducedEmployee(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; } - 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(); } @@ -364,22 +377,27 @@ public class SalaryAcctController { @Path("/acctresult/export") @Produces(MediaType.APPLICATION_OCTET_STREAM) public Response exportSalaryAcctResult(@Context HttpServletRequest request, @Context HttpServletResponse response) { - SalaryAcctResultQueryParam param = new SalaryAcctResultQueryParam(); - setSalaryAcctResultQueryParam(request, param); - User user = HrmUserVarify.getUser(request, response); - XSSFWorkbook workbook = getSalaryAcctExcelWrapper(user).exportSalaryAcctResult(param); - String fileName = "薪资核算结果" + LocalDate.now(); try { - fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8"); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); + SalaryAcctResultQueryParam param = new SalaryAcctResultQueryParam(); + setSalaryAcctResultQueryParam(request, param); + User user = HrmUserVarify.getUser(request, response); + XSSFWorkbook workbook = getSalaryAcctExcelWrapper(user).exportSalaryAcctResult(param); + String fileName = "薪资核算结果" + LocalDate.now(); + 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; } - 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(); } @@ -397,33 +415,39 @@ public class SalaryAcctController { @Path("/acctresult/importtemplate/export") @Produces(MediaType.APPLICATION_OCTET_STREAM) public Response exportImportTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response) { - SalaryAcctImportTemplateParam param = new SalaryAcctImportTemplateParam(); - setSalaryAcctResultQueryParam(request, param); - - String importType = request.getParameter("importType"); - if (StringUtils.isNotBlank(importType)) { - param.setImportType(importType); - } - String salaryItemIds = request.getParameter("salaryItemIds"); - if (StringUtils.isNotBlank(salaryItemIds)) { - param.setSalaryItemIds(Arrays.stream(salaryItemIds.split(",")).map(Long::valueOf).collect(Collectors.toList())); - } - - User user = HrmUserVarify.getUser(request, response); - XSSFWorkbook workbook = getSalaryAcctExcelWrapper(user).exportImportTemplate(param); - String time = LocalDate.now().toString(); - String fileName = "薪资核算导入模板" + time; try { - fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8"); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); + SalaryAcctImportTemplateParam param = new SalaryAcctImportTemplateParam(); + setSalaryAcctResultQueryParam(request, param); + + String importType = request.getParameter("importType"); + if (StringUtils.isNotBlank(importType)) { + param.setImportType(importType); + } + String salaryItemIds = request.getParameter("salaryItemIds"); + if (StringUtils.isNotBlank(salaryItemIds)) { + param.setSalaryItemIds(Arrays.stream(salaryItemIds.split(",")).map(Long::valueOf).collect(Collectors.toList())); + } + + User user = HrmUserVarify.getUser(request, response); + XSSFWorkbook workbook = getSalaryAcctExcelWrapper(user).exportImportTemplate(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; } - 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(); + } //导入核算结果 @@ -536,33 +560,38 @@ public class SalaryAcctController { @Path("/comparisonresult/export") @Produces(MediaType.APPLICATION_OCTET_STREAM) public Response exportComparisonResult(@Context HttpServletRequest request, @Context HttpServletResponse response) { - SalaryComparisonResultQueryParam param = new SalaryComparisonResultQueryParam(); - - setSalaryAcctResultQueryParam(request, param); - String onlyDiffEmployee = request.getParameter("onlyDiffEmployee"); - if (StringUtils.isNotBlank(onlyDiffEmployee)) { - param.setOnlyDiffEmployee(Boolean.parseBoolean(onlyDiffEmployee)); - } - String onlyDiffSalaryItem = request.getParameter("onlyDiffSalaryItem"); - if (StringUtils.isNotBlank(onlyDiffSalaryItem)) { - param.setOnlyDiffSalaryItem(Boolean.parseBoolean(onlyDiffSalaryItem)); - } - - User user = HrmUserVarify.getUser(request, response); - XSSFWorkbook workbook = getSalaryAcctExcelWrapper(user).exportComparisonResult(param); - String time = LocalDate.now().toString(); - String fileName = "线下对比结果" + time; try { - fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8"); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); + SalaryComparisonResultQueryParam param = new SalaryComparisonResultQueryParam(); + + setSalaryAcctResultQueryParam(request, param); + String onlyDiffEmployee = request.getParameter("onlyDiffEmployee"); + if (StringUtils.isNotBlank(onlyDiffEmployee)) { + param.setOnlyDiffEmployee(Boolean.parseBoolean(onlyDiffEmployee)); + } + String onlyDiffSalaryItem = request.getParameter("onlyDiffSalaryItem"); + if (StringUtils.isNotBlank(onlyDiffSalaryItem)) { + param.setOnlyDiffSalaryItem(Boolean.parseBoolean(onlyDiffSalaryItem)); + } + + User user = HrmUserVarify.getUser(request, response); + XSSFWorkbook workbook = getSalaryAcctExcelWrapper(user).exportComparisonResult(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; } - 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(); } private void setSalaryAcctResultQueryParam(HttpServletRequest request, SalaryAcctResultQueryParam param) { @@ -608,27 +637,33 @@ public class SalaryAcctController { @Path("/comparisonresult/importtemplate/export") @Produces(MediaType.APPLICATION_OCTET_STREAM) public Response exportComparisonResultTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response) { - SalaryComparisonResultExportParam param = new SalaryComparisonResultExportParam(); - String salaryAcctRecordId = request.getParameter("salaryAcctRecordId"); - if (StringUtils.isNotBlank(salaryAcctRecordId)) { - param.setSalaryAcctRecordId(Long.parseLong(salaryAcctRecordId)); - } - User user = HrmUserVarify.getUser(request, response); - XSSFWorkbook workbook = getSalaryAcctExcelWrapper(user).exportComparisonResultTemplate(param); - String time = LocalDate.now().toString(); - String fileName = "线下对比结果导入模板" + time; try { - fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8"); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); + SalaryComparisonResultExportParam param = new SalaryComparisonResultExportParam(); + String salaryAcctRecordId = request.getParameter("salaryAcctRecordId"); + if (StringUtils.isNotBlank(salaryAcctRecordId)) { + param.setSalaryAcctRecordId(Long.parseLong(salaryAcctRecordId)); + } + + User user = HrmUserVarify.getUser(request, response); + XSSFWorkbook workbook = getSalaryAcctExcelWrapper(user).exportComparisonResultTemplate(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; } - 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(); } //导入线下核算结果 diff --git a/src/com/engine/salary/web/SalaryArchiveController.java b/src/com/engine/salary/web/SalaryArchiveController.java index 612bbc7dd..1efd6addf 100644 --- a/src/com/engine/salary/web/SalaryArchiveController.java +++ b/src/com/engine/salary/web/SalaryArchiveController.java @@ -11,6 +11,7 @@ import com.engine.salary.wrapper.SalaryArchiveItemWrapper; import com.engine.salary.wrapper.SalaryArchiveTaxAgentWrapper; import com.engine.salary.wrapper.SalaryArchiveWrapper; 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; @@ -42,6 +43,7 @@ import java.util.stream.Collectors; * @author qiantao * @version 1.0 **/ +@Slf4j public class SalaryArchiveController { private SalaryArchiveWrapper getSalaryArchiveWrapper(User user) { return ServiceUtil.getService(SalaryArchiveWrapper.class, user); @@ -81,25 +83,31 @@ public class SalaryArchiveController { @Path("/exportList") @Produces(MediaType.APPLICATION_OCTET_STREAM) public Response exportList(@Context HttpServletRequest request, @Context HttpServletResponse response) { - User user = HrmUserVarify.getUser(request, response); - SalaryArchiveQueryParam queryParam = buildParam(request); - - XSSFWorkbook workbook = getSalaryArchiveWrapper(user).exportList(queryParam); - - String fileName = "薪资档案" + LocalDate.now(); try { - fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8"); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); + User user = HrmUserVarify.getUser(request, response); + SalaryArchiveQueryParam queryParam = buildParam(request); + + XSSFWorkbook workbook = getSalaryArchiveWrapper(user).exportList(queryParam); + + String fileName = "薪资档案" + LocalDate.now(); + 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; } - 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(); } /** @@ -169,28 +177,33 @@ public class SalaryArchiveController { @Path("/downloadTemplate") @Produces(MediaType.APPLICATION_OCTET_STREAM) public Response downloadTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response) { - User user = HrmUserVarify.getUser(request, response); - SalaryArchiveQueryParam queryParam = buildParam(request); - - XSSFWorkbook workbook = getSalaryArchiveWrapper(user).downloadTemplate(queryParam); - - SalaryArchiveImportTypeEnum importTypeEnum = SalaryArchiveImportTypeEnum.parseByValue(queryParam.getImportType()); - - String fileName = "薪资档案导入模板-" + importTypeEnum.getDefaultLabel() + LocalDate.now(); - try { - fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8"); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); + User user = HrmUserVarify.getUser(request, response); + SalaryArchiveQueryParam queryParam = buildParam(request); + + XSSFWorkbook workbook = getSalaryArchiveWrapper(user).downloadTemplate(queryParam); + + SalaryArchiveImportTypeEnum importTypeEnum = SalaryArchiveImportTypeEnum.parseByValue(queryParam.getImportType()); + + String fileName = "薪资档案导入模板-" + importTypeEnum.getDefaultLabel() + LocalDate.now(); + + 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; } - - 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(); } @Nullable @@ -438,29 +451,34 @@ public class SalaryArchiveController { @Path("/adjustRecord/exportSalaryItemList") @Produces(MediaType.APPLICATION_OCTET_STREAM) public Response exportSalaryItemList(@Context HttpServletRequest request, @Context HttpServletResponse response) { - - User user = HrmUserVarify.getUser(request, response); - - SalaryItemAdjustRecordQueryParam param = getSalaryItemAdjustRecordQueryParam(request); - - XSSFWorkbook workbook = getSalaryArchiveItemWrapper(user).exportAdjustRecordList(param); - - String fileName = "薪资项目调整记录" + LocalDate.now(); - try { - fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8"); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); + User user = HrmUserVarify.getUser(request, response); + + SalaryItemAdjustRecordQueryParam param = getSalaryItemAdjustRecordQueryParam(request); + + XSSFWorkbook workbook = getSalaryArchiveItemWrapper(user).exportAdjustRecordList(param); + + String fileName = "薪资项目调整记录" + LocalDate.now(); + + 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; } - 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(); - } @NotNull @@ -572,30 +590,34 @@ public class SalaryArchiveController { @Path("/adjustRecord/exportTaxAgentList") @Produces(MediaType.APPLICATION_OCTET_STREAM) public Response exportTaxAgentList(@Context HttpServletRequest request, @Context HttpServletResponse response) { - - User user = HrmUserVarify.getUser(request, response); - - TaxAgentAdjustRecordQueryParam param = new TaxAgentAdjustRecordQueryParam(); - - XSSFWorkbook workbook = getSalaryArchiveTaxAgentWrapper(user).exportAdjustRecordList(param); - - String time = LocalDate.now().toString(); - String fileName = "个税扣缴义务人调整记录" + time; - try { - fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8"); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); + User user = HrmUserVarify.getUser(request, response); + + TaxAgentAdjustRecordQueryParam param = new TaxAgentAdjustRecordQueryParam(); + + XSSFWorkbook workbook = getSalaryArchiveTaxAgentWrapper(user).exportAdjustRecordList(param); + + String fileName = "个税扣缴义务人调整记录" + LocalDate.now(); + + 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; } - 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(); - } diff --git a/src/com/engine/salary/web/TaxDeclarationController.java b/src/com/engine/salary/web/TaxDeclarationController.java index 77ea7be46..714f0b45c 100644 --- a/src/com/engine/salary/web/TaxDeclarationController.java +++ b/src/com/engine/salary/web/TaxDeclarationController.java @@ -17,6 +17,7 @@ import com.engine.salary.util.page.PageInfo; import com.engine.salary.wrapper.TaxDeclarationDetailWrapper; import com.engine.salary.wrapper.TaxDeclarationWrapper; 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; @@ -31,83 +32,91 @@ import javax.ws.rs.core.StreamingOutput; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.text.ParseException; +import java.time.LocalDate; import java.util.Map; +@Slf4j public class TaxDeclarationController { - // private BaseBean logger = new BaseBean(); + // private BaseBean logger = new BaseBean(); - private TaxDeclarationService getService(User user) { - return (TaxDeclarationService) ServiceUtil.getService(TaxDeclarationServiceImpl.class, user); - } + private TaxDeclarationService getService(User user) { + return (TaxDeclarationService) ServiceUtil.getService(TaxDeclarationServiceImpl.class, user); + } - private TaxDeclarationWrapper getTaxDeclarationWrapper(User user) { - return ServiceUtil.getService(TaxDeclarationWrapper.class, user); - } - private TaxDeclarationExcelService getTaxDeclarationExcelService(User user) { - return (TaxDeclarationExcelService)ServiceUtil.getService(TaxDeclarationExcelServiceImpl.class, user); - } - private TaxDeclarationDetailWrapper getTaxDeclarationDetailWrapper(User user) { - return ServiceUtil.getService(TaxDeclarationDetailWrapper.class, user); - } + private TaxDeclarationWrapper getTaxDeclarationWrapper(User user) { + return ServiceUtil.getService(TaxDeclarationWrapper.class, user); + } - //个税申报表列表 - @POST - @Path("/list") - @Produces(MediaType.APPLICATION_JSON) - public String list(@Context HttpServletRequest request, @Context HttpServletResponse response,@RequestBody TaxDeclarationListQueryParam queryParam) throws ParseException { - User user = HrmUserVarify.getUser(request, response); - queryParam.setFromSalaryMonth(SalaryDateUtil.String2YearMonth(queryParam.getFromSalaryMonthStr()==null?"":queryParam.getFromSalaryMonthStr())); - queryParam.setEndSalaryMonth(SalaryDateUtil.String2YearMonth(queryParam.getEndSalaryMonthStr()==null?"":queryParam.getEndSalaryMonthStr())); - return new ResponseResult>(user).run(getTaxDeclarationWrapper(user)::listPage, queryParam); - } + private TaxDeclarationExcelService getTaxDeclarationExcelService(User user) { + return (TaxDeclarationExcelService) ServiceUtil.getService(TaxDeclarationExcelServiceImpl.class, user); + } - //个税申报表表单 - @GET - @Path("/getForm") - @Produces(MediaType.APPLICATION_JSON) - public String getForm(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam(value = "id") Long id) { - User user = HrmUserVarify.getUser(request, response); - return new ResponseResult(user).run(getTaxDeclarationWrapper(user)::getForm, id); - } - //个税申报表相关信息 - @GET - @Path("/getTaxDeclarationInfo") - @Produces(MediaType.APPLICATION_JSON) - public String getTaxDeclarationInfo(@Context HttpServletRequest request, @Context HttpServletResponse response,@QueryParam(value = "taxDeclarationId") Long taxDeclarationId) { - User user = HrmUserVarify.getUser(request, response); - return new ResponseResult(user).run(getTaxDeclarationWrapper(user)::getTaxDeclarationInfoById, taxDeclarationId); - } - //个税申报表生成 - @POST - @Path("/save") - @Produces(MediaType.APPLICATION_JSON) - public String save(@Context HttpServletRequest request, @Context HttpServletResponse response,@RequestBody TaxDeclarationSaveParam param) { - User user = HrmUserVarify.getUser(request, response); - param.setSalaryMonth(SalaryDateUtil.String2YearMonth(param.getSalaryMonthStr())); - param.setUser(user); - return new ResponseResult(user).run(getTaxDeclarationWrapper(user)::save, param); - } - //个税申报表详情列表 - @POST - @Path("/detail/list") - @Produces(MediaType.APPLICATION_JSON) - public String listTaxDeclarationDetail(@Context HttpServletRequest request, @Context HttpServletResponse response,@RequestBody TaxDeclarationDetailListQueryParam param) { - User user = HrmUserVarify.getUser(request, response); - param.setTaxDeclarationId(Long.parseLong(param.getTaxDeclarationIdStr())); - return new ResponseResult>(user).run(getTaxDeclarationDetailWrapper(user)::listPage, param); - } + private TaxDeclarationDetailWrapper getTaxDeclarationDetailWrapper(User user) { + return ServiceUtil.getService(TaxDeclarationDetailWrapper.class, user); + } - //个税申报表相关信息 - @GET - @Path("/export") - @Produces(MediaType.APPLICATION_OCTET_STREAM) - public Response exportTaxDeclaration(@Context HttpServletRequest request, @Context HttpServletResponse response,@QueryParam(value = "taxDeclarationId") Long taxDeclarationId) { + //个税申报表列表 + @POST + @Path("/list") + @Produces(MediaType.APPLICATION_JSON) + public String list(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxDeclarationListQueryParam queryParam) throws ParseException { + User user = HrmUserVarify.getUser(request, response); + queryParam.setFromSalaryMonth(SalaryDateUtil.String2YearMonth(queryParam.getFromSalaryMonthStr() == null ? "" : queryParam.getFromSalaryMonthStr())); + queryParam.setEndSalaryMonth(SalaryDateUtil.String2YearMonth(queryParam.getEndSalaryMonthStr() == null ? "" : queryParam.getEndSalaryMonthStr())); + return new ResponseResult>(user).run(getTaxDeclarationWrapper(user)::listPage, queryParam); + } + + //个税申报表表单 + @GET + @Path("/getForm") + @Produces(MediaType.APPLICATION_JSON) + public String getForm(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam(value = "id") Long id) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getTaxDeclarationWrapper(user)::getForm, id); + } + + //个税申报表相关信息 + @GET + @Path("/getTaxDeclarationInfo") + @Produces(MediaType.APPLICATION_JSON) + public String getTaxDeclarationInfo(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam(value = "taxDeclarationId") Long taxDeclarationId) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getTaxDeclarationWrapper(user)::getTaxDeclarationInfoById, taxDeclarationId); + } + + //个税申报表生成 + @POST + @Path("/save") + @Produces(MediaType.APPLICATION_JSON) + public String save(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxDeclarationSaveParam param) { + User user = HrmUserVarify.getUser(request, response); + param.setSalaryMonth(SalaryDateUtil.String2YearMonth(param.getSalaryMonthStr())); + param.setUser(user); + return new ResponseResult(user).run(getTaxDeclarationWrapper(user)::save, param); + } + + //个税申报表详情列表 + @POST + @Path("/detail/list") + @Produces(MediaType.APPLICATION_JSON) + public String listTaxDeclarationDetail(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxDeclarationDetailListQueryParam param) { + User user = HrmUserVarify.getUser(request, response); + param.setTaxDeclarationId(Long.parseLong(param.getTaxDeclarationIdStr())); + return new ResponseResult>(user).run(getTaxDeclarationDetailWrapper(user)::listPage, param); + } + + //个税申报表相关信息 + @GET + @Path("/export") + @Produces(MediaType.APPLICATION_OCTET_STREAM) + public Response exportTaxDeclaration(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam(value = "taxDeclarationId") Long taxDeclarationId) { + try { User user = HrmUserVarify.getUser(request, response); XSSFWorkbook workbook = getTaxDeclarationExcelService(user).exportTaxDeclaration(taxDeclarationId); - String fileName = "个税申报表"; + String fileName = "个税申报表" + LocalDate.now(); try { fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8"); } catch (UnsupportedEncodingException e) { @@ -120,6 +129,9 @@ public class TaxDeclarationController { }; 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; } + } }