From 4755d51d2db026f3a4af8551439bc060a19e3a0e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com>
Date: Tue, 3 Jun 2025 14:30:46 +0800
Subject: [PATCH] =?UTF-8?q?=E7=A4=BE=E4=BF=9D=E5=8F=B0=E8=B4=A6=EF=BC=9A?=
=?UTF-8?q?=201=E3=80=81=E6=89=B9=E9=87=8F=E6=96=B0=E5=BB=BA=E6=A0=B8?=
=?UTF-8?q?=E7=AE=97=E8=AE=B0=E5=BD=95=E5=B9=B6=E6=A0=B8=E7=AE=97=E3=80=82?=
=?UTF-8?q?=202=E3=80=81=E6=89=B9=E9=87=8F=E5=BD=92=E6=A1=A3=203=E3=80=81?=
=?UTF-8?q?=E6=89=B9=E9=87=8F=E9=87=8D=E6=96=B0=E6=A0=B8=E7=AE=97=20?=
=?UTF-8?q?=E8=96=AA=E8=B5=84=E6=A0=B8=E7=AE=97=EF=BC=9A=201=E3=80=81?=
=?UTF-8?q?=E6=89=B9=E9=87=8F=E6=96=B0=E5=BB=BA=E6=A0=B8=E7=AE=97=E8=AE=B0?=
=?UTF-8?q?=E5=BD=95=E5=B9=B6=E6=A0=B8=E7=AE=97=E3=80=82=202=E3=80=81?=
=?UTF-8?q?=E6=89=B9=E9=87=8F=E5=BD=92=E6=A1=A3=203=E3=80=81=E6=89=B9?=
=?UTF-8?q?=E9=87=8F=E9=87=8D=E6=96=B0=E6=A0=B8=E7=AE=97=20=E5=B7=A5?=
=?UTF-8?q?=E8=B5=84=E5=8D=95=EF=BC=9A=201=E3=80=81=E6=89=B9=E9=87=8F?=
=?UTF-8?q?=E5=8F=91=E6=94=BE=202=E3=80=81=E6=89=B9=E9=87=8F=E6=92=A4?=
=?UTF-8?q?=E5=9B=9E=20=E7=94=B3=E6=8A=A5=E8=A1=A8=EF=BC=9A=201=E3=80=81?=
=?UTF-8?q?=E6=89=B9=E9=87=8F=E7=94=B3=E6=8A=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../salaryBill/param/SalarySendBatParam.java | 27 ++++++++++
.../salaryacct/param/SalaryAcctBatParam.java | 34 ++++++++++++
.../siaccount/param/AccountBatParam.java | 40 ++++++++++++++
.../param/TaxDeclarationBatParam.java | 54 +++++++++++++++++++
.../salary/service/SIAccountService.java | 8 +++
.../service/SalaryAcctRecordService.java | 8 +++
.../service/impl/SIAccountServiceImpl.java | 46 ++++++++++++++++
.../impl/SalaryAcctRecordServiceImpl.java | 38 ++++++++++++-
.../salary/web/SIAccountController.java | 32 +++++++++++
.../salary/web/SalaryAcctController.java | 37 +++++++++++++
.../salary/web/SalaryBillController.java | 23 ++++++++
.../salary/web/TaxDeclarationController.java | 10 ++++
.../wrapper/SalaryAcctRecordWrapper.java | 30 ++++++++++-
.../salary/wrapper/SalarySendWrapper.java | 24 +++++++++
.../salary/wrapper/TaxDeclarationWrapper.java | 17 ++++++
15 files changed, 426 insertions(+), 2 deletions(-)
create mode 100644 src/com/engine/salary/entity/salaryBill/param/SalarySendBatParam.java
create mode 100644 src/com/engine/salary/entity/salaryacct/param/SalaryAcctBatParam.java
create mode 100644 src/com/engine/salary/entity/siaccount/param/AccountBatParam.java
create mode 100644 src/com/engine/salary/entity/taxdeclaration/param/TaxDeclarationBatParam.java
diff --git a/src/com/engine/salary/entity/salaryBill/param/SalarySendBatParam.java b/src/com/engine/salary/entity/salaryBill/param/SalarySendBatParam.java
new file mode 100644
index 000000000..40f529cc5
--- /dev/null
+++ b/src/com/engine/salary/entity/salaryBill/param/SalarySendBatParam.java
@@ -0,0 +1,27 @@
+package com.engine.salary.entity.salaryBill.param;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+/**
+ * 工资单批量操作参数
+ *
Copyright: Copyright (c) 2024
+ * Company: 泛微软件
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class SalarySendBatParam {
+
+// 工资单发放Id
+ private List salarySendIds;
+
+}
diff --git a/src/com/engine/salary/entity/salaryacct/param/SalaryAcctBatParam.java b/src/com/engine/salary/entity/salaryacct/param/SalaryAcctBatParam.java
new file mode 100644
index 000000000..63dc4310a
--- /dev/null
+++ b/src/com/engine/salary/entity/salaryacct/param/SalaryAcctBatParam.java
@@ -0,0 +1,34 @@
+package com.engine.salary.entity.salaryacct.param;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 批量操作参数
+ * Copyright: Copyright (c) 2024
+ * Company: 泛微软件
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class SalaryAcctBatParam {
+
+ //薪资所属月
+ private Date salaryMonth;
+ //薪资账套id
+ private List salarySobIds;
+ //备注
+ private String description;
+
+
+ private List salaryAcctRecordIds;
+}
diff --git a/src/com/engine/salary/entity/siaccount/param/AccountBatParam.java b/src/com/engine/salary/entity/siaccount/param/AccountBatParam.java
new file mode 100644
index 000000000..fa9de96fc
--- /dev/null
+++ b/src/com/engine/salary/entity/siaccount/param/AccountBatParam.java
@@ -0,0 +1,40 @@
+package com.engine.salary.entity.siaccount.param;
+
+
+import com.engine.salary.util.valid.DataCheck;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class AccountBatParam {
+
+ //账单月份")
+ //@NotNull
+ @DataCheck(require = true,message = "账单月份不能为空")
+ private String billMonth;
+
+ //备注")
+ //@Length(max = 60)
+ @DataCheck(max = 60,message = "备注长度不能超过60个字符")
+ private String remarks;
+
+
+ /**
+ * 个税扣缴义务人id
+ */
+ @DataCheck(require = true,message = "个税扣缴义务人不能为空")
+ private List paymentOrganizations;
+
+
+
+ private List ids;
+
+}
diff --git a/src/com/engine/salary/entity/taxdeclaration/param/TaxDeclarationBatParam.java b/src/com/engine/salary/entity/taxdeclaration/param/TaxDeclarationBatParam.java
new file mode 100644
index 000000000..0168f9c89
--- /dev/null
+++ b/src/com/engine/salary/entity/taxdeclaration/param/TaxDeclarationBatParam.java
@@ -0,0 +1,54 @@
+package com.engine.salary.entity.taxdeclaration.param;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.YearMonth;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 生成个税申报表参数
+ * Copyright: Copyright (c) 2022
+ * Company: 泛微软件
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class TaxDeclarationBatParam {
+
+ /**
+ * 个税申报id
+ */
+ private Long taxDeclarationId;
+
+ /**
+ * 薪资所属月
+ */
+ private YearMonth salaryMonth;
+
+ /**
+ * 个税扣缴义务人
+ */
+ private List taxAgentIds;
+
+ /**
+ * 备注
+ */
+ private String description;
+
+ private String salaryMonthStr;
+
+ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+ private Date taxCycle;
+
+ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+ private Date salaryDate;
+}
diff --git a/src/com/engine/salary/service/SIAccountService.java b/src/com/engine/salary/service/SIAccountService.java
index bd95388a2..f37924c1d 100644
--- a/src/com/engine/salary/service/SIAccountService.java
+++ b/src/com/engine/salary/service/SIAccountService.java
@@ -320,5 +320,13 @@ public interface SIAccountService {
void cacheWelfareField(List welfareNames);
void cacheBalanceWelfareField(List welfareNames);
+
+ void batSave(AccountBatParam param);
+
+ void batDelete(AccountBatParam param);
+
+ void batFile(AccountBatParam param);
+
+ void batSocialSecurityBenefitsRecalculate(AccountBatParam batParam);
}
diff --git a/src/com/engine/salary/service/SalaryAcctRecordService.java b/src/com/engine/salary/service/SalaryAcctRecordService.java
index fcf00580b..603e2a164 100644
--- a/src/com/engine/salary/service/SalaryAcctRecordService.java
+++ b/src/com/engine/salary/service/SalaryAcctRecordService.java
@@ -1,6 +1,7 @@
package com.engine.salary.service;
import com.engine.salary.common.LocalDateRange;
+import com.engine.salary.entity.salaryacct.param.SalaryAcctBatParam;
import com.engine.salary.entity.salaryacct.param.SalaryAcctRecordQueryParam;
import com.engine.salary.entity.salaryacct.param.SalaryAcctRecordSaveParam;
import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
@@ -210,4 +211,11 @@ public interface SalaryAcctRecordService {
List listSome(SalaryAcctRecordPO po);
void updateDate(Long id, Date updateTime);
+
+ void batSave(SalaryAcctBatParam saveParam);
+
+ void batFile(SalaryAcctBatParam param);
+
+ void batReCalculate(SalaryAcctBatParam param);
+
}
diff --git a/src/com/engine/salary/service/impl/SIAccountServiceImpl.java b/src/com/engine/salary/service/impl/SIAccountServiceImpl.java
index 6c1a30028..a7039d1f5 100644
--- a/src/com/engine/salary/service/impl/SIAccountServiceImpl.java
+++ b/src/com/engine/salary/service/impl/SIAccountServiceImpl.java
@@ -6802,6 +6802,52 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
Util_DataCache.setObjVal(cacheKey, JsonUtil.toJsonString(welfareNames));
}
+ @Override
+ public void batSave(AccountBatParam accountBatParam) {
+ List paymentOrganizations = accountBatParam.getPaymentOrganizations();
+ for (Long paymentOrganization : paymentOrganizations) {
+ AccountParam param = AccountParam.builder()
+ .billMonth(accountBatParam.getBillMonth())
+ .paymentOrganization(paymentOrganization)
+ .remarks(accountBatParam.getRemarks())
+ .build();
+ save(param);
+ }
+ }
+
+ @Override
+ public void batDelete(AccountBatParam batParam) {
+ List paymentOrganizations = batParam.getPaymentOrganizations();
+ for (Long paymentOrganization : paymentOrganizations) {
+ AccountParam param = AccountParam.builder()
+ .billMonth(batParam.getBillMonth())
+ .paymentOrganization(paymentOrganization)
+ .build();
+ delete(param);
+ }
+ }
+
+ @Override
+ public void batFile(AccountBatParam batParam) {
+ List paymentOrganizations = batParam.getPaymentOrganizations();
+ for (Long paymentOrganization : paymentOrganizations) {
+ AccountParam param = AccountParam.builder()
+ .billMonth(batParam.getBillMonth())
+ .paymentOrganization(paymentOrganization)
+ .build();
+ file(param);
+ }
+ }
+
+ @Override
+ public void batSocialSecurityBenefitsRecalculate(AccountBatParam batParam) {
+ List ids = batParam.getIds();
+ for (Long id : ids) {
+ InsuranceAccountBatchPO param = InsuranceAccountBatchPO.builder().id(id).build();
+ socialSecurityBenefitsRecalculate(param);
+ }
+ }
+
public void accountOtherView(InsuranceAccountViewListDTO dto, List pos) {
int otherNum = 0;
BigDecimal otherPaySum = new BigDecimal("0");
diff --git a/src/com/engine/salary/service/impl/SalaryAcctRecordServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctRecordServiceImpl.java
index 9958f8d27..2f79fd449 100644
--- a/src/com/engine/salary/service/impl/SalaryAcctRecordServiceImpl.java
+++ b/src/com/engine/salary/service/impl/SalaryAcctRecordServiceImpl.java
@@ -4,11 +4,12 @@ import cn.hutool.core.collection.CollUtil;
import com.api.formmode.mybatis.util.SqlProxyHandle;
import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.common.LocalDateRange;
import com.engine.salary.config.SalaryElogConfig;
-import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.entity.salaryBill.po.SalarySendPO;
import com.engine.salary.entity.salaryacct.bo.SalaryAcctRecordBO;
+import com.engine.salary.entity.salaryacct.param.SalaryAcctBatParam;
import com.engine.salary.entity.salaryacct.param.SalaryAcctRecordQueryParam;
import com.engine.salary.entity.salaryacct.param.SalaryAcctRecordSaveParam;
import com.engine.salary.entity.salaryacct.po.SalaryAcctEmployeePO;
@@ -40,6 +41,7 @@ import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
import weaver.hrm.User;
+import java.time.YearMonth;
import java.util.*;
import java.util.stream.Collectors;
@@ -845,4 +847,38 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe
public void updateDate(Long id, Date updateTime) {
getSalaryAcctRecordMapper().updateDate(id, updateTime);
}
+
+ @Override
+ public void batSave(SalaryAcctBatParam saveParam) {
+
+ List salarySobIds = saveParam.getSalarySobIds();
+ YearMonth salaryMonth = SalaryDateUtil.localDate2YearMonth(saveParam.getSalaryMonth());
+ for (int i = 0; i < salarySobIds.size(); i++) {
+ Long salarySobId = salarySobIds.get(i);
+ SalaryAcctRecordSaveParam param = SalaryAcctRecordSaveParam.builder()
+ .salarySobId(salarySobId)
+ .salaryMonth(salaryMonth)
+ .description(saveParam.getDescription())
+ .build();
+ save(param);
+ }
+ }
+
+ @Override
+ public void batFile(SalaryAcctBatParam param) {
+ List salaryAcctRecordIds = param.getSalaryAcctRecordIds();
+ for (int i = 0; i < salaryAcctRecordIds.size(); i++) {
+ Long recordId = salaryAcctRecordIds.get(i);
+ file(recordId);
+ }
+ }
+
+ @Override
+ public void batReCalculate(SalaryAcctBatParam param) {
+ List salaryAcctRecordIds = param.getSalaryAcctRecordIds();
+ for (int i = 0; i < salaryAcctRecordIds.size(); i++) {
+ Long recordId = salaryAcctRecordIds.get(i);
+ reCalculate(recordId);
+ }
+ }
}
diff --git a/src/com/engine/salary/web/SIAccountController.java b/src/com/engine/salary/web/SIAccountController.java
index 80f37a159..e44f3ba20 100644
--- a/src/com/engine/salary/web/SIAccountController.java
+++ b/src/com/engine/salary/web/SIAccountController.java
@@ -217,6 +217,38 @@ public class SIAccountController {
return new ResponseResult(user).run(getService(user)::save, param);
}
+ @POST
+ @Path("/batSave")
+ @Produces(MediaType.APPLICATION_JSON)
+ public String batSave(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody AccountBatParam param) {
+ User user = HrmUserVarify.getUser(request, response);
+ return new ResponseResult(user).run(getService(user)::batSave, param);
+ }
+
+ @POST
+ @Path("/batDelete")
+ @Produces(MediaType.APPLICATION_JSON)
+ public String batDelete(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody AccountBatParam param) {
+ User user = HrmUserVarify.getUser(request, response);
+ return new ResponseResult(user).run(getService(user)::batDelete, param);
+ }
+
+ @POST
+ @Path("/batFile")
+ @Produces(MediaType.APPLICATION_JSON)
+ public String batFile(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody AccountBatParam param) {
+ User user = HrmUserVarify.getUser(request, response);
+ return new ResponseResult(user).run(getService(user)::batFile, param);
+ }
+
+ @POST
+ @Path("/batSocialSecurityBenefitsRecalculate")
+ @Produces(MediaType.APPLICATION_JSON)
+ public String batSocialSecurityBenefitsRecalculate(@Context HttpServletRequest request, @Context HttpServletResponse response,@RequestBody AccountBatParam batParam ){
+ User user = HrmUserVarify.getUser(request, response);
+ return new ResponseResult(user).run(getService(user)::batSocialSecurityBenefitsRecalculate,batParam);
+ }
+
/**
* 正常缴纳页核算
diff --git a/src/com/engine/salary/web/SalaryAcctController.java b/src/com/engine/salary/web/SalaryAcctController.java
index a196d53ef..57483fd40 100644
--- a/src/com/engine/salary/web/SalaryAcctController.java
+++ b/src/com/engine/salary/web/SalaryAcctController.java
@@ -141,6 +141,43 @@ public class SalaryAcctController {
return new ResponseResult(user).run(getSalaryAcctRecordWrapper(user)::reCalculate, param.getSalaryAcctRecordId());
}
+ //薪资核算
+ @POST
+ @Path("/batAccounting")
+ @Produces(MediaType.APPLICATION_JSON)
+ public String batAccounting(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalaryAcctBatParam param) {
+ User user = HrmUserVarify.getUser(request, response);
+ return new ResponseResult(user).run(getSalaryAcctRecordWrapper(user)::batCalculate, param);
+ }
+
+ //保存薪资核算的基本信息
+ @POST
+ @Path("/basic/batSave")
+ @Produces(MediaType.APPLICATION_JSON)
+ public String batSave(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalaryAcctBatParam param) {
+ User user = HrmUserVarify.getUser(request, response);
+ return new ResponseResult(user).run(getSalaryAcctRecordWrapper(user)::batSave, param);
+ }
+
+
+ //归档薪资核算记录
+ @POST
+ @Path("/batFile")
+ @Produces(MediaType.APPLICATION_JSON)
+ public String batFile(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalaryAcctBatParam param) {
+ User user = HrmUserVarify.getUser(request, response);
+ return new ResponseResult(user).run(getSalaryAcctRecordWrapper(user)::batFile, param);
+ }
+
+ //重新核算
+ @POST
+ @Path("/batReAccounting")
+ @Produces(MediaType.APPLICATION_JSON)
+ public String batReAccounting(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalaryAcctBatParam param) {
+ User user = HrmUserVarify.getUser(request, response);
+ return new ResponseResult(user).run(getSalaryAcctRecordWrapper(user)::batReCalculate, param);
+ }
+
//判断是否存在合并计税
@GET
@Path("/hasConsolidatedTax")
diff --git a/src/com/engine/salary/web/SalaryBillController.java b/src/com/engine/salary/web/SalaryBillController.java
index 64437a579..ab505d1ce 100644
--- a/src/com/engine/salary/web/SalaryBillController.java
+++ b/src/com/engine/salary/web/SalaryBillController.java
@@ -480,6 +480,29 @@ public class SalaryBillController {
return new ResponseResult>(user).run(getSalarySendWrapper(user)::withdraw, queryParam);
}
+ @POST
+ @Path("/send/batGrant")
+ @Produces(MediaType.APPLICATION_JSON)
+ public String batGrant(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalarySendBatParam queryParam) {
+ User user = HrmUserVarify.getUser(request, response);
+ return new ResponseResult>(user).run(getSalarySendWrapper(user)::batGrant, queryParam);
+ }
+
+ /**
+ * 工资单撤回
+ *
+ * @param queryParam
+ * @return
+ */
+ @POST
+ @Path("/send/batWithdraw")
+ @Produces(MediaType.APPLICATION_JSON)
+ public String batWithdraw(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalarySendBatParam queryParam) {
+ User user = HrmUserVarify.getUser(request, response);
+ return new ResponseResult>(user).run(getSalarySendWrapper(user)::batWithdraw, queryParam);
+ }
+
+
/**
* 工资单发放详情列表的高级搜索
*
diff --git a/src/com/engine/salary/web/TaxDeclarationController.java b/src/com/engine/salary/web/TaxDeclarationController.java
index 1c65fd7a2..e6205eaaa 100644
--- a/src/com/engine/salary/web/TaxDeclarationController.java
+++ b/src/com/engine/salary/web/TaxDeclarationController.java
@@ -4,6 +4,7 @@ import com.engine.common.util.ServiceUtil;
import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationFormDTO;
import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationInfoDTO;
import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationListDTO;
+import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationBatParam;
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationDetailListQueryParam;
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationListQueryParam;
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationSaveParam;
@@ -99,6 +100,15 @@ public class TaxDeclarationController {
return new ResponseResult(user).run(getTaxDeclarationWrapper(user)::save, param);
}
+ @POST
+ @Path("/batSave")
+ @Produces(MediaType.APPLICATION_JSON)
+ public String batSave(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxDeclarationBatParam param) {
+ User user = HrmUserVarify.getUser(request, response);
+ param.setSalaryMonth(SalaryDateUtil.String2YearMonth(param.getSalaryMonthStr()));
+ return new ResponseResult(user).run(getTaxDeclarationWrapper(user)::batSave, param);
+ }
+
//个税申报表详情列表
@POST
@Path("/detail/list")
diff --git a/src/com/engine/salary/wrapper/SalaryAcctRecordWrapper.java b/src/com/engine/salary/wrapper/SalaryAcctRecordWrapper.java
index 7e352ce91..481cf0e1f 100644
--- a/src/com/engine/salary/wrapper/SalaryAcctRecordWrapper.java
+++ b/src/com/engine/salary/wrapper/SalaryAcctRecordWrapper.java
@@ -10,12 +10,13 @@ import com.engine.salary.entity.salaryacct.bo.SalaryAcctRecordBO;
import com.engine.salary.entity.salaryacct.dto.SalaryAcctEmployeeCountDTO;
import com.engine.salary.entity.salaryacct.dto.SalaryAcctRecordFormDTO;
import com.engine.salary.entity.salaryacct.dto.SalaryAcctRecordListDTO;
+import com.engine.salary.entity.salaryacct.param.SalaryAcctBatParam;
+import com.engine.salary.entity.salaryacct.param.SalaryAcctCalculateParam;
import com.engine.salary.entity.salaryacct.param.SalaryAcctRecordQueryParam;
import com.engine.salary.entity.salaryacct.param.SalaryAcctRecordSaveParam;
import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
import com.engine.salary.entity.salaryacct.po.SalaryAcctSobConfigPO;
import com.engine.salary.entity.salarysob.dto.SalarySobCycleDTO;
-import com.engine.salary.entity.salarysob.po.SalaryApprovalRulePO;
import com.engine.salary.entity.salarysob.po.*;
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
import com.engine.salary.enums.salaryaccounting.SalaryAcctRecordStatusEnum;
@@ -55,6 +56,9 @@ public class SalaryAcctRecordWrapper extends Service implements SalaryAcctRecord
private SalaryAcctRecordService getSalaryAcctRecordService(User user) {
return ServiceUtil.getService(SalaryAcctRecordServiceImpl.class, user);
}
+ private SalaryAcctResultWrapper getSalaryAcctResultWrapper(User user) {
+ return ServiceUtil.getService(SalaryAcctResultWrapper.class, user);
+ }
private SalarySobService getSalarySobService(User user) {
return ServiceUtil.getService(SalarySobServiceImpl.class, user);
@@ -396,4 +400,28 @@ public class SalaryAcctRecordWrapper extends Service implements SalaryAcctRecord
public void updateSobConfig(Long id) {
getSalaryAcctSobConfigService(user).updateBySalaryAcctRecordId(id);
}
+
+
+ public void batSave(SalaryAcctBatParam param) {
+ getSalaryAcctRecordService(user).batSave(param);
+ }
+
+
+ public void batFile(SalaryAcctBatParam param) {
+ getSalaryAcctRecordService(user).batFile(param);
+ }
+
+ public void batReCalculate(SalaryAcctBatParam param) {
+ getSalaryAcctRecordService(user).batReCalculate(param);
+
+ }
+
+ public void batCalculate(SalaryAcctBatParam param) {
+ List salaryAcctRecordIds = param.getSalaryAcctRecordIds();
+ for (int i = 0; i < salaryAcctRecordIds.size(); i++) {
+ Long recordId = salaryAcctRecordIds.get(i);
+ SalaryAcctCalculateParam calculateParam = SalaryAcctCalculateParam.builder().salaryAcctRecordId(recordId).build();
+ getSalaryAcctResultWrapper(user).calculate(calculateParam);
+ }
+ }
}
diff --git a/src/com/engine/salary/wrapper/SalarySendWrapper.java b/src/com/engine/salary/wrapper/SalarySendWrapper.java
index 8bbba561c..1772ba8b9 100644
--- a/src/com/engine/salary/wrapper/SalarySendWrapper.java
+++ b/src/com/engine/salary/wrapper/SalarySendWrapper.java
@@ -751,4 +751,28 @@ public class SalarySendWrapper extends Service implements SalarySendWrapperProxy
public String genPdfBeforeExport(SalaryExportPdfParam salaryExportPdfParam) {
return getSalaryBillService(user).genPdfBeforeExport(salaryExportPdfParam);
}
+
+
+ public void batGrant(SalarySendBatParam param) {
+ List salarySendIds = param.getSalarySendIds();
+
+ for (int i = 0; i < salarySendIds.size(); i++) {
+ Long sendId = salarySendIds.get(i);
+ SalarySendGrantParam grantParam = SalarySendGrantParam.builder()
+ .salarySendId(sendId)
+ .build();
+ grant(grantParam);
+ }
+ }
+ public void batWithdraw(SalarySendBatParam param) {
+ List salarySendIds = param.getSalarySendIds();
+
+ for (int i = 0; i < salarySendIds.size(); i++) {
+ Long sendId = salarySendIds.get(i);
+ SalarySendWithdrawParam grantParam = SalarySendWithdrawParam.builder()
+ .salarySendId(sendId)
+ .build();
+ withdraw(grantParam);
+ }
+ }
}
diff --git a/src/com/engine/salary/wrapper/TaxDeclarationWrapper.java b/src/com/engine/salary/wrapper/TaxDeclarationWrapper.java
index 38670737a..0bfd23343 100644
--- a/src/com/engine/salary/wrapper/TaxDeclarationWrapper.java
+++ b/src/com/engine/salary/wrapper/TaxDeclarationWrapper.java
@@ -9,6 +9,7 @@ import com.engine.salary.entity.taxdeclaration.bo.TaxDeclarationBO;
import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationFormDTO;
import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationInfoDTO;
import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationListDTO;
+import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationBatParam;
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationListQueryParam;
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationSaveParam;
import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationPO;
@@ -158,4 +159,20 @@ public class TaxDeclarationWrapper extends Service {
public void withDrawTaxDeclaration(Long taxDeclarationId) {
getTaxDeclarationService(user).withDrawTaxDeclaration(taxDeclarationId);
}
+
+ public void batSave(TaxDeclarationBatParam param) {
+ List taxAgentIds = param.getTaxAgentIds();
+ for (int i = 0; i < taxAgentIds.size(); i++) {
+ Long taxAgentId = taxAgentIds.get(i);
+ TaxDeclarationSaveParam saveParam = TaxDeclarationSaveParam.builder()
+ .salaryMonth(param.getSalaryMonth())
+ .taxAgentId(taxAgentId)
+ .description(param.getDescription())
+ .taxCycle(param.getTaxCycle())
+ .salaryDate(param.getSalaryDate())
+ .build();
+ save(saveParam);
+ }
+
+ }
}