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);
+ }
}