|
@@ -47,16 +47,19 @@ public class ResponsibilityServiceImpl extends ServiceImpl<ResponsibilityMapper,
|
|
|
public List<CostResponsibilityVO> getList(User user) {
|
|
|
// 1. 获取所有的列表然后组装
|
|
|
List<CostResponsibilityVO> costResponsibilityVOS = this.getCostResponsibilityVO(user);
|
|
|
- List<CostResponsibilityVO> parentCostResponsibility = costResponsibilityVOS.stream()
|
|
|
- .filter(i -> i.getParentId() == 0).collect(Collectors.toList());
|
|
|
- // 多层结构
|
|
|
- List<CostResponsibilityVO> all = new ArrayList<>();
|
|
|
- // todo 试试多线程实现方式
|
|
|
- for (CostResponsibilityVO parent : parentCostResponsibility) {
|
|
|
- List<CostResponsibilityVO> children = this.getResponsibilityChildren(parent, costResponsibilityVOS);
|
|
|
- all.addAll(children);
|
|
|
- }
|
|
|
- return all;
|
|
|
+ return costResponsibilityVOS.stream().filter(i -> i.getParentId() == 0)
|
|
|
+ .peek(i -> i.setChild(this.getResponsibilityChildren(i, costResponsibilityVOS)))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+// List<CostResponsibilityVO> parentCostResponsibility = costResponsibilityVOS.stream()
|
|
|
+// .filter(i -> i.getParentId() == 0).collect(Collectors.toList());
|
|
|
+// // 多层结构
|
|
|
+// List<CostResponsibilityVO> all = new ArrayList<>();
|
|
|
+// // todo 试试多线程实现方式
|
|
|
+// for (CostResponsibilityVO parent : parentCostResponsibility) {
|
|
|
+// List<CostResponsibilityVO> children = this.getResponsibilityChildren(parent, costResponsibilityVOS);
|
|
|
+// all.addAll(children);
|
|
|
+// }
|
|
|
+// return all;
|
|
|
}
|
|
|
|
|
|
private List<CostResponsibilityVO> getCostResponsibilityVO(User user) {
|
|
@@ -81,20 +84,23 @@ public class ResponsibilityServiceImpl extends ServiceImpl<ResponsibilityMapper,
|
|
|
* @return
|
|
|
*/
|
|
|
private List<CostResponsibilityVO> getResponsibilityChildren(CostResponsibilityVO parent, List<CostResponsibilityVO> costResponsibilityVOS) {
|
|
|
- List<CostResponsibilityVO> list = new LinkedList<>();
|
|
|
- list.add(parent);
|
|
|
- for (CostResponsibilityVO costResponsibilityVO : costResponsibilityVOS) {
|
|
|
- if (parent.getId().equals(costResponsibilityVO.getParentId())) {
|
|
|
- List<CostResponsibilityVO> child = parent.getChild();
|
|
|
- if (CollUtil.isEmpty(child)) {
|
|
|
- child = new ArrayList<>();
|
|
|
- }
|
|
|
- child.add(costResponsibilityVO);
|
|
|
- parent.setChild(child);
|
|
|
- this.getResponsibilityChildren(costResponsibilityVO, costResponsibilityVOS);
|
|
|
- }
|
|
|
- }
|
|
|
- return list;
|
|
|
+ return costResponsibilityVOS.stream().filter(o -> o.getParentId().equals(parent.getId()))
|
|
|
+ .peek(o -> o.setChild(this.getResponsibilityChildren(o, costResponsibilityVOS)))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+// List<CostResponsibilityVO> list = new LinkedList<>();
|
|
|
+// list.add(parent);
|
|
|
+// for (CostResponsibilityVO costResponsibilityVO : costResponsibilityVOS) {
|
|
|
+// if (parent.getId().equals(costResponsibilityVO.getParentId())) {
|
|
|
+// List<CostResponsibilityVO> child = parent.getChild();
|
|
|
+// if (CollUtil.isEmpty(child)) {
|
|
|
+// child = new ArrayList<>();
|
|
|
+// }
|
|
|
+// child.add(costResponsibilityVO);
|
|
|
+// parent.setChild(child);
|
|
|
+// this.getResponsibilityChildren(costResponsibilityVO, costResponsibilityVOS);
|
|
|
+// }
|
|
|
+// }
|
|
|
+// return list;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -124,13 +130,8 @@ public class ResponsibilityServiceImpl extends ServiceImpl<ResponsibilityMapper,
|
|
|
center.setShareLevel(0);
|
|
|
center.setShareName("");
|
|
|
}
|
|
|
- // 父节点不允许为非汇总中心
|
|
|
- Responsibility byId = this.getById(id);
|
|
|
- if (Objects.nonNull(byId) && (byId.getIsGatherCenter() == 2)) {
|
|
|
- throw new CostException(500, "非汇总中心不允许添加下属层级");
|
|
|
- }
|
|
|
|
|
|
- // 只允许存在一个汇总中心
|
|
|
+ // 只允许存在一个默认中心
|
|
|
if (responsibilitySaveDTO.getIsDefault() == 1) {
|
|
|
this.checkIsDefault(user.getHospId());
|
|
|
}
|
|
@@ -206,12 +207,11 @@ public class ResponsibilityServiceImpl extends ServiceImpl<ResponsibilityMapper,
|
|
|
.setHospId(user.getHospId())
|
|
|
.setCreateTime(System.currentTimeMillis())
|
|
|
.setParentId(dto.getParentId());
|
|
|
- // 如果变成了汇总中心,那么变成第一层
|
|
|
+ // 如果变成了汇总中心 不存在分摊层级名称等
|
|
|
if (dto.getIsGatherCenter() == 1) {
|
|
|
newResponsibility.setShareId(null)
|
|
|
.setShareLevel(0)
|
|
|
- .setShareName(null)
|
|
|
- .setParentId(0L);
|
|
|
+ .setShareName(null);
|
|
|
}
|
|
|
if (dto.getParentId() == 0) {
|
|
|
// 永远为2的情况
|
|
@@ -347,6 +347,7 @@ public class ResponsibilityServiceImpl extends ServiceImpl<ResponsibilityMapper,
|
|
|
*/
|
|
|
@Override
|
|
|
public List<CenterDepartmentVO> getParentSon(User user) {
|
|
|
+ // 获取所有数据
|
|
|
// 1. 获取所有的列表然后组装
|
|
|
List<Responsibility> parentList = this.list(
|
|
|
new LambdaQueryWrapper<Responsibility>()
|
|
@@ -362,6 +363,7 @@ public class ResponsibilityServiceImpl extends ServiceImpl<ResponsibilityMapper,
|
|
|
.eq(Responsibility::getHospId, user.getHospId())
|
|
|
.ne(Responsibility::getParentId, 0)
|
|
|
);
|
|
|
+
|
|
|
List<CenterDepartmentVO> list = new ArrayList<>();
|
|
|
// 拷贝组合
|
|
|
for (Responsibility parent : parentList) {
|