From 4f9e2d8f80a2713698ea9ec45f3e63634d38acb8 Mon Sep 17 00:00:00 2001 From: fcli Date: Tue, 29 Nov 2022 14:36:37 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=B7=AF=E5=BE=84=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E6=8E=A5=E8=BF=91e10?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/api/salary/web/SalarySendRangeController.java | 2 +- .../salary/entity/salaryBill/bo/SalarySendRangeBO.java | 2 +- src/com/engine/salary/service/SalarySendRangeService.java | 3 ++- .../salary/service/impl/SalarySendRangeServiceImpl.java | 8 ++++++-- .../engine/salary/service/impl/SalarySendServiceImpl.java | 8 ++++++-- src/com/engine/salary/web/SalarySendRangeController.java | 4 ++-- 6 files changed, 18 insertions(+), 9 deletions(-) diff --git a/src/com/api/salary/web/SalarySendRangeController.java b/src/com/api/salary/web/SalarySendRangeController.java index 94d817da2..f55f91346 100644 --- a/src/com/api/salary/web/SalarySendRangeController.java +++ b/src/com/api/salary/web/SalarySendRangeController.java @@ -2,7 +2,7 @@ package com.api.salary.web; import javax.ws.rs.Path; -@Path("/bs/hrmsalary/salarySendRange") +@Path("/bs/hrmsalary/salaryBill/send/range/") public class SalarySendRangeController extends com.engine.salary.web.SalarySendRangeController{ } diff --git a/src/com/engine/salary/entity/salaryBill/bo/SalarySendRangeBO.java b/src/com/engine/salary/entity/salaryBill/bo/SalarySendRangeBO.java index cc3f5831b..2c7787fbf 100644 --- a/src/com/engine/salary/entity/salaryBill/bo/SalarySendRangeBO.java +++ b/src/com/engine/salary/entity/salaryBill/bo/SalarySendRangeBO.java @@ -41,7 +41,7 @@ public class SalarySendRangeBO { public boolean putNew(SalarySendRangeObj salarySendRangeObj) { //如果已经设置了排除所有人 或者 添加所有人, 直接跳过处理 - if (isExcludeAll || isIncludeAll) { + if (isExcludeAll) { return true; } Integer rangeType = salarySendRangeObj.getRangeType(); diff --git a/src/com/engine/salary/service/SalarySendRangeService.java b/src/com/engine/salary/service/SalarySendRangeService.java index e3d82f4c0..22e891383 100644 --- a/src/com/engine/salary/service/SalarySendRangeService.java +++ b/src/com/engine/salary/service/SalarySendRangeService.java @@ -3,6 +3,7 @@ package com.engine.salary.service; import com.engine.salary.entity.salaryBill.dto.SalarySendRangeListDTO; import com.engine.salary.entity.salaryBill.param.SalarySendRangeQueryParam; import com.engine.salary.entity.salaryBill.param.SalarySendRangeSaveParam; +import com.engine.salary.enums.salarysend.SalarySendGrantTypeEnum; import com.engine.salary.util.page.PageInfo; import java.util.Collection; @@ -20,5 +21,5 @@ public interface SalarySendRangeService { void deleteByIds(List sendRangeIds); - List getSendInfoIdsBySendId(Long sendId, List sendRangeIds); + List getSendInfoIdsBySendId(Long sendId, List sendRangeIds, SalarySendGrantTypeEnum grantType); } diff --git a/src/com/engine/salary/service/impl/SalarySendRangeServiceImpl.java b/src/com/engine/salary/service/impl/SalarySendRangeServiceImpl.java index 6c7d102e4..e78b3dab2 100644 --- a/src/com/engine/salary/service/impl/SalarySendRangeServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalarySendRangeServiceImpl.java @@ -15,6 +15,7 @@ import com.engine.salary.entity.salaryBill.param.SalarySendRangeSaveParam; import com.engine.salary.entity.salaryBill.po.SalarySendRangeObj; import com.engine.salary.entity.salaryBill.po.SalarySendRangePO; import com.engine.salary.entity.taxagent.po.TaxAgentPO; +import com.engine.salary.enums.salarysend.SalarySendGrantTypeEnum; import com.engine.salary.enums.salarysend.SalarySendRangeTargetTypeEnum; import com.engine.salary.enums.salarysend.SalarySendRangeTypeEnum; import com.engine.salary.exception.SalaryRunTimeException; @@ -70,6 +71,9 @@ public class SalarySendRangeServiceImpl extends Service implements SalarySendRan @Override public void save(SalarySendRangeSaveParam param) { + if (user == null) { + throw new SalaryRunTimeException("您没有此操作的权限"); + } SalarySendRangeSaveParam.checkParam(param, (long) user.getUID(), DEFAULT_TENANT_KEY); SalarySendRangePO salarySendRangePO = param.toSalarySendRangePO(user); @@ -185,9 +189,9 @@ public class SalarySendRangeServiceImpl extends Service implements SalarySendRan } @Override - public List getSendInfoIdsBySendId(Long sendId, List sendRangeIds) { + public List getSendInfoIdsBySendId(Long sendId, List sendRangeIds, SalarySendGrantTypeEnum grantType) { List rangeIdList = - applyMapper(mapper -> mapper.selectIdsBySendIdAndGrantType(sendId, null)); + applyMapper(mapper -> mapper.selectIdsBySendIdAndGrantType(sendId, grantType.getValue())); rangeIdList = rangeIdList.stream() .filter(sendRangeIds::contains) diff --git a/src/com/engine/salary/service/impl/SalarySendServiceImpl.java b/src/com/engine/salary/service/impl/SalarySendServiceImpl.java index fcf053795..5c2062651 100644 --- a/src/com/engine/salary/service/impl/SalarySendServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalarySendServiceImpl.java @@ -29,6 +29,7 @@ import com.engine.salary.entity.salarysob.po.SalarySobPO; import com.engine.salary.entity.taxagent.po.TaxAgentPO; import com.engine.salary.enums.salaryaccounting.SalaryAcctRecordStatusEnum; import com.engine.salary.enums.salarybill.SalarySendStatusEnum; +import com.engine.salary.enums.salarysend.SalarySendGrantTypeEnum; import com.engine.salary.exception.SalaryRunTimeException; import com.engine.salary.mapper.salaryacct.SalaryAcctEmployeeMapper; import com.engine.salary.mapper.salaryacct.SalaryAcctRecordMapper; @@ -671,7 +672,10 @@ public class SalarySendServiceImpl extends Service implements SalarySendService if (param.getSalarySendRangeIds() != null) { //如果传了范围id,则使用范围id发放 ids = getSalarySendRangeService(user) - .getSendInfoIdsBySendId(salarySendId, param.getSalarySendRangeIds()); + .getSendInfoIdsBySendId(salarySendId, param.getSalarySendRangeIds(), SalarySendGrantTypeEnum.GRANT); + if (ids.isEmpty()) {// 由于查出来是空的,会导致全部发放,在此进行拦截 + throw new SalaryRunTimeException("工资发放范围内没有员工"); + } } SalarySendPO salarySend = mapper.getById(salarySendId); @@ -934,7 +938,7 @@ public class SalarySendServiceImpl extends Service implements SalarySendService if (param.getSalarySendRangeIds() != null) { //如果传了范围id,则使用范围id撤回 ids = getSalarySendRangeService(user) - .getSendInfoIdsBySendId(salarySendId, param.getSalarySendRangeIds()); + .getSendInfoIdsBySendId(salarySendId, param.getSalarySendRangeIds(), SalarySendGrantTypeEnum.WITHDRAW); } SalarySendPO salarySend = mapper.getById(salarySendId); diff --git a/src/com/engine/salary/web/SalarySendRangeController.java b/src/com/engine/salary/web/SalarySendRangeController.java index aaf00002a..11a8730a0 100644 --- a/src/com/engine/salary/web/SalarySendRangeController.java +++ b/src/com/engine/salary/web/SalarySendRangeController.java @@ -38,7 +38,7 @@ public class SalarySendRangeController { } @POST - @Path("/deleteByIds") + @Path("/delete") @Produces(MediaType.APPLICATION_JSON) public String deleteByIds(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Collection ids) { @@ -47,7 +47,7 @@ public class SalarySendRangeController { } @POST - @Path("/listPage") + @Path("/list") @Produces(MediaType.APPLICATION_JSON) public String save(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalarySendRangeQueryParam queryParam) {