手持式设备树功能重写

This commit is contained in:
xy
2024-09-24 13:20:03 +08:00
parent e836d9bd07
commit 35e521365d

View File

@@ -19,7 +19,6 @@ import com.njcn.oss.utils.FileStorageUtil;
import com.njcn.redis.utils.RedisUtil;
import com.njcn.system.api.AreaFeignClient;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.enums.DicDataEnum;
import com.njcn.system.pojo.po.Area;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
@@ -50,14 +49,10 @@ public class CsLedgerServiceImpl extends ServiceImpl<CsLedgerMapper, CsLedger> i
private final DicDataFeignClient dicDataFeignClient;
private final FileStorageUtil fileStorageUtil;
private final RoleEngineerDevService roleEngineerDevService;
private final WlRecordMapper wlRecordMapper;
private final CsDevModelRelationService csDevModelRelationService;
private final CsEquipmentDeliveryMapper csEquipmentDeliveryMapper;
private final ICsDataSetService csDataSetService;
@Override
public List<CsLedgerVO> getLedgerTree() {
List<CsLedgerVO> list = new ArrayList<>();
@@ -75,10 +70,8 @@ public class CsLedgerServiceImpl extends ServiceImpl<CsLedgerMapper, CsLedger> i
@Override
public List<CsLedgerVO> getLineTree() {
List<CsLedgerVO> engineeringList = new ArrayList<>();
List<CsLedgerVO> engineeringList;
List<CsLedgerVO> allList = this.baseMapper.getAll();
String areaId = dicDataFeignClient.getDicDataByCode(DicDataEnum.OUTPUT_SIDE.getCode()).getData().getId();
/*获取用户工程,设备信息过滤*/
List<String> roleengineer = roleEngineerDevService.getRoleengineer();
List<String> device = roleEngineerDevService.getDevice();
@@ -98,26 +91,19 @@ public class CsLedgerServiceImpl extends ServiceImpl<CsLedgerMapper, CsLedger> i
deviceList.forEach(dev -> dev.setChildren(getChildren(dev, finalLineList)));
projectList.forEach(pro -> pro.setChildren(getChildren(pro, deviceList)));
engineeringList.forEach(eng -> eng.setChildren(getChildren(eng, projectList)));
//整理整个树并新增便携式设备树
//获取便携式设备树
CsLedgerVO portable = new CsLedgerVO();
portable.setLevel(0);
portable.setName(DataParam.portableDev);
portable.setPid("0");
portable.setId(IdUtil.simpleUUID());
List<CsLedgerVO> portables = wlRecordMapper.getAll();
List<CsLedgerVO> portables = allList.stream().filter(item->Objects.equals(item.getLevel(),2) && Objects.equals(item.getPid(),"0")).collect(Collectors.toList());
portables.forEach(dev -> dev.setChildren(getChildren(dev, finalLineList)));
checkDevSetData(portables);
for(CsLedgerVO c : portables){
c.setPid(portable.getId());
CsEquipmentDeliveryPO csEquipmentDeliveryPO = csEquipmentDeliveryMapper.selectById(c.getId());
c.setComFlag(csEquipmentDeliveryPO.getRunStatus());
List<CsLedgerVO> csLedgerVOList = wlRecordMapper.getAllLine(c.getId());
csLedgerVOList.forEach(item->item.setComFlag(c.getComFlag()));
c.setChildren(csLedgerVOList);
for(CsLedgerVO cs : c.getChildren()){
cs.setPid(c.getId());
cs.setLevel(3);
cs.setComFlag(csEquipmentDeliveryPO.getRunStatus());
}
CsEquipmentDeliveryPO po = csEquipmentDeliveryMapper.selectById(c.getId());
c.setComFlag(po.getRunStatus());
}
portable.setChildren(portables);
@@ -131,29 +117,7 @@ public class CsLedgerServiceImpl extends ServiceImpl<CsLedgerMapper, CsLedger> i
tree.add(portable);
tree.add(government);
return tree;
//return engineeringList;
}
// //剔除未接入的设备(根据status判断不太稳,所有这里直接判断该设备有没有对应的模板指标)
// private void checkDevSetData(List<CsLedgerVO> ledgerVOS){
// Iterator<CsLedgerVO> iterator = ledgerVOS.iterator();
// while (iterator.hasNext()){
// CsLedgerVO csLedgerVO = iterator.next();
// //只针对设备
// if(csLedgerVO.getLevel() == 2){
// List<CsDevModelRelationPO> modelId = csDevModelRelationService.findModelByDevId(csLedgerVO.getId());
// if (CollUtil.isEmpty(modelId)){
// iterator.remove();
// }else{
// for (CsDevModelRelationPO item : modelId) {
// if (CollUtil.isEmpty(csDataSetService.findDataSetByModelId(item.getModelId()))){
// iterator.remove();
// }
// }
// }
// }
// }
// }
//剔除未接入的设备(根据status判断不太稳,所有这里直接判断该设备有没有对应的模板指标)
private void checkDevSetData(List<CsLedgerVO> ledgerVOS) {
Iterator<CsLedgerVO> iterator = ledgerVOS.iterator();
@@ -185,45 +149,38 @@ public class CsLedgerServiceImpl extends ServiceImpl<CsLedgerMapper, CsLedger> i
@Override
public List<CsLedgerVO> getDeviceTree() {
List<CsLedgerVO> engineeringList = new ArrayList<>();
List<CsLedgerVO> engineeringList;
List<CsLedgerVO> allList = this.baseMapper.getAll();
/*获取用户工程,设备信息过滤*/
List<String> roleengineer = roleEngineerDevService.getRoleengineer();
List<String> device = roleEngineerDevService.getDevice();
engineeringList = allList.stream().filter(item->roleengineer.contains(item.getId())).collect(Collectors.toList());
// if (Objects.equals(RequestUtil.getUsername(),"root")){
// engineeringList = allList.stream().filter(item -> item.getLevel().equals(LineBaseEnum.ENGINEERING_LEVEL.getCode())).sorted(Comparator.comparing(CsLedgerVO::getSort)).collect(Collectors.toList());
// } else {
// List<CsEngineeringPO> engineering = csEngineeringUserService.getEngineeringByUser();
// engineeringList = allList.stream().filter(item->engineering.stream().map(CsEngineeringPO::getId).collect(Collectors.toList()).contains(item.getId())).collect(Collectors.toList());
// }
List<CsLedgerVO> projectList = allList.stream().filter(item -> item.getLevel().equals(LineBaseEnum.PROJECT_LEVEL.getCode())).sorted(Comparator.comparing(CsLedgerVO::getSort)).collect(Collectors.toList());
// List<CsLedgerVO> deviceList = allList.stream().filter(item -> item.getLevel().equals(LineBaseEnum.DEVICE_LEVEL.getCode())).sorted(Comparator.comparing(CsLedgerVO::getSort)).collect(Collectors.toList());
List<CsLedgerVO> deviceList = allList.stream().filter(item -> device.contains(item.getId())).
map(
peek(
temp->{
CsEquipmentDeliveryPO csEquipmentDeliveryPO = csEquipmentDeliveryMapper.selectById(temp.getId());
temp.setComFlag(csEquipmentDeliveryPO.getRunStatus());
temp.setNDId(csEquipmentDeliveryPO.getNdid());
return temp;
}
).
sorted(Comparator.comparing(CsLedgerVO::getSort)).collect(Collectors.toList());
checkDevSetData(deviceList);
projectList.forEach(pro -> pro.setChildren(getChildren(pro, deviceList)));
engineeringList.forEach(eng -> eng.setChildren(getChildren(eng, projectList)));
//整理整个树并新增便携式设备树
//获取便携式设备树
CsLedgerVO portable = new CsLedgerVO();
portable.setLevel(0);
portable.setName(DataParam.portableDev);
portable.setPid("0");
portable.setId(IdUtil.simpleUUID());
List<CsLedgerVO> portables = wlRecordMapper.getAll();
List<CsLedgerVO> portables = allList.stream().filter(item->Objects.equals(item.getLevel(),2) && Objects.equals(item.getPid(),"0")).collect(Collectors.toList());
checkDevSetData(portables);
for(CsLedgerVO c : portables){
c.setPid(portable.getId());
CsEquipmentDeliveryPO csEquipmentDeliveryPO = csEquipmentDeliveryMapper.selectById(c.getId());
c.setComFlag(csEquipmentDeliveryPO.getRunStatus());
CsEquipmentDeliveryPO po = csEquipmentDeliveryMapper.selectById(c.getId());
c.setComFlag(po.getRunStatus());
}
portable.setChildren(portables);
@@ -237,7 +194,6 @@ public class CsLedgerServiceImpl extends ServiceImpl<CsLedgerMapper, CsLedger> i
tree.add(portable);
tree.add(government);
return tree;
//return engineeringList;
}
@Override
@@ -289,12 +245,6 @@ public class CsLedgerServiceImpl extends ServiceImpl<CsLedgerMapper, CsLedger> i
public List<CsLedgerVO> getProjectTree() {
List<CsLedgerVO> engineeringList = new ArrayList<>();
List<CsLedgerVO> allList = this.baseMapper.getAll();
// if (Objects.equals(RequestUtil.getUsername(),"root") || Objects.equals(RequestUtil.getUsername(),"njcnser")){
// engineeringList = allList.stream().filter(item -> item.getLevel().equals(LineBaseEnum.ENGINEERING_LEVEL.getCode())).sorted(Comparator.comparing(CsLedgerVO::getSort)).collect(Collectors.toList());
// } else {
// List<CsEngineeringPO> engineering = csEngineeringUserService.getEngineeringByUser();
// engineeringList = allList.stream().filter(item->engineering.stream().map(CsEngineeringPO::getId).collect(Collectors.toList()).contains(item.getId())).collect(Collectors.toList());
// }
List<String> roleengineer = roleEngineerDevService.getRoleengineer();
engineeringList = allList.stream().filter(item->roleengineer.contains(item.getId())).collect(Collectors.toList());
List<CsLedgerVO> projectList = allList.stream().filter(item -> item.getLevel().equals(LineBaseEnum.PROJECT_LEVEL.getCode())).sorted(Comparator.comparing(CsLedgerVO::getSort)).collect(Collectors.toList());
@@ -317,23 +267,18 @@ public class CsLedgerServiceImpl extends ServiceImpl<CsLedgerMapper, CsLedger> i
temp.setChildren(collect);
});
engineeringList.forEach(eng -> {
CsEngineeringPO csEngineeringPO = csEngineeringMapper.selectById(eng.getId());
eng.setArea(this.getAreaById(csEngineeringPO.getProvince())+this.getAreaById(csEngineeringPO.getCity()));
eng.setRemark(csEngineeringPO.getDescription());
eng.setChildren(getChildren(eng, projectList));
}
}
);
return engineeringList;
}
@Override
public List<CsLedger> queryLine(LineParamDTO lineParamdto) {
List<CsLedger> lineIds = this.getBaseMapper().queryLine(lineParamdto);
return lineIds;
return this.getBaseMapper().queryLine(lineParamdto);
}
@Override