Procházet zdrojové kódy

2022-12-27 添加楼栋查询的数据,关联相关实验室。

chaiyunlong před 3 roky
rodič
revize
a16425b60c

+ 4 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/vo/LabBuildFloorVo.java

@@ -39,4 +39,8 @@ public class LabBuildFloorVo extends LabBuildFloor {
 
     /** 楼层对应的摄像头数据 */
     private List<LabSparseHardware> sparseHardwareList = new ArrayList <>();
+
+    /** 布局图房间信息 */
+    @ApiModelProperty(value = "布局图房间信息")
+    private List <LabBuildFloorLayoutVo> buildFloorLayoutVoList = new ArrayList <>();
 }

+ 37 - 8
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabBuildFloorServiceImpl.java

@@ -4,15 +4,9 @@ import com.github.pagehelper.PageInfo;
 import com.zd.common.core.exception.ServiceException;
 import com.zd.common.core.utils.SaveUtil;
 import com.zd.common.core.utils.SecurityUtils;
-import com.zd.laboratory.domain.LabBuildFloor;
-import com.zd.laboratory.domain.LabBuildFloorLayout;
-import com.zd.laboratory.domain.LabExitLineVertex;
-import com.zd.laboratory.domain.LabSparseHardware;
+import com.zd.laboratory.domain.*;
 import com.zd.laboratory.domain.vo.*;
-import com.zd.laboratory.mapper.LabBuildFloorLayoutMapper;
-import com.zd.laboratory.mapper.LabBuildFloorMapper;
-import com.zd.laboratory.mapper.LabExitLineVertexMapper;
-import com.zd.laboratory.mapper.LabSparseHardwareMapper;
+import com.zd.laboratory.mapper.*;
 import com.zd.laboratory.service.ILabBuildFloorService;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -47,6 +41,9 @@ public class LabBuildFloorServiceImpl implements ILabBuildFloorService {
     @Autowired
     private LabSparseHardwareMapper labSparseHardwareMapper;
 
+    @Autowired
+    private LabSubjectMapper labSubjectMapper;
+
     @Override
     public List <LabBuildFloor> selectLabBuildFloorList(LabBuildFloor labBuildFloor) {
         return labBuildFloorMapper.selectLabBuildFloorList(labBuildFloor);
@@ -201,6 +198,38 @@ public class LabBuildFloorServiceImpl implements ILabBuildFloorService {
                 .filter(b->b.getFloorId().longValue()==a.getId().longValue())
                 .forEach(b->{
                     a.getExitLineVertexList().add(b);
+
+                    //获取布局图实验室信息信息
+                    LabBuildFloorLayout labBuildFloorLayout = new LabBuildFloorLayout();
+                    labBuildFloorLayout.setFloorId(b.getFloorId().longValue());
+                    List <LabBuildFloorLayoutVo> buildFloorLayoutVoList = labBuildFloorLayoutMapper.selectLabBuildFloorLayoutList(labBuildFloorLayout);
+                    a.getBuildFloorLayoutVoList().addAll(buildFloorLayoutVoList);
+                    //处理布局图实验室id
+                    List<Long> subIds = Optional.of(buildFloorLayoutVoList).orElseGet(Collections::emptyList)
+                            .parallelStream()
+                            .map(x->x.getSubId()).collect(Collectors.toList());
+                    List<LabSubject> subjectList = labSubjectMapper.getByIds(subIds);
+
+                    Optional.ofNullable(buildFloorLayoutVoList)
+                            .orElseGet(Collections::emptyList)
+                            .stream()
+                            .forEach(x->Optional.ofNullable(subjectList)
+                                    .orElseGet(Collections::emptyList)
+                                    .stream()
+                                    .filter(y->x.getSubId().longValue()==y.getId())
+                                    .forEach(y->{
+                                        if(y.getAdminId().longValue()==SecurityUtils.getUserId().longValue()){
+                                            x.setLoginAdmin(true);
+                                        }else{
+                                            String[] safeUsers = y.getSafeUserId().split(",");
+                                            for(int s=0;s<safeUsers.length;s++){
+                                                if((SecurityUtils.getUserId()+"").equals(safeUsers[s])){
+                                                    x.setLoginAdmin(true);
+                                                }
+                                            }
+                                        }
+                                        x.setSubName(y.getName());
+                                    }));
                 }));
 
         LabSparseHardware labSparseHardware = new LabSparseHardware();