Explorar o código

大屏统计修改

xuxiaofei %!s(int64=2) %!d(string=hai) anos
pai
achega
6920085462

+ 5 - 1
zd-api/zd-laboratory-api/src/main/java/com/zd/laboratory/api/entity/LabSubjectControllerVO.java

@@ -311,7 +311,11 @@ public class LabSubjectControllerVO extends LabSubjectEntity {
 
     @Override
     public Long getAdminId() {
-        return super.getAdminId() == -1L ? null : super.getAdminId();
+        Long adminId = super.getAdminId();
+        if (adminId != null && adminId != -1L){
+            return adminId;
+        }
+        return null;
     }
 
     public List<SensorFunctionStatus> getSensorFunctionStatusList() {

+ 4 - 0
zd-api/zd-system-api/src/main/java/com/zd/system/api/feign/RemoteDeptService.java

@@ -61,4 +61,8 @@ public interface RemoteDeptService {
     @ApiOperation("根据部门ids查询子集部门")
     @GetMapping("/dept/getDeptListBySubset")
     ResultData<List<SysDept>> getDeptListBySubset(@RequestParam("deptId") Long deptId);
+
+    @ApiOperation("查询学院")
+    @GetMapping("/dept/departments/list")
+    ResultData<List<SysDept>> getdepartments();
 }

+ 5 - 0
zd-api/zd-system-api/src/main/java/com/zd/system/api/feign/factory/RemoteDeptFallbackFactory.java

@@ -70,6 +70,11 @@ public class RemoteDeptFallbackFactory implements FallbackFactory<RemoteDeptServ
             public ResultData <List <SysDept>> getDeptListBySubset(Long deptId) {
                 return ResultData.fail("查询部门信息失败:" + throwable.getMessage());
             }
+
+            @Override
+            public ResultData<List<SysDept>> getdepartments() {
+                return ResultData.fail("查询部门信息失败:" + throwable.getMessage());
+            }
         };
     }
 }

+ 29 - 3
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabHazardController.java

@@ -336,14 +336,40 @@ public class LabHazardController extends BaseController {
         //获取数据源
         List<LabHazardSubjectRelation> list = labHazardSubjectRelationService.relationBigViewCount(relation);
         //获取危险源列表
-        System.out.println(redisService.getCacheObject(BaseConstants.SYS_DICT_KEY+"lab_hazard_type")+"");
         List<SysDictData> dictDataList =  redisService.getCacheObject(BaseConstants.SYS_DICT_KEY+"lab_hazard_type");
 
-        List<Object> backList = new ArrayList<>();
         //按学院分组
         Map<String, List<LabHazardSubjectRelation>> bottleConfigMap = list.stream().collect(Collectors.groupingBy(LabHazardSubjectRelation::getDeptName));
+
+        Map<String, List<LabHazardSubjectRelation>> backMap = new HashMap<>();
         if(!bottleConfigMap.isEmpty()){
             for (Map.Entry entry : bottleConfigMap.entrySet()) {
+                List<LabHazardSubjectRelation> hazardtList = new ArrayList<>();
+                Object Key = entry.getKey();
+                //Object value = entry.getValue();
+                for (SysDictData dicData:dictDataList) {
+                    LabHazardSubjectRelation re = new LabHazardSubjectRelation();
+                    for (LabHazardSubjectRelation lsr:list) {
+                        //System.out.println("DeptName:"+lsr.getDeptName()+" key:"+ Key.toString() +" DictValue"+ dicData.getDictValue()+"  HazardTypeMode"+lsr.getHazardTypeMode());
+                        if(Key.equals(lsr.getDeptName()) && dicData.getDictLabel().equals(lsr.getHazardTypeModeName())){
+                            re.setTotalNum(lsr.getTotalNum());
+                            re.setHazardTypeModeName(dicData.getDictLabel());
+                        }else {
+                            re.setTotalNum(0);
+                            re.setHazardTypeModeName(dicData.getDictLabel());
+                        }
+                    }
+                    hazardtList.add(re);
+                }
+                backMap.put(Key+"",hazardtList);
+            }
+        }
+
+        map.put("hazard",dictDataList);
+        map.put("backMap",backMap);
+
+        /*if(!bottleConfigMap.isEmpty()){
+            for (Map.Entry entry : bottleConfigMap.entrySet()) {
                 List<Object> objectList = new ArrayList<>();
                 Object Key = entry.getKey();
                 Object value = entry.getValue();
@@ -363,7 +389,7 @@ public class LabHazardController extends BaseController {
             }
         }
         map.put("hazard",dictDataList);
-        map.put("list",backList);
+        map.put("list",backList);*/
         return ResultData.success(map);
     }
 

+ 80 - 11
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/bigview/BigViewController.java

@@ -1,8 +1,10 @@
 package com.zd.laboratory.controller.bigview;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.zd.algorithm.api.speaker.feign.RemoteSpeakService;
 import com.zd.common.core.redis.RedisService;
 import com.zd.common.core.security.TokenService;
+import com.zd.common.core.utils.DateUtils;
 import com.zd.common.core.utils.StringUtils;
 import com.zd.common.core.web.controller.BaseController;
 import com.zd.laboratory.api.entity.LabSubjectEntity;
@@ -10,6 +12,7 @@ import com.zd.laboratory.api.entity.LabSubjectControllerVO;
 import com.zd.laboratory.domain.LabHazardSubjectRelation;
 import com.zd.laboratory.domain.LabRiskPlanAbnormalGroup;
 import com.zd.laboratory.domain.LabSubject;
+import com.zd.laboratory.domain.WarningNoticeLog;
 import com.zd.laboratory.domain.bigview.HardwareState;
 import com.zd.laboratory.domain.bigview.HazardTotal;
 import com.zd.laboratory.domain.bigview.SenseState;
@@ -22,11 +25,12 @@ import com.zd.model.domain.ResultData;
 import com.zd.model.echarts.Builder;
 import com.zd.model.echarts.EchartsBuilder;
 import com.zd.model.echarts.Option;
+import com.zd.model.entity.SysDept;
 import com.zd.model.page.TableDataInfo;
+import com.zd.system.api.feign.RemoteDeptService;
 import com.zd.system.api.feign.RemoteUserService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import jdk.nashorn.internal.parser.Token;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -87,7 +91,13 @@ public class BigViewController extends BaseController {
     private ILabRiskPlanAbnormalGroupService groupService;
 
     @Autowired
-    ILabSubjectService subjectService;
+    private ILabSubjectService subjectService;
+
+    @Autowired
+    private RemoteDeptService remoteDeptService;
+
+    @Autowired
+    private WarningNoticeLogService warningNoticeLogService;
 
     /**
      * echarts-条形图:设备概览
@@ -424,6 +434,41 @@ public class BigViewController extends BaseController {
         return ResultData.success(list);
     }
 
+    @ApiOperation("大屏-学院安全状态查询")
+    @GetMapping("/getCollege")
+    public ResultData getCollege() {
+        //查询学院
+        ResultData<List<SysDept>> rList = remoteDeptService.getdepartments();
+        List<SysDept> deptList = rList.getData();
+
+        for (SysDept dp:deptList) {
+            //查询学院下的实验室
+            LabSubject subject = new LabSubject();
+            subject.setDeptId(dp.getDeptId());
+            List<LabSubject> subjectList= subjectService.buildBySub(subject);
+
+            if(subjectList!=null && subjectList.size()>0){
+                List<Long> subjectIds = subjectList.stream().map(LabSubject::getId).collect(Collectors.toList());
+                //查询实验室下的预案信息
+                LabRiskPlanAbnormalGroup group = new LabRiskPlanAbnormalGroup();
+                group.setIds(subjectIds);
+                group.setStatus(1L);
+                List<LabRiskPlanAbnormalGroup> groupList = groupService.selectListBySubjectIds(group);
+                if(groupList!=null && groupList.size()>0){
+                    String timediff = DateUtils.getDatePoor(new Date(), groupList.get(0).getCreateTime());
+                    dp.setRemark(timediff);
+                }else {
+                    //无预案
+                }
+            }else{
+                //无实验室
+            }
+
+        }
+
+        return ResultData.success(deptList);
+    }
+
 
     @ApiOperation("大屏-校级-预警通知")
     @GetMapping("/warningNotice")
@@ -441,24 +486,48 @@ public class BigViewController extends BaseController {
                 LabSubjectVO labSubject = new LabSubjectVO();
                 labSubject.setId(vo.getSubjectId());
                 List<LabSubjectVO> labSubjects = subjectService.selectLabSubjectListAuthByPc(labSubject);
-                labSubjects.get(0).setRemark(vo.getGroupName());
+                labSubjects.get(0).setRiskName(vo.getGroupName());
                 subList.add(labSubjects.size()>0?labSubjects.get(0):null);
             }
         }
 
         //获取硬件信息
         list = subjectManagerService.completeMainSubInfo(subList);
-        //组装楼栋、楼层、房间号、预案名称
-        for (LabSubjectControllerVO vo:list) {
-            for (LabSubjectVO suvo:subList) {
-                if(vo.getId().equals(suvo.getId())){
-                    vo.setBuildName(suvo.getBuildName());
-                    vo.setFloorName(suvo.getFloorName());
-                    vo.setRoomName(suvo.getRoomName());
-                    vo.setRiskName(suvo.getRemark());
+        if(list!=null && list.size()>0){
+            //组装楼栋、楼层、房间号、预案名称
+            for (LabSubjectControllerVO vo:list) {
+                for (LabSubjectVO suvo:subList) {
+                    if(vo.getId().equals(suvo.getId())){
+                        vo.setBuildName(suvo.getBuildName());
+                        vo.setFloorName(suvo.getFloorName());
+                        vo.setRoomName(suvo.getRoomName());
+                        vo.setRiskName(suvo.getRiskName());
+                        vo.setRemark("1");//预案
+                    }
                 }
             }
         }
+
+
+        //查询气瓶带离预警
+        QueryWrapper<WarningNoticeLog> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(WarningNoticeLog::getWarningType,3).eq(WarningNoticeLog::getDispose,0).last("limit 0,10").orderByDesc(WarningNoticeLog::getCreateTime);
+        List<WarningNoticeLog> warningNoticeLogList= warningNoticeLogService.list(queryWrapper);
+        if(warningNoticeLogList!=null && warningNoticeLogList.size()>0){
+            if(list==null){
+                list = new ArrayList<>();
+            }
+            for (WarningNoticeLog warning:warningNoticeLogList) {
+                LabSubjectControllerVO subjectControllerVO = new LabSubjectControllerVO();
+                subjectControllerVO.setName(warning.getSubName());
+                subjectControllerVO.setBuildName(warning.getBuildName());
+                subjectControllerVO.setFloorName(warning.getFloorName());
+                subjectControllerVO.setRoomName(warning.getRoomNum());
+                subjectControllerVO.setRemark("2");//气瓶
+                subjectControllerVO.setRiskName(warning.getWarningContent()+": "+warning.getName());
+                list.add(subjectControllerVO);
+            }
+        }
         return ResultData.success(list);
     }
 }

+ 11 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/vo/LabSubjectVO.java

@@ -90,6 +90,9 @@ public class LabSubjectVO extends LabSubject {
     @ApiModelProperty(value = "预案id")
     private Long riskId;
 
+    @ApiModelProperty(value = "预案名称")
+    private String riskName;
+
     @ApiModelProperty(value = "关键字")
     private String searchValue;
 
@@ -410,4 +413,12 @@ public class LabSubjectVO extends LabSubject {
     public void setXxpCardInfoId(Integer xxpCardInfoId) {
         this.xxpCardInfoId = xxpCardInfoId;
     }
+
+    public String getRiskName() {
+        return riskName;
+    }
+
+    public void setRiskName(String riskName) {
+        this.riskName = riskName;
+    }
 }

+ 7 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/mapper/LabRiskPlanAbnormalGroupMapper.java

@@ -84,4 +84,11 @@ public interface LabRiskPlanAbnormalGroupMapper {
      * @return
      */
     List<LabRiskPlanAbnormalGroupVO> selectByStatus(long status);
+
+    /***
+     * 根据实验室id查询
+     * @param group
+     * @return
+     */
+    List<LabRiskPlanAbnormalGroup> selectListBySubjectIds(LabRiskPlanAbnormalGroup group);
 }

+ 7 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/ILabRiskPlanAbnormalGroupService.java

@@ -57,4 +57,11 @@ public interface ILabRiskPlanAbnormalGroupService {
      * @return
      */
     boolean doneRiskExeRecord(long groupId, String handledPerson, String recordVideo);
+
+    /***
+     * 根据实验室id查询
+     * @param group
+     * @return
+     */
+    List<LabRiskPlanAbnormalGroup> selectListBySubjectIds(LabRiskPlanAbnormalGroup group);
 }

+ 10 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabRiskPlanAbnormalGroupServiceImpl.java

@@ -186,4 +186,14 @@ public class LabRiskPlanAbnormalGroupServiceImpl implements ILabRiskPlanAbnormal
         }
         return false;
     }
+
+    /***
+     * 根据实验室id查询
+     * @param group
+     * @return
+     */
+    @Override
+    public List<LabRiskPlanAbnormalGroup> selectListBySubjectIds(LabRiskPlanAbnormalGroup group) {
+        return labRiskPlanAbnormalGroupMapper.selectListBySubjectIds(group);
+    }
 }

+ 21 - 0
zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabRiskPlanAbnormalGroupMapper.xml

@@ -189,4 +189,25 @@
         from lab_risk_plan_abnormal_group lrpag left join lab_risk_plan_abnormal_log lrpal on lrpag.id = lrpal.group_id
         where status = 1
     </select>
+
+    <select id="selectListBySubjectIds" parameterType="com.zd.laboratory.domain.LabRiskPlanAbnormalGroup" resultType="com.zd.laboratory.domain.LabRiskPlanAbnormalGroup">
+        select id,
+               group_name,
+               subject_id,
+               `status`,
+               create_time,
+               create_by,
+               update_time
+        from lab_risk_plan_abnormal_group
+        <where>
+            <if test="status != null"> and status = #{status} </if>
+            <if test="ids != null and ids.size > 0">
+                and subject_id in
+            <foreach item="id" collection="ids" open="(" separator="," close=")">
+                #{id}
+            </foreach>
+            </if>
+        </where>
+        ORDER BY create_time desc
+    </select>
 </mapper>