From b33771d9e4df2f3cbf40045f26d2c89a5a52543b Mon Sep 17 00:00:00 2001 From: sy Date: Mon, 9 Jan 2023 14:49:58 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E8=96=AA=E9=85=AC=E7=B3=BB=E7=BB=9F-?= =?UTF-8?q?=E7=A6=8F=E5=88=A9=E6=A1=A3=E6=A1=88=EF=BC=8C=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=B1=95=E7=A4=BA=E6=B7=BB=E5=8A=A0=E5=85=A5?= =?UTF-8?q?=E8=81=8C=E6=97=A5=E6=9C=9F=E3=80=81=E7=A6=BB=E8=81=8C=E6=97=A5?= =?UTF-8?q?=E6=9C=9F=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/salary/biz/SIArchivesBiz.java | 6 ++++++ .../entity/siarchives/po/InsuranceArchivesEmployeePO.java | 8 ++++++++ .../salary/mapper/siarchives/SocialSchemeMapper.xml | 4 +++- 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/com/engine/salary/biz/SIArchivesBiz.java b/src/com/engine/salary/biz/SIArchivesBiz.java index 22665b1c6..eea301b40 100644 --- a/src/com/engine/salary/biz/SIArchivesBiz.java +++ b/src/com/engine/salary/biz/SIArchivesBiz.java @@ -1042,6 +1042,10 @@ public class SIArchivesBiz { list.add(new WeaTableColumn("150px", "手机号", "mobile")); list.add(new WeaTableColumn("150px", "员工状态", "status")); list.add(new WeaTableColumn("150px", "工号", "jobNum")); + + list.add(new WeaTableColumn("150px", "入职日期", "companystartdate")); + list.add(new WeaTableColumn("150px", "离职日期", "dismissdate")); + list.add(new WeaTableColumn("150px", "社保方案名称", "socialName")); titleMap.get(WelfareTypeEnum.SOCIAL_SECURITY.getValue()).forEach((k, v) -> list.add(new WeaTableColumn("150px", v, k))); list.add(new WeaTableColumn("150px", "社保账号", "socialAccount")); @@ -1215,6 +1219,8 @@ public class SIArchivesBiz { map.put("departmentName", item.getDepartmentName()); map.put("departmentId", item.getDepartmentId()); map.put("jobNum", item.getJobNum()); + map.put("companystartdate", item.getCompanystartdate()); + map.put("dismissdate", item.getDimissionDate()); map.put("mobile", item.getTelephone()); map.put("siSchemeId", item.getSiSchemeId()); map.put("fundSchemeId", item.getFundSchemeId()); diff --git a/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesEmployeePO.java b/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesEmployeePO.java index 42e58dfc9..6fb3c615e 100644 --- a/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesEmployeePO.java +++ b/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesEmployeePO.java @@ -44,6 +44,14 @@ public class InsuranceArchivesEmployeePO { private String hiredate; + /** + * 入职日期 + */ + private String companystartdate; + + /** + * 离职日期 + */ private String dimissionDate; private Long siSchemeId; diff --git a/src/com/engine/salary/mapper/siarchives/SocialSchemeMapper.xml b/src/com/engine/salary/mapper/siarchives/SocialSchemeMapper.xml index 1d3f9f49d..4df4edbf9 100644 --- a/src/com/engine/salary/mapper/siarchives/SocialSchemeMapper.xml +++ b/src/com/engine/salary/mapper/siarchives/SocialSchemeMapper.xml @@ -343,7 +343,9 @@ other.otherSchemeId, social.id AS socialId, fund.id AS fundId, - other.id AS otherId + other.id AS otherId, + e.companystartdate as companystartdate, + e.enddate as dismissdate FROM hrsa_insurance_base_info base LEFT JOIN hrmresource e ON base.employee_id = e.id From 97230052b314c00b52f644da9217124912aa752e Mon Sep 17 00:00:00 2001 From: sy Date: Mon, 9 Jan 2023 17:30:49 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E8=96=AA=E9=85=AC=E7=B3=BB=E7=BB=9F-?= =?UTF-8?q?=E7=A6=8F=E5=88=A9=E6=A1=A3=E6=A1=88=EF=BC=8C=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E5=92=8C=E5=AF=BC=E5=87=BA=E7=9A=84excel=E8=A1=A8=E5=A4=B4?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AF=BC=E5=85=A5=E6=88=96=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=EF=BC=8C=E5=B9=B6=E4=B8=94=E5=90=8E=E7=BC=80=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?tab=E9=A1=B5=E6=A0=87=E7=AD=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SIImportServiceImpl.java | 20 ++++++++- .../service/impl/SISchemeServiceImpl.java | 20 ++++++++- .../engine/salary/web/SISchemeController.java | 42 +++++++++++++++++-- 3 files changed, 76 insertions(+), 6 deletions(-) diff --git a/src/com/engine/salary/service/impl/SIImportServiceImpl.java b/src/com/engine/salary/service/impl/SIImportServiceImpl.java index 100d79152..8315e6677 100644 --- a/src/com/engine/salary/service/impl/SIImportServiceImpl.java +++ b/src/com/engine/salary/service/impl/SIImportServiceImpl.java @@ -15,6 +15,7 @@ import com.engine.salary.entity.siarchives.po.InsuranceArchivesSocialSchemePO; import com.engine.salary.entity.sicategory.po.ICategoryPO; import com.engine.salary.entity.sischeme.po.InsuranceSchemePO; import com.engine.salary.entity.taxagent.po.TaxAgentPO; +import com.engine.salary.enums.siaccount.EmployeeStatusEnum; import com.engine.salary.enums.sicategory.WelfareTypeEnum; import com.engine.salary.mapper.siarchives.SocialSchemeMapper; import com.engine.salary.mapper.sicategory.ICategoryMapper; @@ -61,7 +62,24 @@ public class SIImportServiceImpl extends Service implements SIImportService { Boolean exportData = param.getExportData(); //工作簿名称 - String sheetName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案"); //表头 + String sheetName; + //表头 + if (param.getRunStatuses().size() > 0) { + if (param.getRunStatuses().contains(EmployeeStatusEnum.STAY_ADD.getValue()) && param.getRunStatuses().size() == 1) { + sheetName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导入模板" + "-" + EmployeeStatusEnum.STAY_ADD.getDefaultLabel()); + } else if (param.getRunStatuses().contains(EmployeeStatusEnum.PAYING.getValue()) && param.getRunStatuses().contains(EmployeeStatusEnum.STAY_DEL.getValue()) && param.getRunStatuses().size() == 2) { + sheetName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导入模板" + "-" + "在缴员工"); + } else if (param.getRunStatuses().contains(EmployeeStatusEnum.STAY_DEL.getValue()) && param.getRunStatuses().size() == 1) { + sheetName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导入模板" + "-" + EmployeeStatusEnum.STAY_DEL.getDefaultLabel()); + } else if (param.getRunStatuses().contains(EmployeeStatusEnum.STOP_PAYMENT_FROM_ADD.getValue()) && param.getRunStatuses().contains(EmployeeStatusEnum.STOP_PAYMENT_FROM_DEL.getValue()) && param.getRunStatuses().size() == 2) { + sheetName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导入模板" + "-" + "停缴员工"); + } else { + sheetName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导入模板"); + } + } else { + sheetName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导入模板"); + } + List headers = buildHeader(); InsuranceArchivesListParam request = InsuranceArchivesListParam.builder().build(); if (param.getHireDate() != null && param.getHireDate().length == 2) { diff --git a/src/com/engine/salary/service/impl/SISchemeServiceImpl.java b/src/com/engine/salary/service/impl/SISchemeServiceImpl.java index a19a164cf..cb32b7bff 100644 --- a/src/com/engine/salary/service/impl/SISchemeServiceImpl.java +++ b/src/com/engine/salary/service/impl/SISchemeServiceImpl.java @@ -356,6 +356,24 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { //工作簿list + String sheetName; + //表头 + if (param.getRunStatuses().size() > 0) { + if (param.getRunStatuses().contains(EmployeeStatusEnum.STAY_ADD.getValue()) && param.getRunStatuses().size() == 1) { + sheetName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导出" + "-" + EmployeeStatusEnum.STAY_ADD.getDefaultLabel()); + } else if (param.getRunStatuses().contains(EmployeeStatusEnum.PAYING.getValue()) && param.getRunStatuses().contains(EmployeeStatusEnum.STAY_DEL.getValue()) && param.getRunStatuses().size() == 2) { + sheetName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导出" + "-" + "在缴员工"); + } else if (param.getRunStatuses().contains(EmployeeStatusEnum.STAY_DEL.getValue()) && param.getRunStatuses().size() == 1) { + sheetName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导出" + "-" + EmployeeStatusEnum.STAY_DEL.getDefaultLabel()); + } else if (param.getRunStatuses().contains(EmployeeStatusEnum.STOP_PAYMENT_FROM_ADD.getValue()) && param.getRunStatuses().contains(EmployeeStatusEnum.STOP_PAYMENT_FROM_DEL.getValue()) && param.getRunStatuses().size() == 2) { + sheetName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导出" + "-" + "停缴员工"); + } else { + sheetName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导出"); + } + } else { + sheetName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导出"); + } + //工作簿数据 List> rows = new LinkedList<>(); List collect = columns.stream().map(WeaTableColumn::getText).collect(Collectors.toList()); @@ -385,7 +403,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { // .dataType(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 99915, "档案")) // .function(exportMap.get("function")).build(), sheetList); //获取excel - return ExcelUtil.genWorkbook(rows, "福利档案"); + return ExcelUtil.genWorkbook(rows, sheetName); } diff --git a/src/com/engine/salary/web/SISchemeController.java b/src/com/engine/salary/web/SISchemeController.java index ee007f129..fef4b8661 100644 --- a/src/com/engine/salary/web/SISchemeController.java +++ b/src/com/engine/salary/web/SISchemeController.java @@ -8,12 +8,14 @@ import com.engine.salary.entity.sischeme.dto.InsuranceSchemeListDTO; import com.engine.salary.entity.sischeme.param.InsuranceSchemeParam; import com.engine.salary.entity.sischeme.param.InsuranceSchemeReqParam; import com.engine.salary.entity.sischeme.param.SISchemaImportParam; +import com.engine.salary.enums.siaccount.EmployeeStatusEnum; import com.engine.salary.enums.sicategory.WelfareTypeEnum; import com.engine.salary.service.SIAccountService; import com.engine.salary.service.SISchemeService; import com.engine.salary.service.impl.SIAccountServiceImpl; import com.engine.salary.service.impl.SISchemeServiceImpl; import com.engine.salary.util.ResponseResult; +import com.engine.salary.util.SalaryI18nUtil; import com.engine.salary.util.page.PageInfo; import com.engine.salary.wrapper.SISchemeWrapper; import io.swagger.v3.oas.annotations.parameters.RequestBody; @@ -181,9 +183,25 @@ public class SISchemeController { } User user = HrmUserVarify.getUser(request, response); XSSFWorkbook workbook = getService(user).export(param); - String fileName = null; + String fileName ; + //表头 + if (param.getRunStatuses().size() > 0) { + if (param.getRunStatuses().contains(EmployeeStatusEnum.STAY_ADD.getValue()) && param.getRunStatuses().size() == 1) { + fileName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导出" + "-" + EmployeeStatusEnum.STAY_ADD.getDefaultLabel()); + } else if (param.getRunStatuses().contains(EmployeeStatusEnum.PAYING.getValue()) && param.getRunStatuses().contains(EmployeeStatusEnum.STAY_DEL.getValue()) && param.getRunStatuses().size() == 2) { + fileName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导出" + "-" + "在缴员工"); + } else if (param.getRunStatuses().contains(EmployeeStatusEnum.STAY_DEL.getValue()) && param.getRunStatuses().size() == 1) { + fileName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导出" + "-" + EmployeeStatusEnum.STAY_DEL.getDefaultLabel()); + } else if (param.getRunStatuses().contains(EmployeeStatusEnum.STOP_PAYMENT_FROM_ADD.getValue()) && param.getRunStatuses().contains(EmployeeStatusEnum.STOP_PAYMENT_FROM_DEL.getValue()) && param.getRunStatuses().size() == 2) { + fileName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导出" + "-" + "停缴员工"); + } else { + fileName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导出"); + } + } else { + fileName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导出"); + } try { - fileName = URLEncoder.encode("福利档案.xlsx", "UTF-8"); + fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } @@ -230,9 +248,25 @@ public class SISchemeController { param.setEmployeeIds(insuranceAccountInspectPOS.stream().map(InsuranceAccountInspectPO::getEmployeeId).distinct().collect(Collectors.toList())); } XSSFWorkbook workbook = getService(user).exportTemplate(param); - String fileName = null; + String fileName; + //表头 + if (param.getRunStatuses().size() > 0) { + if (param.getRunStatuses().contains(EmployeeStatusEnum.STAY_ADD.getValue()) && param.getRunStatuses().size() == 1) { + fileName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导入模板" + "-" + EmployeeStatusEnum.STAY_ADD.getDefaultLabel()); + } else if (param.getRunStatuses().contains(EmployeeStatusEnum.PAYING.getValue()) && param.getRunStatuses().contains(EmployeeStatusEnum.STAY_DEL.getValue()) && param.getRunStatuses().size() == 2) { + fileName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导入模板" + "-" + "在缴员工"); + } else if (param.getRunStatuses().contains(EmployeeStatusEnum.STAY_DEL.getValue()) && param.getRunStatuses().size() == 1) { + fileName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导入模板" + "-" + EmployeeStatusEnum.STAY_DEL.getDefaultLabel()); + } else if (param.getRunStatuses().contains(EmployeeStatusEnum.STOP_PAYMENT_FROM_ADD.getValue()) && param.getRunStatuses().contains(EmployeeStatusEnum.STOP_PAYMENT_FROM_DEL.getValue()) && param.getRunStatuses().size() == 2) { + fileName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导入模板" + "-" + "停缴员工"); + } else { + fileName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导入模板"); + } + } else { + fileName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案导入模板"); + } try { - fileName = URLEncoder.encode("福利档案模板.xlsx", "UTF-8"); + fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } From 884da3dfb3cdffc9102db4c6da331002b03499e7 Mon Sep 17 00:00:00 2001 From: sy Date: Mon, 9 Jan 2023 17:51:54 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E8=96=AA=E9=85=AC=E7=B3=BB=E7=BB=9F-?= =?UTF-8?q?=E7=A6=8F=E5=88=A9=E6=A1=A3=E6=A1=88=EF=BC=8C=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E4=B8=8B=E8=BD=BD=E6=8E=A5=E5=8F=A3=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/salary/web/SISchemeController.java | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/com/engine/salary/web/SISchemeController.java b/src/com/engine/salary/web/SISchemeController.java index fef4b8661..d33775779 100644 --- a/src/com/engine/salary/web/SISchemeController.java +++ b/src/com/engine/salary/web/SISchemeController.java @@ -238,10 +238,23 @@ public class SISchemeController { * 导出档案和档案模板 * @return */ - @POST + @GET @Path("/template/export") @Produces(MediaType.APPLICATION_OCTET_STREAM) - public Response exportTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody InsuranceArchivesListParam param) { + public Response exportTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response) { + + InsuranceArchivesListParam param = new InsuranceArchivesListParam(); + String ids = request.getParameter("ids"); + if(StringUtils.isNotBlank(ids)){ + param.setIds( Arrays.stream(ids.split(",")).map(Long::valueOf).collect(Collectors.toList())); + } + + String runStatuses = request.getParameter("runStatuses"); + if(StringUtils.isNotBlank(runStatuses)){ + param.setRunStatuses( Arrays.stream(runStatuses.split(",")).map(String::valueOf).collect(Collectors.toList())); + } + param.setExportData(Boolean.valueOf(request.getParameter("exportData"))); + User user = HrmUserVarify.getUser(request, response); if (param.getInspectAll() != null && param.getInspectAll()) { List insuranceAccountInspectPOS = getSIAccountService(user).allInspects(param.getIds(), param.getBillMonth()); From 197dbd8c8a0490194f35c644053671fa4f9e1f78 Mon Sep 17 00:00:00 2001 From: sy Date: Tue, 10 Jan 2023 15:42:24 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E8=96=AA=E9=85=AC=E7=B3=BB=E7=BB=9F-?= =?UTF-8?q?=E7=A6=8F=E5=88=A9=E6=A1=A3=E6=A1=88=EF=BC=8C=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E4=B8=8B=E8=BD=BD=E5=8A=9F=E8=83=BD=E5=85=A5?= =?UTF-8?q?=E5=8F=82=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/salary/web/SISchemeController.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/com/engine/salary/web/SISchemeController.java b/src/com/engine/salary/web/SISchemeController.java index d33775779..2ed092b8e 100644 --- a/src/com/engine/salary/web/SISchemeController.java +++ b/src/com/engine/salary/web/SISchemeController.java @@ -244,10 +244,10 @@ public class SISchemeController { public Response exportTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response) { InsuranceArchivesListParam param = new InsuranceArchivesListParam(); - String ids = request.getParameter("ids"); - if(StringUtils.isNotBlank(ids)){ - param.setIds( Arrays.stream(ids.split(",")).map(Long::valueOf).collect(Collectors.toList())); - } +// String ids = request.getParameter("ids"); +// if(StringUtils.isNotBlank(ids)){ +// param.setIds( Arrays.stream(ids.split(",")).map(Long::valueOf).collect(Collectors.toList())); +// } String runStatuses = request.getParameter("runStatuses"); if(StringUtils.isNotBlank(runStatuses)){