维度统计管理判断能否删除和编辑

This commit is contained in:
Harryxzy 2023-05-24 14:17:31 +08:00
parent 5768da7099
commit 33a8ecb4f7
4 changed files with 63 additions and 0 deletions

View File

@ -8,16 +8,30 @@ public class WeaFormOption implements Serializable {
private String content;
private boolean disabled;
private boolean canEdit;
private boolean canDelete;
public WeaFormOption() {
this.disabled = Boolean.FALSE;
}
public WeaFormOption(String id, String content) {
this.disabled = Boolean.FALSE;
this.canEdit = Boolean.TRUE;
this.canDelete = Boolean.TRUE;
this.id = id;
this.content = content;
}
public WeaFormOption(String id, String content, boolean canEdit, boolean canDelete) {
this.disabled = Boolean.FALSE;
this.id = id;
this.content = content;
this.canEdit = canEdit;
this.canDelete = canDelete;
}
public String getId() {
return this.id;
}
@ -34,6 +48,7 @@ public class WeaFormOption implements Serializable {
this.content = content;
}
public boolean isDisabled() {
return this.disabled;
}
@ -41,4 +56,20 @@ public class WeaFormOption implements Serializable {
public void setDisabled(boolean disabled) {
this.disabled = disabled;
}
public boolean isCanEdit() {
return canEdit;
}
public void setCanEdit(boolean canEdit) {
this.canEdit = canEdit;
}
public boolean isCanDelete() {
return canDelete;
}
public void setCanDelete(boolean canDelete) {
this.canDelete = canDelete;
}
}

View File

@ -65,4 +65,11 @@ public interface SalaryStatisticsDimensionService {
* @return
*/
Map<String, Object> delete(Collection<Long> ids);
/**
* 获取默认薪酬统计维度
*
* @return
*/
List<SalaryStatisticsDimensionPO> listAllDefaultDimension();
}

View File

@ -243,4 +243,9 @@ public class SalaryStatisticsDimensionServiceImpl extends Service implements Sal
resultMap.put("msg", resultMsg);
return resultMap;
}
@Override
public List<SalaryStatisticsDimensionPO> listAllDefaultDimension() {
return getSalaryStatisticsDimensionMapper().listSome(SalaryStatisticsDimensionPO.builder().isDefault(NumberUtils.INTEGER_ONE).build());
}
}

View File

@ -106,6 +106,26 @@ public class SalaryStatisticsReportWrapper extends Service {
List<SalaryStatisticsDimensionPO> salaryStatisticsDimensions = getSalaryStatisticsDimensionService(user).listAll();
List<WeaFormOption> statsDimOptions = salaryStatisticsDimensions.stream().map(sd -> new WeaFormOption(sd.getId().toString(), sd.getDimName())).collect(Collectors.toList());
// 获取默认维度统计
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(",")));
statsDimOptions.stream().forEach(option -> {
if (defaultDimensionIds.contains(Long.valueOf(option.getId()))){
// 默认维度不允许修改删除
option.setCanDelete(false);
option.setCanEdit(false);
}else if(haveUsedDimIds.contains(option.getId())){
// 被薪资统计报表引用的不能删除
option.setCanEdit(true);
option.setCanDelete(false);
}
});
// 1.构建基础信息表单
Map<String, Object> weaForm = new HashMap<>();
weaForm.put("statsDimOptions", statsDimOptions);