From 49cbb7a7cc91c88d1a4d284c3bacfe105d31d3e1 Mon Sep 17 00:00:00 2001 From: Harryxzy Date: Mon, 14 Oct 2024 10:38:30 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=B5=AE=E5=8A=A8=E8=96=AA=E9=85=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../po/VariableArchiveItemPO.java | 2 + .../service/VariableArchiveService.java | 2 + .../impl/VariableArchiveItemServiceImpl.java | 6 ++- .../impl/VariableArchiveServiceImpl.java | 40 +++++++++++++++++-- .../salary/web/VariableArchiveController.java | 16 ++++++++ .../wrapper/VariableArchiveWrapper.java | 4 ++ 6 files changed, 66 insertions(+), 4 deletions(-) diff --git a/src/com/engine/salary/entity/datacollection/po/VariableArchiveItemPO.java b/src/com/engine/salary/entity/datacollection/po/VariableArchiveItemPO.java index 52e9772e4..cd211f2d3 100644 --- a/src/com/engine/salary/entity/datacollection/po/VariableArchiveItemPO.java +++ b/src/com/engine/salary/entity/datacollection/po/VariableArchiveItemPO.java @@ -1,5 +1,6 @@ package com.engine.salary.entity.datacollection.po; +import com.engine.salary.annotation.Encrypt; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -41,6 +42,7 @@ public class VariableArchiveItemPO { /** * 浮动值 */ + @Encrypt private String itemValue; /** diff --git a/src/com/engine/salary/service/VariableArchiveService.java b/src/com/engine/salary/service/VariableArchiveService.java index f82fcc031..4579eba6a 100644 --- a/src/com/engine/salary/service/VariableArchiveService.java +++ b/src/com/engine/salary/service/VariableArchiveService.java @@ -70,4 +70,6 @@ public interface VariableArchiveService { void deleteSelectVariableArchive(Collection deleteIds); List> listBySalaryMonthAndEmployeeIds(YearMonth salaryMonth, List employeeIds, Long taxAgentId); + + void updateData(VariableArchiveSaveParam updateParam); } diff --git a/src/com/engine/salary/service/impl/VariableArchiveItemServiceImpl.java b/src/com/engine/salary/service/impl/VariableArchiveItemServiceImpl.java index bdba34b1a..7e5cacec5 100644 --- a/src/com/engine/salary/service/impl/VariableArchiveItemServiceImpl.java +++ b/src/com/engine/salary/service/impl/VariableArchiveItemServiceImpl.java @@ -1,6 +1,7 @@ package com.engine.salary.service.impl; import com.engine.core.impl.Service; +import com.engine.salary.encrypt.EncryptUtil; import com.engine.salary.entity.datacollection.po.VariableArchiveItemPO; import com.engine.salary.mapper.datacollection.VariableArchiveItemMapper; import com.engine.salary.service.VariableArchiveItemService; @@ -18,6 +19,7 @@ import java.util.List; * @description 浮动薪酬档案明细 */ public class VariableArchiveItemServiceImpl extends Service implements VariableArchiveItemService { + private EncryptUtil encryptUtil = new EncryptUtil(); private VariableArchiveItemMapper getVariableArchiveItemMapper(){ return MapperProxyFactory.getProxy(VariableArchiveItemMapper.class); @@ -34,7 +36,8 @@ public class VariableArchiveItemServiceImpl extends Service implements VariableA if (CollectionUtils.isEmpty(variableArchiveIds)) { return Collections.emptyList(); } - return getVariableArchiveItemMapper().listSome(VariableArchiveItemPO.builder().variableArchiveIds(variableArchiveIds).build()); + List variableArchiveItemPOS = getVariableArchiveItemMapper().listSome(VariableArchiveItemPO.builder().variableArchiveIds(variableArchiveIds).build()); + return encryptUtil.decryptList(variableArchiveItemPOS, VariableArchiveItemPO.class); } /** @@ -52,6 +55,7 @@ public class VariableArchiveItemServiceImpl extends Service implements VariableA if (CollectionUtils.isEmpty(insertList)) { return 0; } + encryptUtil.encryptList(insertList, VariableArchiveItemPO.class); List> partition = Lists.partition(insertList, 50); partition.forEach(part -> getVariableArchiveItemMapper().batchInsert(part)); return 0; diff --git a/src/com/engine/salary/service/impl/VariableArchiveServiceImpl.java b/src/com/engine/salary/service/impl/VariableArchiveServiceImpl.java index b008273c6..6faa540bb 100644 --- a/src/com/engine/salary/service/impl/VariableArchiveServiceImpl.java +++ b/src/com/engine/salary/service/impl/VariableArchiveServiceImpl.java @@ -151,9 +151,6 @@ public class VariableArchiveServiceImpl extends Service implements VariableArchi */ @Override public List> buildVariableArchiveData(Collection variableArchives) { - if (CollectionUtils.isEmpty(variableArchives)) { - // 无数据 - } List variableArchiveIds = variableArchives.stream().map(VariableArchiveListDTO::getId).collect(Collectors.toList()); // 获取浮动薪资档案所对应的浮动薪资项目数据 List variableArchiveItemList = getVariableArchiveItemService(user).listByVariableArchiveIds(variableArchiveIds); @@ -599,4 +596,41 @@ public class VariableArchiveServiceImpl extends Service implements VariableArchi List variableArchiveListDTO = list(queryParam); return buildVariableArchiveData(variableArchiveListDTO); } + + @Override + public void updateData(VariableArchiveSaveParam updateParam) { + if (updateParam.getId() == null) { + throw new SalaryRunTimeException("参数错误"); + } + // 获取浮动薪酬档案 + VariableArchivePO variableArchivePO = getVariableArchiveMapper().getById(updateParam.getId()); + if (variableArchivePO == null) { + throw new SalaryRunTimeException("浮动薪酬档案不存在或已被删除"); + } + + // 删除原有的浮动薪酬档案明细 + getVariableArchiveItemService(user).deleteByArchiveIds(Collections.singletonList(updateParam.getId())); + + // 保存浮动薪资档案详细信息 + List variableArchiveItemList = new ArrayList<>(); + Date now = new Date(); + updateParam.getItemValueList().forEach(e -> { + variableArchiveItemList.add(VariableArchiveItemPO.builder() + .id(IdGenerator.generate()) + .employeeId(updateParam.getEmployeeId()) + .variableArchiveId(variableArchivePO.getId()) + .variableItemId(e.getVariableItemId()) + .itemValue(e.getItemValue()) + .creator(Long.valueOf(user.getUID())) + .createTime(now) + .updateTime(now) + .deleteType(NumberUtils.INTEGER_ZERO) + .tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY) + .build()); + }); + + if (CollectionUtils.isNotEmpty(variableArchiveItemList)) { + getVariableArchiveItemService(user).batchInsert(variableArchiveItemList); + } + } } diff --git a/src/com/engine/salary/web/VariableArchiveController.java b/src/com/engine/salary/web/VariableArchiveController.java index c0eb2de43..1afce5c88 100644 --- a/src/com/engine/salary/web/VariableArchiveController.java +++ b/src/com/engine/salary/web/VariableArchiveController.java @@ -114,6 +114,22 @@ public class VariableArchiveController { return new ResponseResult(user).run(getVariableArchiveWrapper(user)::createData, saveParam); } + /** + * 编辑浮动薪酬档案 + * + * @param request + * @param response + * @param updateParam + * @return + */ + @POST + @Path("/updateData") + @Produces(MediaType.APPLICATION_JSON) + public String updateData(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody VariableArchiveSaveParam updateParam) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getVariableArchiveWrapper(user)::updateData, updateParam); + } + @GET @Path("/downloadTemplate") diff --git a/src/com/engine/salary/wrapper/VariableArchiveWrapper.java b/src/com/engine/salary/wrapper/VariableArchiveWrapper.java index b26df0cba..a1a1bcb54 100644 --- a/src/com/engine/salary/wrapper/VariableArchiveWrapper.java +++ b/src/com/engine/salary/wrapper/VariableArchiveWrapper.java @@ -123,4 +123,8 @@ public class VariableArchiveWrapper extends Service { public void deleteSelectVariableArchive(Collection deleteIds) { getVariableArchiveService(user).deleteSelectVariableArchive(deleteIds); } + + public void updateData(VariableArchiveSaveParam updateParam) { + getVariableArchiveService(user).updateData(updateParam); + } } From dbd1b574e00e644bc83ab681bd29f5a6f340ae80 Mon Sep 17 00:00:00 2001 From: Harryxzy Date: Mon, 14 Oct 2024 15:05:22 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=B5=AE=E5=8A=A8=E8=96=AA=E9=85=AC?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/VariableArchiveService.java | 2 +- .../impl/VariableArchiveServiceImpl.java | 2 +- .../salary/web/VariableArchiveController.java | 23 +++++-------------- .../wrapper/VariableArchiveWrapper.java | 2 +- 4 files changed, 9 insertions(+), 20 deletions(-) diff --git a/src/com/engine/salary/service/VariableArchiveService.java b/src/com/engine/salary/service/VariableArchiveService.java index 4579eba6a..280a4064d 100644 --- a/src/com/engine/salary/service/VariableArchiveService.java +++ b/src/com/engine/salary/service/VariableArchiveService.java @@ -40,7 +40,7 @@ public interface VariableArchiveService { * @param variableArchives * @return */ - List> buildVariableArchiveData(Collection variableArchives); + List> buildVariableArchiveData(List variableArchives); /** * 创建浮动薪酬档案 diff --git a/src/com/engine/salary/service/impl/VariableArchiveServiceImpl.java b/src/com/engine/salary/service/impl/VariableArchiveServiceImpl.java index 6faa540bb..389c08788 100644 --- a/src/com/engine/salary/service/impl/VariableArchiveServiceImpl.java +++ b/src/com/engine/salary/service/impl/VariableArchiveServiceImpl.java @@ -150,7 +150,7 @@ public class VariableArchiveServiceImpl extends Service implements VariableArchi * @return */ @Override - public List> buildVariableArchiveData(Collection variableArchives) { + public List> buildVariableArchiveData(List variableArchives) { List variableArchiveIds = variableArchives.stream().map(VariableArchiveListDTO::getId).collect(Collectors.toList()); // 获取浮动薪资档案所对应的浮动薪资项目数据 List variableArchiveItemList = getVariableArchiveItemService(user).listByVariableArchiveIds(variableArchiveIds); diff --git a/src/com/engine/salary/web/VariableArchiveController.java b/src/com/engine/salary/web/VariableArchiveController.java index 1afce5c88..f179c9683 100644 --- a/src/com/engine/salary/web/VariableArchiveController.java +++ b/src/com/engine/salary/web/VariableArchiveController.java @@ -111,23 +111,12 @@ public class VariableArchiveController { @Produces(MediaType.APPLICATION_JSON) public String createData(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody VariableArchiveSaveParam saveParam) { User user = HrmUserVarify.getUser(request, response); - return new ResponseResult(user).run(getVariableArchiveWrapper(user)::createData, saveParam); - } - - /** - * 编辑浮动薪酬档案 - * - * @param request - * @param response - * @param updateParam - * @return - */ - @POST - @Path("/updateData") - @Produces(MediaType.APPLICATION_JSON) - public String updateData(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody VariableArchiveSaveParam updateParam) { - User user = HrmUserVarify.getUser(request, response); - return new ResponseResult(user).run(getVariableArchiveWrapper(user)::updateData, updateParam); + if (saveParam.getId() == null) { + return new ResponseResult(user).run(getVariableArchiveWrapper(user)::createData, saveParam); + } else { + // 更新 + return new ResponseResult(user).run(getVariableArchiveWrapper(user)::updateData, saveParam); + } } diff --git a/src/com/engine/salary/wrapper/VariableArchiveWrapper.java b/src/com/engine/salary/wrapper/VariableArchiveWrapper.java index a1a1bcb54..61f9dcc86 100644 --- a/src/com/engine/salary/wrapper/VariableArchiveWrapper.java +++ b/src/com/engine/salary/wrapper/VariableArchiveWrapper.java @@ -52,7 +52,7 @@ public class VariableArchiveWrapper extends Service { //薪资档案列表 PageInfo pageInfo = getVariableArchiveService(user).listPage(queryParam); - Collection salaryArchives = pageInfo.getList(); + List salaryArchives = pageInfo.getList(); // 获取所有浮动薪酬项目 List variableItems = getVariableItemService(user).listAll();