Merge remote-tracking branch 'origin/release/2.8.3.2306.01' into release/2.8.3.2306.01

This commit is contained in:
钱涛 2023-05-26 11:15:49 +08:00
commit ecdfc0c957
2 changed files with 26 additions and 6 deletions

View File

@ -404,16 +404,32 @@ public class SalaryAcctResultBO {
List<SalaryAcctResultDetailDTO.SalaryAcctResultDetailItemByGroupDTO> itemsByGroup = new ArrayList<>();
for(SalarySobItemGroupPO groupPO : salarySobItemGroupPOS){
List<SalarySobItemPO> groupItems = salarySobItemPOMap.getOrDefault(groupPO.getId(),Collections.emptyList());
List<SalaryAcctResultDetailDTO.SalaryAcctResultDetailItemDTO> items = groupItems.stream()
if(CollectionUtils.isNotEmpty(groupItems)){
List<SalaryAcctResultDetailDTO.SalaryAcctResultDetailItemDTO> items = groupItems.stream()
.map(salarySobItemPO -> convert2SalaryAcctResultDetailItemDTO(salarySobItemPO, salaryItemMap.get(salarySobItemPO.getSalaryItemId()), resultValueMap, formulaContentMap))
.collect(Collectors.toList());
itemsByGroup.add(SalaryAcctResultDetailDTO.SalaryAcctResultDetailItemByGroupDTO.builder()
.salarySobItemGroupId(groupPO.getId())
.salarySobItemGroupName(groupPO.getName())
.salaryItems(items)
.sortedIndex(groupPO.getSortedIndex()).build() );
}
}
// 未分类
List<SalarySobItemPO> noGroupItems = salarySobItemPOMap.getOrDefault(0L, Collections.emptyList());
if(CollectionUtils.isNotEmpty(noGroupItems)){
List<SalaryAcctResultDetailDTO.SalaryAcctResultDetailItemDTO> items = noGroupItems.stream()
.map(salarySobItemPO -> convert2SalaryAcctResultDetailItemDTO(salarySobItemPO, salaryItemMap.get(salarySobItemPO.getSalaryItemId()), resultValueMap, formulaContentMap))
.collect(Collectors.toList());
itemsByGroup.add(SalaryAcctResultDetailDTO.SalaryAcctResultDetailItemByGroupDTO.builder()
.salarySobItemGroupId(groupPO.getId())
.salarySobItemGroupName(groupPO.getName())
.salarySobItemGroupId(0L)
.salarySobItemGroupName("未分类")
.salaryItems(items)
.sortedIndex(groupPO.getSortedIndex()).build() );
.sortedIndex(itemsByGroup.size()).build());
}
// // 公式项的值不根据salaryItemPO的valueType判断是因为薪资项目的valueType属性改变后并不会同步更新薪资账套中的薪资项目的formulaId字段
// List<SalaryAcctResultDetailDTO.SalaryAcctResultDetailItemDTO> formulaItems = salarySobItemPOS.stream()
// .filter(salarySobItemPO -> salarySobItemPO.getFormulaId() > 0)

View File

@ -601,9 +601,13 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe
List<SalaryAcctResultPO> editItems = new ArrayList<>();
Map<Long, SalaryAcctResultPO> oldResutMap = SalaryEntityUtil.convert2Map(salaryAcctResultPOSOld, SalaryAcctResultPO::getSalaryItemId);
salaryAcctResultPOS.stream().forEach(PO -> {
String oldValue = oldResutMap.get(PO.getSalaryItemId()).getResultValue();
if(!StringUtils.equals(oldValue,PO.getResultValue())){
if(oldResutMap.get(PO.getSalaryItemId()) == null){
editItems.add(PO);
}else{
String oldValue = oldResutMap.get(PO.getSalaryItemId()).getResultValue();
if(!StringUtils.equals(oldValue,PO.getResultValue())){
editItems.add(PO);
}
}
});
List<SalaryAcctResultLogPO> needInsertList = SalaryAcctResultLogBO.buildSalaryAcctResultLog(editItems, Long.valueOf(user.getUID()), SalaryAcctResultDataSourceEnum.EDIT);