Merge branch 'fix/statisticsEditDelete' into release/2.8.3.2306.01
This commit is contained in:
commit
d303110737
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,4 +39,10 @@ public class SalaryStatisticsDimensionListDTO {
|
|||
//是否默认")
|
||||
@JsonIgnore
|
||||
private Integer isDefault;
|
||||
|
||||
// 能否删除
|
||||
private boolean canDelete;
|
||||
|
||||
// 能否编辑
|
||||
private boolean canEdit;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -65,4 +65,11 @@ public interface SalaryStatisticsDimensionService {
|
|||
* @return
|
||||
*/
|
||||
Map<String, Object> delete(Collection<Long> ids);
|
||||
|
||||
/**
|
||||
* 获取默认薪酬统计维度
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
List<SalaryStatisticsDimensionPO> listAllDefaultDimension();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
|
|
|
|||
|
|
@ -127,6 +127,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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue