diff --git a/src/com/engine/salary/service/SIBalanceService.java b/src/com/engine/salary/service/SIBalanceService.java new file mode 100644 index 000000000..a1fe81d17 --- /dev/null +++ b/src/com/engine/salary/service/SIBalanceService.java @@ -0,0 +1,10 @@ +package com.engine.salary.service; + +import com.engine.salary.entity.siaccount.param.InspectAccountParam; + + +public interface SIBalanceService { + + void del(InspectAccountParam param, Long employeeId); + +} diff --git a/src/com/engine/salary/service/impl/SIBalanceServiceImpl.java b/src/com/engine/salary/service/impl/SIBalanceServiceImpl.java new file mode 100644 index 000000000..a3eb975c7 --- /dev/null +++ b/src/com/engine/salary/service/impl/SIBalanceServiceImpl.java @@ -0,0 +1,49 @@ +package com.engine.salary.service.impl; + +import com.api.formmode.mybatis.util.SqlProxyHandle; +import com.engine.common.util.ServiceUtil; +import com.engine.core.impl.Service; +import com.engine.salary.entity.siaccount.param.InspectAccountParam; +import com.engine.salary.exception.SalaryRunTimeException; +import com.engine.salary.mapper.siaccount.InsuranceAccountDetailMapper; +import com.engine.salary.service.SIAccountService; +import com.engine.salary.service.SIBalanceService; +import com.engine.salary.util.SalaryI18nUtil; +import com.google.common.collect.Lists; +import org.apache.commons.collections4.CollectionUtils; +import weaver.hrm.User; + +import java.util.List; + + +/** + * @Author: sy + * @Description: 福利台账-补差实现类 + * @Date: 2022/12/8 + **/ +public class SIBalanceServiceImpl extends Service implements SIBalanceService { + + private InsuranceAccountDetailMapper getInsuranceAccountDetailMapper() { + return SqlProxyHandle.getProxy(InsuranceAccountDetailMapper.class); + } + + private SIAccountService getSIAccountService(User user) { + return ServiceUtil.getService(SIAccountServiceImpl.class, user); + } + + @Override + public void del(InspectAccountParam param, Long employeeId) { + + //入参判断 + if (CollectionUtils.isEmpty(param.getIds()) || param.getPaymentOrganization() == null || param.getBillMonth() == null) { + throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(84026, "参数错误")); + } + + //根据id删除 + List> partition = Lists.partition((List) param.getIds(), 100); + partition.forEach(getInsuranceAccountDetailMapper()::batchDelAccountDetailsByIds); + + //刷新bill_batch表中统计信息 + getSIAccountService(user).refreshBillBatch(param.getPaymentOrganization(), param.getBillMonth()); + } +} diff --git a/src/com/engine/salary/web/SIAccountController.java b/src/com/engine/salary/web/SIAccountController.java index ccd3d7840..1f5ff1685 100644 --- a/src/com/engine/salary/web/SIAccountController.java +++ b/src/com/engine/salary/web/SIAccountController.java @@ -848,5 +848,17 @@ public class SIAccountController { User user = HrmUserVarify.getUser(request, response); return new ResponseResult>(user).run(getService(user)::importBalanceInsuranceDetail, insuranceAcctImportParam); } + + /** + * 删除补差 + */ + @POST + @Path("/delBalance") + @Produces(MediaType.APPLICATION_JSON) + public String delBalance(@Context HttpServletRequest request, @Context HttpServletResponse response, + @RequestBody InspectAccountParam param) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getSIAccountWrapper(user)::delBalance, param); + } // **********************************补差 end*********************************/ } diff --git a/src/com/engine/salary/wrapper/SIAccountWrapper.java b/src/com/engine/salary/wrapper/SIAccountWrapper.java index 3180d9979..092398079 100644 --- a/src/com/engine/salary/wrapper/SIAccountWrapper.java +++ b/src/com/engine/salary/wrapper/SIAccountWrapper.java @@ -7,9 +7,12 @@ import com.engine.salary.entity.hrm.dto.HrmInfoDTO; import com.engine.salary.entity.hrm.param.HrmQueryParam; import com.engine.salary.entity.siaccount.dto.InsuranceCompensationDTO; import com.engine.salary.entity.siaccount.param.CompensationParam; +import com.engine.salary.entity.siaccount.param.InspectAccountParam; import com.engine.salary.entity.siaccount.param.RecessionParam; +import com.engine.salary.service.SIBalanceService; import com.engine.salary.service.SICompensationService; import com.engine.salary.service.SIRecessionService; +import com.engine.salary.service.impl.SIBalanceServiceImpl; import com.engine.salary.service.impl.SICompensationServiceImpl; import com.engine.salary.service.impl.SIRecessionServiceImpl; import com.engine.salary.util.page.PageInfo; @@ -34,6 +37,10 @@ public class SIAccountWrapper extends Service { return (SICompensationService) ServiceUtil.getService(SICompensationServiceImpl.class, user); } + private SIBalanceService getSIBalanceService(User user) { + return (SIBalanceService) ServiceUtil.getService(SIBalanceServiceImpl.class, user); + } + /** * 新增退差数据 * @param param 退差请求体 @@ -114,4 +121,13 @@ public class SIAccountWrapper extends Service { public Map compensationList(InsuranceCompensationDTO param) { return getSICompensationService(user).compensationList(param.getBillMonth(), param.getPaymentOrganization()); } + + /** + * 删除补差数据 + * @param param 表数据id集合、账单月、个税扣缴义务人 + */ + public void delBalance(InspectAccountParam param) { + long currentEmployeeId = user.getUID(); + getSIBalanceService(user).del(param, currentEmployeeId); + } }