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();