维度统计管理判断能否删除和编辑-2
This commit is contained in:
parent
33a8ecb4f7
commit
32e7959745
|
|
@ -39,4 +39,10 @@ public class SalaryStatisticsDimensionListDTO {
|
|||
//是否默认")
|
||||
@JsonIgnore
|
||||
private Integer isDefault;
|
||||
|
||||
// 能否删除
|
||||
private boolean canDelete;
|
||||
|
||||
// 能否编辑
|
||||
private boolean canEdit;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,9 +12,12 @@ import com.engine.salary.report.entity.dto.SalaryStatisticsDimensionListDTO;
|
|||
import com.engine.salary.report.entity.param.SalaryStatisticsDimensionQueryParam;
|
||||
import com.engine.salary.report.entity.param.SalaryStatisticsDimensionSaveParam;
|
||||
import com.engine.salary.report.entity.po.SalaryStatisticsDimensionPO;
|
||||
import com.engine.salary.report.entity.po.SalaryStatisticsReportPO;
|
||||
import com.engine.salary.report.enums.SalaryStatisticsDimensionTypeEnum;
|
||||
import com.engine.salary.report.service.SalaryStatisticsDimensionService;
|
||||
import com.engine.salary.report.service.SalaryStatisticsReportService;
|
||||
import com.engine.salary.report.service.impl.SalaryStatisticsDimensionServiceImpl;
|
||||
import com.engine.salary.report.service.impl.SalaryStatisticsReportServiceImpl;
|
||||
import com.engine.salary.service.SalaryItemService;
|
||||
import com.engine.salary.service.impl.SalaryItemServiceImpl;
|
||||
import com.engine.salary.util.JsonUtil;
|
||||
|
|
@ -47,6 +50,14 @@ public class SalaryStatisticsDimensionWrapper extends Service {
|
|||
return ServiceUtil.getService(SalaryItemServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SalaryStatisticsDimensionService getSalaryStatisticsDimensionService(User user) {
|
||||
return ServiceUtil.getService(SalaryStatisticsDimensionServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SalaryStatisticsReportService getSalaryStatisticsReportService(User user) {
|
||||
return ServiceUtil.getService(SalaryStatisticsReportServiceImpl.class, user);
|
||||
}
|
||||
|
||||
/**
|
||||
* 薪酬统计维度列表
|
||||
*
|
||||
|
|
@ -57,14 +68,35 @@ public class SalaryStatisticsDimensionWrapper extends Service {
|
|||
PageInfo<SalaryStatisticsDimensionPO> page = salaryStatisticsDimensionService(user).listPage(queryParam);
|
||||
List<SalaryStatisticsDimensionPO> list = page.getList();
|
||||
List<SalaryStatisticsDimensionListDTO> dtoList= new ArrayList<>();
|
||||
|
||||
// 获取默认维度统计
|
||||
List<SalaryStatisticsDimensionPO> defaultSalaryStatisticsDimensions = getSalaryStatisticsDimensionService(user).listAllDefaultDimension();
|
||||
List<Long> defaultDimensionIds = defaultSalaryStatisticsDimensions.stream().map(SalaryStatisticsDimensionPO::getId).collect(Collectors.toList());
|
||||
// 获取有薪资统计报表引用的统计维度
|
||||
Set<String> haveUsedDimIds = new HashSet<>();
|
||||
List<SalaryStatisticsReportPO> salaryStatisticsReports = getSalaryStatisticsReportService(user).listAll();
|
||||
salaryStatisticsReports.stream().forEach(report -> Collections.addAll(haveUsedDimIds, report.getDimension().split(",")));
|
||||
if (CollectionUtils.isNotEmpty(list)) {
|
||||
dtoList = list.stream().map(m -> SalaryStatisticsDimensionListDTO.builder()
|
||||
.id(m.getId())
|
||||
.dimName(m.getDimName())
|
||||
.remark(m.getRemark())
|
||||
.dimType(SalaryStatisticsDimensionTypeEnum.getDefaultLabelByValue(m.getDimType()))
|
||||
.isDefault(m.getIsDefault())
|
||||
.build()).collect(Collectors.toList());
|
||||
list.stream().forEach(m -> {
|
||||
SalaryStatisticsDimensionListDTO dto = SalaryStatisticsDimensionListDTO.builder()
|
||||
.id(m.getId())
|
||||
.dimName(m.getDimName())
|
||||
.remark(m.getRemark())
|
||||
.dimType(SalaryStatisticsDimensionTypeEnum.getDefaultLabelByValue(m.getDimType()))
|
||||
.isDefault(m.getIsDefault())
|
||||
.canEdit(true)
|
||||
.canDelete(true)
|
||||
.build();
|
||||
if (defaultDimensionIds.contains(dto.getId())){
|
||||
// 默认维度不允许修改、删除
|
||||
dto.setCanEdit(false);
|
||||
dto.setCanDelete(false);
|
||||
}else if(haveUsedDimIds.contains(dto.getId().toString())){
|
||||
// 被薪资统计报表引用的不能删除
|
||||
dto.setCanDelete(false);
|
||||
}
|
||||
dtoList.add(dto);
|
||||
});
|
||||
}
|
||||
|
||||
PageInfo<SalaryStatisticsDimensionListDTO> salaryStatisticsDimensionListDTOPageInfo = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize());
|
||||
|
|
|
|||
Loading…
Reference in New Issue