From c1bdcc94fe90bc2979e731d66da4a956f4dc1b5c Mon Sep 17 00:00:00 2001 From: Harryxzy Date: Wed, 10 Jul 2024 14:38:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B8=AF=E6=B9=BE=E5=A4=9A=E8=AF=AD=E8=A8=80?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/salary/wrapper/SalaryItemWrapper.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/com/engine/salary/wrapper/SalaryItemWrapper.java b/src/com/engine/salary/wrapper/SalaryItemWrapper.java index 4cf7a712b..03a7590db 100644 --- a/src/com/engine/salary/wrapper/SalaryItemWrapper.java +++ b/src/com/engine/salary/wrapper/SalaryItemWrapper.java @@ -220,8 +220,10 @@ public class SalaryItemWrapper extends Service { if (StringUtils.isNotBlank(formulaRunScript)) { String formula = formulaRunScript; - String[] items = formulaRunScript.split("[\\.\\+\\-\\*\\=<=>()/!%]"); + + String[] items = formulaRunScript.split("[\\.\\+\\-\\*\\=<=>()/!%,]"); List itemList = Arrays.asList(items).stream().filter(f -> f.contains("_")).collect(Collectors.toList()); + itemList = itemList.stream().sorted(Comparator.reverseOrder()).collect(Collectors.toList()); Map allFieldIdNameMap = getRemoteExcelService(user).allFieldIdNameMap(); for (String item : itemList) { @@ -236,6 +238,13 @@ public class SalaryItemWrapper extends Service { } + public static void main(String[] args) { + String test="IF(attend_1>0,(attend_14)*((salaryArchives_baseSalary+salaryArchives_postSalary+salaryArchives_29298fdc9bad4acf9ed3a71a65b74953)/21.75),0)"; + String[] items = test.split("[\\.\\+\\-\\*\\=<=>()/!%,]"); + Arrays.sort(items, (s1, s2) -> s2.compareTo(s1)); + System.out.println(items); + } + //由变量id获取当前的变量名称 public String getFieldNameByFieldId(String fieLdId) { Map allFieldIdNameMap = getRemoteExcelService(user).allFieldIdNameMap();