修复合计没有根据自定义字段过滤
This commit is contained in:
parent
872ca0a805
commit
2b4ded9dd0
|
|
@ -47,6 +47,9 @@ public class SalaryAcctImportFieldDTO {
|
|||
|
||||
//薪资项目名称
|
||||
private String salaryItemName;
|
||||
|
||||
//薪资项目类型
|
||||
private String dataType;
|
||||
}
|
||||
|
||||
@Data
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ import com.engine.salary.entity.taxagent.po.TaxAgentPO;
|
|||
import com.engine.salary.enums.UserStatusEnum;
|
||||
import com.engine.salary.enums.salaryaccounting.LockStatusEnum;
|
||||
import com.engine.salary.enums.salaryaccounting.SalaryAcctResultDataSourceEnum;
|
||||
import com.engine.salary.enums.salaryitem.SalaryDataTypeEnum;
|
||||
import com.engine.salary.exception.SalaryRunTimeException;
|
||||
import com.engine.salary.mapper.sys.SalarySysConfMapper;
|
||||
import com.engine.salary.service.*;
|
||||
|
|
@ -442,6 +443,7 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
|
|||
.map(salarySobItemPO -> SalaryAcctImportFieldDTO.ImportFieldDTO.builder()
|
||||
.salaryItemId(salarySobItemPO.getSalaryItemId())
|
||||
.salaryItemName(Optional.ofNullable(salaryItemMap.get(salarySobItemPO.getSalaryItemId())).map(SalaryItemPO::getName).orElse(StringUtils.EMPTY))
|
||||
.dataType(Optional.ofNullable(salaryItemMap.get(salarySobItemPO.getSalaryItemId())).map(SalaryItemPO::getDataType).orElse(SalaryDataTypeEnum.NUMBER.getValue()))
|
||||
.build())
|
||||
.collect(Collectors.toList());
|
||||
|
||||
|
|
@ -458,6 +460,7 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
|
|||
.map(salarySobItemPO ->SalaryAcctImportFieldDTO.ImportFieldDTO.builder()
|
||||
.salaryItemId(salarySobItemPO.getSalaryItemId())
|
||||
.salaryItemName(Optional.ofNullable(salaryItemMap.get(salarySobItemPO.getSalaryItemId())).map(SalaryItemPO::getName).orElse(StringUtils.EMPTY))
|
||||
.dataType(Optional.ofNullable(salaryItemMap.get(salarySobItemPO.getSalaryItemId())).map(SalaryItemPO::getDataType).orElse(SalaryDataTypeEnum.NUMBER.getValue()))
|
||||
.build())
|
||||
.collect(Collectors.toList());
|
||||
|
||||
|
|
|
|||
|
|
@ -347,6 +347,29 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe
|
|||
|
||||
@Override
|
||||
public Map<String, Object> sumRow(SalaryAcctResultQueryParam queryParam) {
|
||||
|
||||
//其他条件
|
||||
List<SalaryAcctResultQueryParam.OtherCondition> otherConditions = queryParam.getOtherConditions();
|
||||
if(CollectionUtils.isNotEmpty(otherConditions)){
|
||||
List<Long> items = SalaryEntityUtil.properties(otherConditions, SalaryAcctResultQueryParam.OtherCondition::getItemId, Collectors.toList());
|
||||
List<SalaryAcctResultPO> list = listBySalaryAcctRecordIdsAndSalaryItemIds(Collections.singletonList(queryParam.getSalaryAcctRecordId()), items);
|
||||
for (int i = 0; i < otherConditions.size(); i++) {
|
||||
SalaryAcctResultQueryParam.OtherCondition otherCondition = otherConditions.get(i);
|
||||
Long itemId = otherCondition.getItemId();
|
||||
FilterEnum filter = otherCondition.getFilter();
|
||||
List<String> params = otherCondition.getParams();
|
||||
list = list.stream().filter(a -> Objects.equals(a.getSalaryItemId(), itemId)).filter(a -> filter.filter(params).test(a.getResultValue())).collect(Collectors.toList());
|
||||
}
|
||||
List<Long> salaryAcctEmpId = SalaryEntityUtil.properties(list, SalaryAcctResultPO::getSalaryAcctEmpId, Collectors.toList());
|
||||
if (CollectionUtils.isEmpty(salaryAcctEmpId)) {
|
||||
//条件不满足直接返回空列表
|
||||
return new HashMap<>();
|
||||
} else {
|
||||
queryParam.setIds(salaryAcctEmpId);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 查询薪资核算人员
|
||||
List<SalaryAcctEmployeePO> salaryAcctEmployeePOS = getSalaryAcctEmployeeService(user).listByResultQueryParam(queryParam);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue