From 1307f485eb6e2bc3f5572cb274f6be4a9e91c0ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Tue, 22 Nov 2022 15:53:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E4=BA=BA=E5=91=98=E8=8C=83?= =?UTF-8?q?=E5=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/TaxAgentManageRangeService.java | 9 +------ .../impl/TaxAgentManageRangeServiceImpl.java | 18 +++---------- .../salary/wrapper/TaxAgentWrapper.java | 27 ++++++++++++++++--- 3 files changed, 28 insertions(+), 26 deletions(-) diff --git a/src/com/engine/salary/service/TaxAgentManageRangeService.java b/src/com/engine/salary/service/TaxAgentManageRangeService.java index de20fe681..eaa6c8fe1 100644 --- a/src/com/engine/salary/service/TaxAgentManageRangeService.java +++ b/src/com/engine/salary/service/TaxAgentManageRangeService.java @@ -68,12 +68,5 @@ public interface TaxAgentManageRangeService { */ void deleteByTaxAgentIds(Collection taxAgentIds); - /** - * 根据分管理员的id删除管理范围 - * - * @param subAdminIds 分管理员列表 - */ - void deleteBySubAdmins(Collection subAdminIds); - - void syncManageRange(List taxAgentIds); + void syncManageRange(List taxAgentIds,String index); } diff --git a/src/com/engine/salary/service/impl/TaxAgentManageRangeServiceImpl.java b/src/com/engine/salary/service/impl/TaxAgentManageRangeServiceImpl.java index af5ecc68c..f7d8ed802 100644 --- a/src/com/engine/salary/service/impl/TaxAgentManageRangeServiceImpl.java +++ b/src/com/engine/salary/service/impl/TaxAgentManageRangeServiceImpl.java @@ -4,7 +4,6 @@ import com.cloudstore.dev.api.util.Util_DataCache; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; import com.engine.salary.biz.EmployBiz; -import com.engine.salary.cache.SalaryCacheKey; import com.engine.salary.entity.datacollection.DataCollectionEmployee; import com.engine.salary.entity.hrm.DeptInfo; import com.engine.salary.entity.hrm.HrmStatus; @@ -390,9 +389,9 @@ public class TaxAgentManageRangeServiceImpl extends Service implements TaxAgentM Long taxAgentId = taxAgentIds.get(0); List salaryEmployees = getEmployMapper().listAll(); - List allSalaryEmployees = this.getManageRangeSalaryEmployees( taxAgentId, allRanges,salaryEmployees); + List allSalaryEmployees = this.getManageRangeSalaryEmployees(taxAgentId, allRanges, salaryEmployees); - List allSubAdminSalaryEmployees = this.getManageRangeSalaryEmployees( taxAgentId, allSubAdminRanges,salaryEmployees); + List allSubAdminSalaryEmployees = this.getManageRangeSalaryEmployees(taxAgentId, allSubAdminRanges, salaryEmployees); allSalaryEmployees.forEach(f -> { allSubAdminSalaryEmployees.removeIf(a -> a.getEmployeeId().equals(f.getEmployeeId())); }); @@ -415,16 +414,6 @@ public class TaxAgentManageRangeServiceImpl extends Service implements TaxAgentM getTaxAgentEmpService(user).deleteByTaxAgentIds(taxAgentIds); } - @Override - public void deleteBySubAdmins(Collection subAdminIds) { - if (CollectionUtils.isEmpty(subAdminIds)) { - return; - } - getTaxAgentManageRangeMapper().deleteBySubAdminIds(subAdminIds); - // 删除管理范围下的所有人员 -// taxAgentSubAdminEmployeeService.deleteBySubAdminIds(subAdminIds); - } - /** * 同步处理所有人员范围 @@ -530,8 +519,7 @@ public class TaxAgentManageRangeServiceImpl extends Service implements TaxAgentM * @param taxAgentIds */ @Override - public void syncManageRange(List taxAgentIds) { - String index = SalaryCacheKey.TAX_AGENT_MANAGE_RANGE_SYNC + user.getUID(); + public void syncManageRange(List taxAgentIds,String index) { // 开始同步 LocalRunnable localRunnable = new LocalRunnable() { @Override diff --git a/src/com/engine/salary/wrapper/TaxAgentWrapper.java b/src/com/engine/salary/wrapper/TaxAgentWrapper.java index 011b05c93..6f3f77c99 100644 --- a/src/com/engine/salary/wrapper/TaxAgentWrapper.java +++ b/src/com/engine/salary/wrapper/TaxAgentWrapper.java @@ -364,18 +364,39 @@ public class TaxAgentWrapper extends Service { /** - * 同步人员范围 + * 同步当前人员管理的个税扣缴义务人人员范围 * * @return */ public String syncRange() { long currentEmployeeId = (long) user.getUID(); List taxAgentIds = this.getTaxAgentService(user).listAllTaxAgents(currentEmployeeId).stream().map(TaxAgentPO::getId).collect(Collectors.toList()); - String index = SalaryCacheKey.TAX_AGENT_MANAGE_RANGE_SYNC + currentEmployeeId; + + String index = SalaryCacheKey.TAX_AGENT_MANAGE_RANGE_SYNC + "-" + currentEmployeeId; String syncRange = Util.null2String(Util_DataCache.getObjVal(index)); if (StringUtils.isEmpty(syncRange)) { - getTaxAgentManageRangeService(user).syncManageRange(taxAgentIds); + getTaxAgentManageRangeService(user).syncManageRange(taxAgentIds, index); + try { + TimeUnit.SECONDS.sleep(2); + } catch (InterruptedException e) { + } + } else { + throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(135788, "人员范围同步过于频繁,请稍后再试")); + } + return SalaryI18nUtil.getI18nLabel(93945, "同步成功"); + } + + + /** + * 同步所有个税扣缴义务人的人员范围 + * + * @return + */ + public String syncAllRange() { + String syncRange = Util.null2String(Util_DataCache.getObjVal(SalaryCacheKey.TAX_AGENT_MANAGE_RANGE_SYNC)); + if (StringUtils.isEmpty(syncRange)) { + getTaxAgentManageRangeService(user).syncManageRange(null, SalaryCacheKey.TAX_AGENT_MANAGE_RANGE_SYNC); try { TimeUnit.SECONDS.sleep(2); } catch (InterruptedException e) {