From bc7ebf868d63a073a2ce9c97be556c7ab7f782d6 Mon Sep 17 00:00:00 2001 From: Harryxzy Date: Wed, 3 Apr 2024 14:05:52 +0800 Subject: [PATCH] =?UTF-8?q?=E9=B2=81=E6=8E=A7=E6=95=B0=E5=AD=97=E5=86=B2?= =?UTF-8?q?=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../report/bo/SalaryAcctResultReportBO.java | 40 +++++++++++++++++++ .../param/SalaryAcctResultBatchEditParam.java | 40 +++++++++++++++++++ .../service/SalaryAcctResultService.java | 7 ++++ .../impl/SalaryAcctResultServiceImpl.java | 3 +- .../salary/web/SalaryAcctController.java | 9 +++++ .../wrapper/SalaryAcctResultWrapper.java | 8 ++++ 6 files changed, 106 insertions(+), 1 deletion(-) create mode 100644 src/com/engine/salary/entity/salaryacct/param/SalaryAcctResultBatchEditParam.java diff --git a/src/com/engine/salary/entity/report/bo/SalaryAcctResultReportBO.java b/src/com/engine/salary/entity/report/bo/SalaryAcctResultReportBO.java index 5b6c4d2c9..161ff1b1a 100644 --- a/src/com/engine/salary/entity/report/bo/SalaryAcctResultReportBO.java +++ b/src/com/engine/salary/entity/report/bo/SalaryAcctResultReportBO.java @@ -1,5 +1,6 @@ package com.engine.salary.entity.report.bo; +import cn.hutool.core.util.ObjectUtil; import com.engine.salary.constant.SalaryDefaultTenantConstant; import com.engine.salary.entity.datacollection.DataCollectionEmployee; import com.engine.salary.entity.report.po.SalaryAcctResultReportPO; @@ -62,6 +63,45 @@ public class SalaryAcctResultReportBO { .collect(Collectors.toList()); } + + public static List lkszConvert2PO(List items, + SalaryAcctEmployeePO salaryAcctEmployee, + Long employeeId, Map emps) { + if (CollectionUtils.isEmpty(items) || ObjectUtil.isEmpty(salaryAcctEmployee)) { + return Collections.emptyList(); + } + Date now = new Date(); + return items.stream() + .map(e -> { + SalaryAcctResultReportPO po = SalaryAcctResultReportPO.builder() + .id(IdGenerator.generate()) + .salarySobId(salaryAcctEmployee.getSalarySobId()) + .salaryItemId(e.getSalaryItemId()) + .salaryAcctRecordId(salaryAcctEmployee.getSalaryAcctRecordId()) + .salaryAcctEmpId(salaryAcctEmployee.getId().toString()) + .employeeId(salaryAcctEmployee.getEmployeeId().toString()) + .taxAgentId(salaryAcctEmployee.getTaxAgentId()) + .resultValue(e.getResultValue()) + .creator(employeeId) + .createTime(now) + .updateTime(now) + .deleteType(NumberUtils.INTEGER_ZERO) + .tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY) + .build(); + + DataCollectionEmployee dataCollectionEmployee = emps.get(salaryAcctEmployee.getEmployeeId()); + if (dataCollectionEmployee != null) { + po.setDepartmentId(dataCollectionEmployee.getDepartmentId()); + po.setSubcompanyId(dataCollectionEmployee.getSubcompanyid()); + po.setCostcenterId(dataCollectionEmployee.getCostcenterId()); + po.setJobtitleId(dataCollectionEmployee.getJobtitleId()); + po.setLocationId(dataCollectionEmployee.getLocationId()); + } + return po; + }) + .collect(Collectors.toList()); + } + public static List convert2ReportPO(Collection temps, Map emps) { // Map longDataCollectionEmployeeMap = SalaryEntityUtil.convert2Map(emps, DataCollectionEmployee::getEmployeeId); if (CollectionUtils.isEmpty(temps)) { diff --git a/src/com/engine/salary/entity/salaryacct/param/SalaryAcctResultBatchEditParam.java b/src/com/engine/salary/entity/salaryacct/param/SalaryAcctResultBatchEditParam.java new file mode 100644 index 000000000..487527d51 --- /dev/null +++ b/src/com/engine/salary/entity/salaryacct/param/SalaryAcctResultBatchEditParam.java @@ -0,0 +1,40 @@ +package com.engine.salary.entity.salaryacct.param; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * @ClassName SalaryAcctResultBatchUpdateParam + * @author Harryxzy + * @date 2023/12/4 13:48 + * @description 鲁控数字批量编辑参数 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class SalaryAcctResultBatchEditParam { + + private Long salaryAcctRecordId; + + private List resultValueList; + + + @Data + @Builder + @AllArgsConstructor + @NoArgsConstructor + public static class resultValue { + + // 薪资核算人员id + private Long id; + + // 薪资项目值 + private List items; + } + +} diff --git a/src/com/engine/salary/service/SalaryAcctResultService.java b/src/com/engine/salary/service/SalaryAcctResultService.java index 0090f8330..d4bc3bf35 100644 --- a/src/com/engine/salary/service/SalaryAcctResultService.java +++ b/src/com/engine/salary/service/SalaryAcctResultService.java @@ -210,4 +210,11 @@ public interface SalaryAcctResultService { * @param param */ void batchUpdate(SalaryAcctResultBatchUpdateParam param); + + + /** + * 鲁控数字薪资核算结果批量编辑 + * @param param + */ + void lkszBatchEdit(SalaryAcctResultBatchEditParam param); } diff --git a/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java index 46c760039..f3e0f3227 100644 --- a/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java @@ -1,5 +1,6 @@ package com.engine.salary.service.impl; +import cn.hutool.core.util.ObjectUtil; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; import com.engine.hrmelog.entity.dto.LoggerContext; @@ -1209,7 +1210,7 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe Map emps = SalaryEntityUtil.convert2Map(dataCollectionEmployees, DataCollectionEmployee::getEmployeeId); SalaryAcctRecordPO salaryAcctRecordPO = getSalaryAcctRecordService(user).getById(param.getSalaryAcctRecordId()); - if (ObjectUtils.isEmpty(salaryAcctRecordPO)) { + if (ObjectUtil.isEmpty(salaryAcctRecordPO)) { throw new SalaryRunTimeException("薪资核算结果不存在或已被删除"); } diff --git a/src/com/engine/salary/web/SalaryAcctController.java b/src/com/engine/salary/web/SalaryAcctController.java index 1d37dad5e..59ded8efb 100644 --- a/src/com/engine/salary/web/SalaryAcctController.java +++ b/src/com/engine/salary/web/SalaryAcctController.java @@ -458,6 +458,15 @@ public class SalaryAcctController { return new ResponseResult(user).run(getSalaryAcctResultWrapper(user)::batchUpdate, param); } + //鲁控数字批量编辑 + @POST + @Path("/acctresult/lkszBatchEdit") + @Produces(MediaType.APPLICATION_JSON) + public String lkszBatchEdit(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalaryAcctResultBatchEditParam param) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getSalaryAcctResultWrapper(user)::lkszBatchEdit, param); + } + //薪资核算 @POST @Path("/acctresult/accounting") diff --git a/src/com/engine/salary/wrapper/SalaryAcctResultWrapper.java b/src/com/engine/salary/wrapper/SalaryAcctResultWrapper.java index 5c1347343..e657cd98b 100644 --- a/src/com/engine/salary/wrapper/SalaryAcctResultWrapper.java +++ b/src/com/engine/salary/wrapper/SalaryAcctResultWrapper.java @@ -265,6 +265,14 @@ public class SalaryAcctResultWrapper extends Service { getSalaryAcctResultService(user).batchUpdate(param); } + /** + * 鲁控数字薪资核算结果批量编辑 + * @param param + */ + public void lkszBatchEdit(SalaryAcctResultBatchEditParam param) { + getSalaryAcctResultService(user).lkszBatchEdit(param); + } + /** * 薪资核算-校验 *