Merge branch 'release/2.15.1.2407.01' into release/个税版本

This commit is contained in:
钱涛 2024-08-06 14:24:42 +08:00
commit 05a755c9b3
1 changed files with 19 additions and 10 deletions

View File

@ -1,5 +1,6 @@
package com.engine.salary.entity.salaryacct.bo;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil;
import com.engine.salary.annotation.SalaryFormulaVar;
import com.engine.salary.component.WeaTableColumnGroup;
@ -35,6 +36,7 @@ import org.springframework.beans.BeanUtils;
import weaver.general.Util;
import java.lang.reflect.Field;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
@ -305,7 +307,7 @@ public class SalaryAcctResultBO {
} else if ("status".equals(salarySobEmpField.getFieldCode())) {
map.put("status", e.getStatus());
} else if ("statusName".equals(salarySobEmpField.getFieldCode())) {
map.put("statusName", UserStatusEnum.getDefaultLabelByValue(new Integer(Util.null2s(e.getStatus(),"1"))));
map.put("statusName", UserStatusEnum.getDefaultLabelByValue(new Integer(Util.null2s(e.getStatus(), "1"))));
} else {
map.put(salarySobEmpField.getFieldCode(), fieldValueMap.get(salarySobEmpField.getFieldCode()));
}
@ -418,13 +420,20 @@ public class SalaryAcctResultBO {
// 薪资项目字段的字段类型
map.put(salaryItem.getId() + DATA_TYPE_SUFFIX, salaryItem.getDataType());
SalaryDataTypeEnum dataTypeEnum = SalaryDataTypeEnum.parseByValue(salaryItem.getDataType());
if (dataTypeEnum == SalaryDataTypeEnum.STRING) {
if (!StringUtils.equals(acctResultValue, excelResultValue)) {
different = true;
includeSalaryItemIds.add(salaryItem.getId());
if (dataTypeEnum == SalaryDataTypeEnum.NUMBER) {
if (NumberUtil.isNumber(acctResultValue) && NumberUtil.isNumber(excelResultValue)) {
if (new BigDecimal(acctResultValue).compareTo(new BigDecimal(excelResultValue)) != 0) {
different = true;
includeSalaryItemIds.add(salaryItem.getId());
}
} else {
if (SalaryEntityUtil.empty2Zero(acctResultValue).compareTo(SalaryEntityUtil.empty2Zero(excelResultValue)) != 0) {
different = true;
includeSalaryItemIds.add(salaryItem.getId());
}
}
} else {
if (SalaryEntityUtil.empty2Zero(acctResultValue).compareTo(SalaryEntityUtil.empty2Zero(excelResultValue)) != 0) {
if (!StringUtils.equals(acctResultValue, excelResultValue)) {
different = true;
includeSalaryItemIds.add(salaryItem.getId());
}
@ -499,7 +508,7 @@ public class SalaryAcctResultBO {
fieldValueMap.put("id", employeeFieldValueMap.getOrDefault(codeKey + "Id", StringUtils.EMPTY));
fieldValueMap.put("name", employeeFieldValueMap.getOrDefault(codeKey + "Name", StringUtils.EMPTY));
if (codeKey.equals("jobcall")) {
fieldValueMap.put("name", employeeFieldValueMap.getOrDefault( "jobcall", StringUtils.EMPTY));
fieldValueMap.put("name", employeeFieldValueMap.getOrDefault("jobcall", StringUtils.EMPTY));
}
dto.setFieldValue(fieldValueMap);
}
@ -511,11 +520,11 @@ public class SalaryAcctResultBO {
// 过滤出是浏览框类型的且人员信息中同时存在名称和id的字段
employeeInfos.stream()
.filter(e -> e.getFieldType().contains("Browser"))
.map(e -> SalaryAcctEmployeeInfoDTO.builder().fieldName(e.getFieldName().replace("ID","")).build())
.map(e -> SalaryAcctEmployeeInfoDTO.builder().fieldName(e.getFieldName().replace("ID", "")).build())
.collect(Collectors.groupingBy(SalaryAcctEmployeeInfoDTO::getFieldName))
.forEach((k,v) -> {
.forEach((k, v) -> {
if (v.size() > 1) {
needRemoveFieldNames.add(k+"ID");
needRemoveFieldNames.add(k + "ID");
}
});