From c339798dc8043de3a35912c07767e7d5ea255930 Mon Sep 17 00:00:00 2001 From: sy Date: Wed, 16 Nov 2022 09:48:17 +0800 Subject: [PATCH] =?UTF-8?q?=E8=96=AA=E9=85=AC=E7=B3=BB=E7=BB=9F-=E7=A6=8F?= =?UTF-8?q?=E5=88=A9=E5=8F=B0=E8=B4=A6=EF=BC=8C=E9=80=80=E5=B7=AE=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=AF=BC=E5=87=BA=E5=8A=9F=E8=83=BDv1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../po/InsuranceAccountDetailPO.java | 2 +- .../service/impl/SIExportServiceImpl.java | 20 ++++++++------ .../engine/salary/web/SIExportController.java | 26 +++++++++++++++++++ 3 files changed, 39 insertions(+), 9 deletions(-) diff --git a/src/com/engine/salary/entity/siaccount/po/InsuranceAccountDetailPO.java b/src/com/engine/salary/entity/siaccount/po/InsuranceAccountDetailPO.java index deede8bfb..5caeaff88 100644 --- a/src/com/engine/salary/entity/siaccount/po/InsuranceAccountDetailPO.java +++ b/src/com/engine/salary/entity/siaccount/po/InsuranceAccountDetailPO.java @@ -50,7 +50,7 @@ public class InsuranceAccountDetailPO { private Integer paymentStatus; /** - * 补缴月份 + * 补缴月份/退差月份 */ private String supplementaryMonth; diff --git a/src/com/engine/salary/service/impl/SIExportServiceImpl.java b/src/com/engine/salary/service/impl/SIExportServiceImpl.java index 1b1ad1bfc..1e05edf05 100644 --- a/src/com/engine/salary/service/impl/SIExportServiceImpl.java +++ b/src/com/engine/salary/service/impl/SIExportServiceImpl.java @@ -151,12 +151,14 @@ public class SIExportServiceImpl extends Service implements SIExportService { AccountExportPOEncrypt.decryptAccountExportPOList(accountExportPOS); List columns = new ArrayList<>(); List> records = new ArrayList<>(); - if (Objects.equals(PaymentStatusEnum.COMMON.getValue(), paymentStatus)) { - columns = buildCommonColumns(accountExportPOS, false); - } - if (Objects.equals(PaymentStatusEnum.REPAIR.getValue(), paymentStatus)) { - columns = buildCommonColumns(accountExportPOS, true); - } +// if (Objects.equals(PaymentStatusEnum.COMMON.getValue(), paymentStatus)) { +// columns = buildCommonColumns(accountExportPOS, false); +// } +// if (Objects.equals(PaymentStatusEnum.REPAIR.getValue(), paymentStatus)) { +// columns = buildCommonColumns(accountExportPOS, true); +// } + columns = buildCommonColumns(accountExportPOS, paymentStatus); + records = buildCommonRecords(accountExportPOS); List> excelSheetData = new ArrayList<>(); //工作簿名称 @@ -428,7 +430,7 @@ public class SIExportServiceImpl extends Service implements SIExportService { } - private List buildCommonColumns(List pos, boolean flag) { + private List buildCommonColumns(List pos, Integer paymentStatus) { List list = new ArrayList<>(); Map categoryIdNameMap = categoryIdNameMap(); Map> columns = buildPaymentTitle(pos, categoryIdNameMap); @@ -440,8 +442,10 @@ public class SIExportServiceImpl extends Service implements SIExportService { list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(86317, "工号"), "workcode")); list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(86187, "员工状态"), "employeeStatus")); list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(100377, "数据来源"), "sourceFrom")); - if (flag) { + if (paymentStatus.equals(PaymentStatusEnum.REPAIR.getValue())) { list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(100379, "补缴月份"), "supplementaryMonth")); + } else if (paymentStatus.equals(PaymentStatusEnum.RECESSION.getValue())) { + list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(100379, "退差月份"), "supplementaryMonth")); } list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(91325, "个税扣缴义务人"), "socialPayOrg")); list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(91324, "社保账号"), "socialAccount")); diff --git a/src/com/engine/salary/web/SIExportController.java b/src/com/engine/salary/web/SIExportController.java index 2b5a7a337..aa64af28b 100644 --- a/src/com/engine/salary/web/SIExportController.java +++ b/src/com/engine/salary/web/SIExportController.java @@ -155,6 +155,32 @@ public class SIExportController { return Response.ok(output).header("Content-disposition", "attachment;filename=" + fileName).header("Cache-Control", "no-cache").build(); } + /** + * 福利台账-退差核算数据导出 + */ + @GET + @Path("/recession/export") + @Produces(MediaType.APPLICATION_OCTET_STREAM) + public Response exportRecession(@Context HttpServletRequest request, @Context HttpServletResponse response, + @QueryParam("billMonth") String billMonth,@QueryParam("paymentOrganization") String paymentOrganization) { + InsuranceExportParam param = InsuranceExportParam.builder().billMonth(billMonth).paymentOrganization(paymentOrganization).build(); + User user = HrmUserVarify.getUser(request, response); + XSSFWorkbook workbook = getSIExportWrapper(user).exportAccount(PaymentStatusEnum.RECESSION.getValue(),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(); + } + @GET @Path("/overView/export") @Produces(MediaType.APPLICATION_OCTET_STREAM)