Merge branch 'release/2.19.1.2501.01' into release/3.0.1.2503.01

This commit is contained in:
钱涛 2025-03-19 17:55:41 +08:00
commit a63d956da3
2 changed files with 20 additions and 7 deletions

View File

@ -76,6 +76,8 @@ import java.util.concurrent.CountDownLatch;
import java.util.concurrent.LinkedBlockingDeque; import java.util.concurrent.LinkedBlockingDeque;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.engine.salary.sys.constant.SalarySysConstant.SALARY_ACCT_SYNC_TYPE;
/** /**
* 薪资核算结果 * 薪资核算结果
* <p>Copyright: Copyright (c) 2022</p> * <p>Copyright: Copyright (c) 2022</p>
@ -863,6 +865,8 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe
// 12.4是否采用系统算税 // 12.4是否采用系统算税
TaxDeclarationFunctionEnum taxDeclarationFunction = getSalarySysConfService(user).getTaxDeclaration(); TaxDeclarationFunctionEnum taxDeclarationFunction = getSalarySysConfService(user).getTaxDeclaration();
// 12.5多线程运算运算结果存放在临时表中 // 12.5多线程运算运算结果存放在临时表中
//是否同步计算
boolean isSync = "1".equals(getSalarySysConfService(user).getValueByCode(SALARY_ACCT_SYNC_TYPE));
for (List<SalaryAcctEmployeePO> acctEmployeePOS : partition) { for (List<SalaryAcctEmployeePO> acctEmployeePOS : partition) {
SalaryAcctCalculateBO salaryAcctCalculateBO = new SalaryAcctCalculateBO() SalaryAcctCalculateBO salaryAcctCalculateBO = new SalaryAcctCalculateBO()
.setSalaryAcctRecordPO(salaryAcctRecordPO) .setSalaryAcctRecordPO(salaryAcctRecordPO)
@ -884,13 +888,17 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe
.setVariableItems(variableItemPOS) .setVariableItems(variableItemPOS)
.setTaxDeclarationFunction(taxDeclarationFunction); .setTaxDeclarationFunction(taxDeclarationFunction);
List<SalarySobBackItemPO> finalSalarySobBackItems = salarySobBackItems; List<SalarySobBackItemPO> finalSalarySobBackItems = salarySobBackItems;
LocalRunnable localRunnable = new LocalRunnable() { if (isSync) {
@Override getSalaryAcctCalculateService(user).calculate(salaryAcctCalculateBO, simpleEmployee, finalSalarySobBackItems);
public void execute() { } else {
getSalaryAcctCalculateService(user).calculate(salaryAcctCalculateBO, simpleEmployee, finalSalarySobBackItems); LocalRunnable localRunnable = new LocalRunnable() {
} @Override
}; public void execute() {
ThreadPoolUtil.fixedPoolExecute(ModulePoolEnum.HRM, "salaryAcctCalculate", localRunnable); getSalaryAcctCalculateService(user).calculate(salaryAcctCalculateBO, simpleEmployee, finalSalarySobBackItems);
}
};
ThreadPoolUtil.fixedPoolExecute(ModulePoolEnum.HRM, "salaryAcctCalculate", localRunnable);
}
} }
// 13等待所有子线程执行完毕 // 13等待所有子线程执行完毕
childMonitor.await(); childMonitor.await();

View File

@ -71,6 +71,11 @@ public class SalarySysConstant {
*/ */
public static final String SALARY_ACCT_EMPLOYEE_RULE = "salaryAcctEmployeeRule"; public static final String SALARY_ACCT_EMPLOYEE_RULE = "salaryAcctEmployeeRule";
/**
* 是否采用线程池同步异步/0异步 1同步
*/
public static final String SALARY_ACCT_SYNC_TYPE = "SALARY_ACCT_SYNC_TYPE";
/** /**
* 工资单二次验证方式 * 工资单二次验证方式
*/ */