diff --git a/src/com/engine/salary/entity/taxdeclaration/param/TaxDeclarationSaveParam.java b/src/com/engine/salary/entity/taxdeclaration/param/TaxDeclarationSaveParam.java index 33edb1c8e..18b8c28c8 100644 --- a/src/com/engine/salary/entity/taxdeclaration/param/TaxDeclarationSaveParam.java +++ b/src/com/engine/salary/entity/taxdeclaration/param/TaxDeclarationSaveParam.java @@ -21,6 +21,11 @@ import java.time.YearMonth; @AllArgsConstructor public class TaxDeclarationSaveParam { + /** + * 个税申报id + */ + private Long taxDeclarationId; + /** * 薪资所属月 */ diff --git a/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationMapper.xml b/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationMapper.xml index 6d37dab71..1810e8970 100644 --- a/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationMapper.xml +++ b/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationMapper.xml @@ -34,7 +34,7 @@ UPDATE hrsa_tax_declaration - SET delete_type = 3 + SET delete_type = 1 WHERE delete_type = 0 AND id = #{id} diff --git a/src/com/engine/salary/service/TaxDeclarationService.java b/src/com/engine/salary/service/TaxDeclarationService.java index bc9f3fdb3..7537c1c06 100644 --- a/src/com/engine/salary/service/TaxDeclarationService.java +++ b/src/com/engine/salary/service/TaxDeclarationService.java @@ -45,4 +45,9 @@ public interface TaxDeclarationService { */ boolean checkByAuthority(TaxDeclarationPO taxDeclarationPO, Long employeeId); + /** + * 撤回个税申报单 + * @param taxDeclarationId + */ + void withDrawTaxDeclaration(Long taxDeclarationId); } diff --git a/src/com/engine/salary/service/impl/TaxDeclarationServiceImpl.java b/src/com/engine/salary/service/impl/TaxDeclarationServiceImpl.java index 976e3d35b..6f66a9b54 100644 --- a/src/com/engine/salary/service/impl/TaxDeclarationServiceImpl.java +++ b/src/com/engine/salary/service/impl/TaxDeclarationServiceImpl.java @@ -315,4 +315,24 @@ public class TaxDeclarationServiceImpl extends Service implements TaxDeclaration return true; } + @Override + public void withDrawTaxDeclaration(Long taxDeclarationId) { + TaxDeclarationPO po = getTaxDeclarationMapper().getById(taxDeclarationId); + if(Objects.isNull(po)){ + throw new SalaryRunTimeException("个税申报表不存在"); + } + // 获取当前个税扣缴义务人下的薪资账套 + List salarySobPOS = getSalarySobService(user).listByTaxAgentId(po.getTaxAgentId()); + List salarySobIds = salarySobPOS.stream().map(SalarySobPO::getId).collect(Collectors.toList()); + // 获取记录 + LocalDateRange dateRange = new LocalDateRange(po.getSalaryMonth(), po.getSalaryMonth()); + List salaryAcctRecords = getSalaryAcctRecordService(user).listBySalarySobIdsAndSalaryMonth(salarySobIds, dateRange); + List salaryAcctRecordIds = salaryAcctRecords.stream().map(SalaryAcctRecordPO::getId).collect(Collectors.toList()); + // 删除个税申报表 + getTaxDeclarationMapper().deleteByIdZj(po.getId()); + // 修改薪资核算记录状态为已归档 + if(CollectionUtils.isNotEmpty(salaryAcctRecordIds)){ + getSalaryAcctRecordService(user).updateStatusByIds(salaryAcctRecordIds,SalaryAcctRecordStatusEnum.ARCHIVED); + } + } } diff --git a/src/com/engine/salary/web/TaxDeclarationController.java b/src/com/engine/salary/web/TaxDeclarationController.java index 9de5d8f5e..6d2332dd4 100644 --- a/src/com/engine/salary/web/TaxDeclarationController.java +++ b/src/com/engine/salary/web/TaxDeclarationController.java @@ -65,6 +65,15 @@ public class TaxDeclarationController { return new ResponseResult>(user).run(getTaxDeclarationWrapper(user)::listPage, queryParam); } + @POST + @Path("/withDrawTaxDeclaration") + @Produces(MediaType.APPLICATION_JSON) + public String deleteTaxDeclaration(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxDeclarationSaveParam param) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getTaxDeclarationWrapper(user)::withDrawTaxDeclaration, param.getTaxDeclarationId()); + } + + //个税申报表表单 @GET @Path("/getForm") diff --git a/src/com/engine/salary/wrapper/TaxDeclarationWrapper.java b/src/com/engine/salary/wrapper/TaxDeclarationWrapper.java index c29ee4f46..38670737a 100644 --- a/src/com/engine/salary/wrapper/TaxDeclarationWrapper.java +++ b/src/com/engine/salary/wrapper/TaxDeclarationWrapper.java @@ -151,5 +151,11 @@ public class TaxDeclarationWrapper extends Service { getTaxDeclarationService(user).save(saveParam); } - + /** + * 撤回个税申报 + * @param taxDeclarationId + */ + public void withDrawTaxDeclaration(Long taxDeclarationId) { + getTaxDeclarationService(user).withDrawTaxDeclaration(taxDeclarationId); + } }