From 2ee605df446fc8afebc96f85c8b746d587ccd70e Mon Sep 17 00:00:00 2001 From: Harryxzy Date: Thu, 15 Aug 2024 13:56:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=AE=E5=8A=A8=E8=96=AA=E9=85=AC=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datacollection/bo/VariableArchiveBO.java | 1 + .../param/VariableArchiveQueryParam.java | 2 + .../impl/VariableArchiveServiceImpl.java | 53 ++++++++------- .../salary/web/VariableArchiveController.java | 39 +++-------- .../wrapper/VariableArchiveWrapper.java | 65 ------------------- 5 files changed, 40 insertions(+), 120 deletions(-) diff --git a/src/com/engine/salary/entity/datacollection/bo/VariableArchiveBO.java b/src/com/engine/salary/entity/datacollection/bo/VariableArchiveBO.java index b4f2778d7..f9d8345c8 100644 --- a/src/com/engine/salary/entity/datacollection/bo/VariableArchiveBO.java +++ b/src/com/engine/salary/entity/datacollection/bo/VariableArchiveBO.java @@ -37,6 +37,7 @@ public class VariableArchiveBO { WeaTableColumn employeeIdColumn = new WeaTableColumn("100px", "人员信息表的主键id", "employeeId"); employeeIdColumn.setDisplay(WeaBoolAttr.FALSE); columns.add(employeeIdColumn); + columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(0, "薪资所属月"), "salaryMonth")); columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(85429, "个税扣缴义务人"), "taxAgentName")); columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(85429, "姓名"), "username")); columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86185, "部门"), "departmentName")); diff --git a/src/com/engine/salary/entity/datacollection/param/VariableArchiveQueryParam.java b/src/com/engine/salary/entity/datacollection/param/VariableArchiveQueryParam.java index 76066cea8..aec1d0f83 100644 --- a/src/com/engine/salary/entity/datacollection/param/VariableArchiveQueryParam.java +++ b/src/com/engine/salary/entity/datacollection/param/VariableArchiveQueryParam.java @@ -47,4 +47,6 @@ public class VariableArchiveQueryParam extends BaseQueryParam { private boolean hasData; private List employeeIds; + + private List columns; } diff --git a/src/com/engine/salary/service/impl/VariableArchiveServiceImpl.java b/src/com/engine/salary/service/impl/VariableArchiveServiceImpl.java index 73bbac9e4..3c73598d1 100644 --- a/src/com/engine/salary/service/impl/VariableArchiveServiceImpl.java +++ b/src/com/engine/salary/service/impl/VariableArchiveServiceImpl.java @@ -524,40 +524,45 @@ public class VariableArchiveServiceImpl extends Service implements VariableArchi // 获取所有可被引用的薪资项目 List variableItems = getVariableItemService(user).listAll(); - List header = Lists.newArrayList(); - header.add(SalaryI18nUtil.getI18nLabel(0, "个税扣缴义务人")); - header.add(SalaryI18nUtil.getI18nLabel(85429, "姓名")); - header.add(SalaryI18nUtil.getI18nLabel(86185, "部门")); - header.add(SalaryI18nUtil.getI18nLabel(86186, "手机号")); - header.add(SalaryI18nUtil.getI18nLabel(1933, "工号")); - header.add(SalaryI18nUtil.getI18nLabel(86186, "证件号码")); - header.add(SalaryI18nUtil.getI18nLabel(86187, "入职日期")); - for (VariableItemPO variableItem : variableItems) { - header.add(variableItem.getName()); - } + List header = VariableArchiveBO.buildVariableArchiveTable(variableItems); + Map columnMap = SalaryEntityUtil.convert2Map(header, WeaTableColumn::getColumn); + + List finalColumns = new ArrayList<>(); + param.getColumns().forEach(col -> { + WeaTableColumn column = columnMap.get(col); + if (column != null) { + finalColumns.add(column); + } + }); + header = finalColumns; // 2.表头 List> rows = new ArrayList<>(); - rows.add(header); + rows.add(header.stream().map(WeaTableColumn::getText).collect(Collectors.toList())); // 获取档案信息 List variableArchiveList = list(param); List> listMaps = buildVariableArchiveData(variableArchiveList); // 组装数据 + List finalHeader = header; listMaps.forEach(e -> { List row = new ArrayList<>(); - row.add(e.get("taxAgentName").toString()); - row.add(e.get("username").toString()); - row.add(Optional.ofNullable(e.get("departmentName")).orElse("").toString()); - row.add(e.get("mobile") == null ? "" : e.get("mobile").toString()); - row.add(Optional.ofNullable(e.get("workcode")).orElse("").toString()); - row.add(Util.null2String(e.get("idNo"))); - row.add(Util.null2String(e.get("companystartdate"))); - - // 薪资项目数据 - for (VariableItemPO variableItem : variableItems) { - row.add(e.containsKey(variableItem.getId() + SalaryItemConstant.VARIABLE_ITEM_DYNAMIC_SUFFIX) ? (e.get(variableItem.getId() + SalaryItemConstant.VARIABLE_ITEM_DYNAMIC_SUFFIX) == null ? "" - : e.get(variableItem.getId() + SalaryItemConstant.VARIABLE_ITEM_DYNAMIC_SUFFIX).toString()) : ""); + for (WeaTableColumn column : finalHeader) { + row.add(Util.null2String(e.get(column.getColumn()))); } + // row.add(e.get("salaryMonth").toString()); + // row.add(e.get("taxAgentName").toString()); + // row.add(e.get("username").toString()); + // row.add(Optional.ofNullable(e.get("departmentName")).orElse("").toString()); + // row.add(e.get("mobile") == null ? "" : e.get("mobile").toString()); + // row.add(Optional.ofNullable(e.get("workcode")).orElse("").toString()); + // row.add(Util.null2String(e.get("idNo"))); + // row.add(Util.null2String(e.get("companystartdate"))); + // + // // 薪资项目数据 + // for (VariableItemPO variableItem : variableItems) { + // row.add(e.containsKey(variableItem.getId() + SalaryItemConstant.VARIABLE_ITEM_DYNAMIC_SUFFIX) ? (e.get(variableItem.getId() + SalaryItemConstant.VARIABLE_ITEM_DYNAMIC_SUFFIX) == null ? "" + // : e.get(variableItem.getId() + SalaryItemConstant.VARIABLE_ITEM_DYNAMIC_SUFFIX).toString()) : ""); + // } rows.add(row); }); diff --git a/src/com/engine/salary/web/VariableArchiveController.java b/src/com/engine/salary/web/VariableArchiveController.java index 217ba9699..a86ff0288 100644 --- a/src/com/engine/salary/web/VariableArchiveController.java +++ b/src/com/engine/salary/web/VariableArchiveController.java @@ -150,13 +150,17 @@ public class VariableArchiveController { * @param * @return */ - @GET + @POST @Path("/export") @Produces(MediaType.APPLICATION_OCTET_STREAM) - public Response export(@Context HttpServletRequest request, @Context HttpServletResponse response) { + public Response export(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody VariableArchiveQueryParam param) { try { User user = HrmUserVarify.getUser(request, response); - VariableArchiveQueryParam param = buildParam(request); + // VariableArchiveQueryParam param = buildParam(request); + // String columns = request.getParameter("columns"); + // if (StringUtils.isNotBlank(columns)) { + // param.setColumns(Arrays.stream(columns.split(",")).collect(Collectors.toList())); + // } XSSFWorkbook workbook = getVariableArchiveWrapper(user).export(param); @@ -211,6 +215,7 @@ public class VariableArchiveController { if (StringUtils.isNotBlank(hasData)) { param.setHasData(hasData.equals("true")); } + return param; } @@ -245,32 +250,4 @@ public class VariableArchiveController { return new ResponseResult, String>(user).run(getVariableArchiveWrapper(user)::deleteSelectVariableArchive, variableArchiveQueryParam.getIds()); } - // /** - // * @description 获取其他免税扣除数据 - // * @return String - // * @author Harryxzy - // * @date 2022/10/31 13:42 - // */ - // @POST - // @Path("/getData") - // @Produces(MediaType.APPLICATION_JSON) - // public String getOtherDeduction(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody OtherDeductionParam otherDeductionParam) { - // User user = HrmUserVarify.getUser(request, response); - // return new ResponseResult(user).run(getOtherDeductionWrapper(user)::getOtherDeduction, otherDeductionParam); - // } - // - // /** - // * @description 删除所选其他免税扣除 - // * @return String - // * @author Harryxzy - // * @date 2022/10/27 14:41 - // */ - // @POST - // @Path("/deleteSelectData") - // @Produces(MediaType.APPLICATION_JSON) - // public String deleteSelectOtherDeduction(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody AddUpDeductionRecordDeleteParam otherDeductionDeleteParam) { - // User user = HrmUserVarify.getUser(request, response); - // return new ResponseResult>(user).run(getOtherDeductionWrapper(user)::deleteSelectData, otherDeductionDeleteParam); - // } - } diff --git a/src/com/engine/salary/wrapper/VariableArchiveWrapper.java b/src/com/engine/salary/wrapper/VariableArchiveWrapper.java index 5a3108980..9b07ec34d 100644 --- a/src/com/engine/salary/wrapper/VariableArchiveWrapper.java +++ b/src/com/engine/salary/wrapper/VariableArchiveWrapper.java @@ -122,69 +122,4 @@ public class VariableArchiveWrapper extends Service { public void deleteSelectVariableArchive(Collection deleteIds) { getVariableArchiveService(user).deleteSelectVariableArchive(deleteIds); } - - - // /** - // * 导出-其他免税扣除列表 - // * - // * @param queryParam - // * @return - // */ - // public XSSFWorkbook export(OtherDeductionQueryParam queryParam) { - // return getOtherDeductionService(user).export(queryParam); - // } - // - // /** - // * 下载导入模板 - // * - // * @param queryParam - // * @return - // */ - // public XSSFWorkbook downloadTemplate(OtherDeductionQueryParam queryParam) { - // return getOtherDeductionService(user).downloadTemplate(queryParam); - // } - // - // /** - // * 预览 - // */ - // public Map preview(OtherDeductionImportParam importParam) { - // return getOtherDeductionService(user).preview(importParam); - // } - // - // /** - // * 导入数据 - // */ - // public Map importData(OtherDeductionImportParam importParam) { - // return getOtherDeductionService(user).importData(importParam); - // } - // - // /** - // * 编辑数据 - // */ - // public void editData(OtherDeductionParam otherDeductionParam) { - // getOtherDeductionService(user).editData(otherDeductionParam); - // } - // - // - // /** - // * 新增数据 - // */ - // public void createData(OtherDeductionParam otherDeductionParam) { - // getOtherDeductionService(user).createData(otherDeductionParam); - // } - // - // /** - // * 删除所选数据 - // */ - // public void deleteSelectData(AddUpDeductionRecordDeleteParam deleteParam) { - // getOtherDeductionService(user).deleteSelectData(deleteParam); - // } - // - // - // /** - // * 获取数据 - // */ - // public OtherDeductionRecordDTO getOtherDeduction(OtherDeductionParam otherDeductionParam) { - // return getOtherDeductionService(user).getOtherDeduction(otherDeductionParam); - // } }