Procházet zdrojové kódy

大屏统计优化

xuxiaofei před 2 roky
rodič
revize
8d59a57ae2
20 změnil soubory, kde provedl 200 přidání a 53 odebrání
  1. 3 0
      zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/domain/bo/DbStockBo.java
  2. 10 0
      zd-modules/zd-airbottle/src/main/resources/mapper/airbottle/DbStockMapper.xml
  3. 5 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabControlController.java
  4. 22 8
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/WarningNoticeLogController.java
  5. 3 2
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/bigview/BigViewController.java
  6. 2 1
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/mapper/LabHazardSubjectRelationMapper.java
  7. 9 1
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/mapper/WarningNoticeLogMapper.java
  8. 2 1
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/ILabHazardSubjectRelationService.java
  9. 2 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/ILabRiskPlanAbnormalGroupService.java
  10. 9 1
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/WarningNoticeLogService.java
  11. 7 2
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabHazardSubjectRelationServiceImpl.java
  12. 9 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabRiskPlanAbnormalGroupServiceImpl.java
  13. 14 2
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/WarningNoticeLogServiceImpl.java
  14. 4 1
      zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabControlMapper.xml
  15. 46 22
      zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabHazardMapper.xml
  16. 10 2
      zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabHazardSubjectRelationMapper.xml
  17. 3 1
      zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabNotifyplanMapper.xml
  18. 6 0
      zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabSubjectMapper.xml
  19. 30 8
      zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/WarningNoticeLogMapper.xml
  20. 4 1
      zd-modules/zd-modules-system/src/main/java/com/zd/system/controller/SysUserController.java

+ 3 - 0
zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/domain/bo/DbStockBo.java

@@ -87,4 +87,7 @@ public class DbStockBo extends PageQuery implements Serializable {
 
     @ApiModelProperty("备注")
     private String remark;
+
+    @ApiModelProperty("部门id")
+    private Long deptId;
 }

+ 10 - 0
zd-modules/zd-airbottle/src/main/resources/mapper/airbottle/DbStockMapper.xml

@@ -41,6 +41,11 @@
             resultType="com.zd.airbottle.domain.vo.DbStockVo">
         select s.id,s.gas_name, count(1) totalNum
         from db_stock s
+        <where>
+            <if test="deptId != null and deptId !=''">
+                and ( s.college_id in (SELECT dt.dept_id FROM sys_dept dt WHERE find_in_set(#{deptId} ,ancestors )) or s.college_id = #{deptId} )
+            </if>
+        </where>
         GROUP BY s.gas_name
     </select>
 
@@ -55,6 +60,11 @@
                  LEFT JOIN lab_subject su on s.subject_id = su.id
                  LEFT JOIN lab_safe_classtype cl on cl.id = su.type_id
                  LEFT JOIN lab_safe_classified f on f.id = su.level
+        <where>
+            <if test="deptId != null and deptId !=''">
+                and ( s.college_id in (SELECT dt.dept_id FROM sys_dept dt WHERE find_in_set(#{deptId} ,ancestors )) or s.college_id = #{deptId} )
+            </if>
+        </where>
         GROUP BY s.subject_id
         ORDER BY totalNum desc
     </select>

+ 5 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabControlController.java

@@ -5,6 +5,8 @@ import java.util.List;
 import java.io.IOException;
 import javax.servlet.http.HttpServletResponse;
 
+import com.zd.common.core.security.TokenService;
+import com.zd.common.core.utils.StringUtils;
 import com.zd.model.domain.per.PerFun;
 import com.zd.model.domain.per.PerPrefix;
 import com.zd.laboratory.domain.vo.LabBigViewGroupVO;
@@ -33,6 +35,8 @@ import com.zd.model.page.TableDataInfo;
 public class LabControlController extends BaseController {
     @Autowired
     private ILabControlService labControlService;
+    @Autowired
+    private TokenService tokenService;
 
     /**
      * 查询控制记录列表
@@ -105,6 +109,7 @@ public class LabControlController extends BaseController {
         return ResultData.success(list);
     }
 
+
     /**
      * 查询预案统计次数列表
      */

+ 22 - 8
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/WarningNoticeLogController.java

@@ -15,6 +15,7 @@ import com.zd.laboratory.domain.vo.WarningNoticeLogVO;
 import com.zd.laboratory.service.WarningNoticeLogService;
 import com.zd.model.domain.ResultData;
 import io.swagger.annotations.ApiOperation;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -42,6 +43,9 @@ public class WarningNoticeLogController extends AbstractController {
     @Autowired
     private RemoteAirBottleService remoteAirBottleService;
 
+    @Autowired
+    private TokenService tokenService;
+
     @PostMapping("/add")
     @ApiOperation("新增报警记录日志")
     public ResultData add(@RequestBody WarningNoticeLogDto warningNoticeLogDto){
@@ -168,13 +172,13 @@ public class WarningNoticeLogController extends AbstractController {
 
 
     @GetMapping("/warningCollect")
-    @ApiOperation("数据大屏,预警通知统计")
-    public ResultData warningCollect() {
+    @ApiOperation("数据大屏-校级,预警通知统计")
+    public ResultData warningCollect(WarningNoticeLogVO vo) {
         List<WarningNoticeLogVO> backList = new ArrayList<>();
         //集合查询
-        List<WarningNoticeLogVO> list = warningNoticeLogService.selectWarningNoticelist();
+        List<WarningNoticeLogVO> list = warningNoticeLogService.selectWarningNoticelist(vo);
 
-        if(list!=null && list.size()>0){
+        if(list!=null && list.size()>0 && list.get(0).getDeptName()!=null){
             //根据部门分组
             Map<String,List<WarningNoticeLogVO>>  gourpList = list.stream().collect(Collectors.groupingBy(WarningNoticeLogVO::getDeptName));
             //数据收集
@@ -204,6 +208,7 @@ public class WarningNoticeLogController extends AbstractController {
         return ResultData.success(backList);
     }
 
+
     @PostMapping("/updateLocationState")
     @ApiOperation("修改报警记录日志")
     public ResultData updateLocationState(@RequestBody WarningNoticeLogDto warningNoticeLogDto){
@@ -226,14 +231,23 @@ public class WarningNoticeLogController extends AbstractController {
 
     @GetMapping("/airCollect")
     @ApiOperation("数据大屏,定位预警统计")
-    public ResultData airCollect() {
-        LambdaQueryWrapper<WarningNoticeLog> queryWrapper = new LambdaQueryWrapper<>();
+    public ResultData airCollect(@Param("deptId") Integer deptId) {
+        /*LambdaQueryWrapper<WarningNoticeLog> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(WarningNoticeLog::getWarningType,3);
         //queryWrapper.gt(WarningNoticeLog::getCreateTime,LocalDateTime.now().minusMonths(1)).lt(WarningNoticeLog::getCreateTime,LocalDateTime.now()).orderByDesc(WarningNoticeLog::getCreateTime);
         queryWrapper.between(WarningNoticeLog::getCreateTime,LocalDateTime.now().minusMonths(1),LocalDateTime.now()).orderByDesc(WarningNoticeLog::getCreateTime);
         Page page = warningNoticeLogService.page(new Page(1, 20),queryWrapper);
-        List<WarningNoticeLog> records = page.getRecords();
-        return ResultData.success(records);
+        List<WarningNoticeLog> records = page.getRecords();*/
+
+        Map<String,Object> map = new HashMap<>();
+        map.put("warningType",3);
+        map.put("startTime",LocalDateTime.now().minusMonths(1));
+        map.put("endTime",LocalDateTime.now());
+        if(deptId!=null){
+            map.put("deptId",deptId);
+        }
+        List<WarningNoticeLogVO> list =  warningNoticeLogService.selectWarnNoticelist(map);
+        return ResultData.success(list);
     }
 
     @GetMapping("/getDisposeCount")

+ 3 - 2
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/bigview/BigViewController.java

@@ -147,10 +147,11 @@ public class BigViewController extends BaseController {
      */
     @ApiOperation("查询重点实验室")
     @GetMapping("/my/sub")
-    public  List<LabSubjectControllerVO> mySubview(com.zd.laboratory.domain.LabSubject labSubject) {
+    public  List<LabSubjectControllerVO> mySubview(LabSubject labSubject) {
 
         //查询配置硬件的实验室
-        List<LabHazardSubjectRelation> relationsList = hazardSubjectRelationService.relationSubjectGroupByCount();
+        labSubject.setDeptId(tokenService.getLoginUser().getSysUser().getDeptId());
+        List<LabHazardSubjectRelation> relationsList = hazardSubjectRelationService.relationSubjectGroupByCount(labSubject);
         if(relationsList!=null && relationsList.size()>0){
             List<Long> ids =  relationsList.stream().map(a->a.getSubjectId()).collect(Collectors.toList());
             labSubject.setIds(ids);

+ 2 - 1
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/mapper/LabHazardSubjectRelationMapper.java

@@ -1,6 +1,7 @@
 package com.zd.laboratory.mapper;
 
 import com.zd.laboratory.domain.LabHazardSubjectRelation;
+import com.zd.laboratory.domain.LabSubject;
 import com.zd.laboratory.domain.dto.LabHazardDTO;
 import com.zd.system.api.entity.CommonCount;
 import org.apache.ibatis.annotations.Param;
@@ -102,5 +103,5 @@ public interface LabHazardSubjectRelationMapper {
      * 根据实验id分组
      * @return
      */
-    List<LabHazardSubjectRelation> relationSubjectGroupByCount();
+    List<LabHazardSubjectRelation> relationSubjectGroupByCount(LabSubject labSubject);
 }

+ 9 - 1
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/mapper/WarningNoticeLogMapper.java

@@ -7,6 +7,7 @@ import org.apache.catalina.LifecycleState;
 import org.apache.ibatis.annotations.Mapper;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -23,5 +24,12 @@ public interface WarningNoticeLogMapper extends BaseMapper<WarningNoticeLog> {
      * 查询学院下的隐患统计 top
      * @return
      */
-    List<WarningNoticeLogVO> selectWarningNoticelist();
+    List<WarningNoticeLogVO> selectWarningNoticelist(WarningNoticeLogVO vo);
+
+    /***
+     * 气瓶预警通知
+     * @param map
+     * @return
+     */
+    List<WarningNoticeLogVO> selectWarnNoticelist(Map<String,Object> map);
 }

+ 2 - 1
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/ILabHazardSubjectRelationService.java

@@ -1,6 +1,7 @@
 package com.zd.laboratory.service;
 
 import com.zd.laboratory.domain.LabHazardSubjectRelation;
+import com.zd.laboratory.domain.LabSubject;
 import com.zd.laboratory.domain.dto.LabHazardDTO;
 import com.zd.laboratory.domain.dto.LabHazardJoinSubDTO;
 import com.zd.laboratory.domain.vo.LabHazardSubVO;
@@ -125,5 +126,5 @@ public interface ILabHazardSubjectRelationService {
      * 根据实验id分组
      * @return
      */
-    List<LabHazardSubjectRelation> relationSubjectGroupByCount();
+    List<LabHazardSubjectRelation> relationSubjectGroupByCount(LabSubject labSubject);
 }

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

@@ -13,6 +13,8 @@ import java.util.List;
  * @date 2021/10/9
  */
 public interface ILabRiskPlanAbnormalGroupService {
+
+    List <LabRiskPlanAbnormalGroupVO> getGroupList(LabRiskPlanAbnormalGroup labRiskPlanAbnormalGroup);
     /**
      * 查询风险异常组
      *

+ 9 - 1
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/WarningNoticeLogService.java

@@ -5,6 +5,7 @@ import com.zd.laboratory.domain.WarningNoticeLog;
 import com.zd.laboratory.domain.vo.WarningNoticeLogVO;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -41,5 +42,12 @@ public interface WarningNoticeLogService extends IService<WarningNoticeLog> {
      * 查询学院下的隐患统计 top
      * @return
      */
-    List<WarningNoticeLogVO> selectWarningNoticelist();
+    List<WarningNoticeLogVO> selectWarningNoticelist(WarningNoticeLogVO vo);
+
+    /***
+     * 气瓶预警通知
+     * @param map
+     * @return
+     */
+    List<WarningNoticeLogVO> selectWarnNoticelist(Map<String,Object> map);
 }

+ 7 - 2
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabHazardSubjectRelationServiceImpl.java

@@ -1,16 +1,19 @@
 package com.zd.laboratory.service.impl;
 
 import cn.hutool.core.collection.CollUtil;
+import com.zd.common.core.annotation.DataScope;
 import com.zd.common.core.exception.ServiceException;
 import com.zd.common.core.utils.DateUtils;
 import com.zd.laboratory.domain.LabHazard;
 import com.zd.laboratory.domain.LabHazardSubjectRelation;
+import com.zd.laboratory.domain.LabSubject;
 import com.zd.laboratory.domain.dto.LabHazardDTO;
 import com.zd.laboratory.domain.dto.LabHazardJoinSubDTO;
 import com.zd.laboratory.domain.vo.LabHazardSubVO;
 import com.zd.laboratory.mapper.LabHazardMapper;
 import com.zd.laboratory.mapper.LabHazardSubjectRelationMapper;
 import com.zd.laboratory.service.ILabHazardSubjectRelationService;
+import com.zd.model.domain.per.PerPrefix;
 import com.zd.model.enums.HazardTypeEnum;
 import com.zd.system.api.entity.CommonCount;
 import org.apache.commons.collections4.CollectionUtils;
@@ -303,6 +306,7 @@ public class LabHazardSubjectRelationServiceImpl implements ILabHazardSubjectRel
      * @return
      */
     @Override
+    //@DataScope(deptAlias = "su", permi = PerPrefix.LABORATORY_SUBJECT)
     public List<LabHazardSubjectRelation> relationBigViewCount(LabHazardSubjectRelation relation) {
         return labHazardSubjectRelationMapper.relationBigViewCount(relation);
     }
@@ -312,7 +316,8 @@ public class LabHazardSubjectRelationServiceImpl implements ILabHazardSubjectRel
      * @return
      */
     @Override
-    public List<LabHazardSubjectRelation> relationSubjectGroupByCount() {
-        return labHazardSubjectRelationMapper.relationSubjectGroupByCount();
+    //@DataScope(deptAlias = "su", permi = PerPrefix.LABORATORY_SUBJECT)
+    public List<LabHazardSubjectRelation> relationSubjectGroupByCount(LabSubject labSubject) {
+        return labHazardSubjectRelationMapper.relationSubjectGroupByCount(labSubject);
     }
 }

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

@@ -3,6 +3,7 @@ package com.zd.laboratory.service.impl;
 import cn.hutool.json.JSONUtil;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.zd.common.core.annotation.DataScope;
 import com.zd.common.core.redis.RedisService;
 import com.zd.common.core.utils.StringUtils;
 import com.zd.laboratory.api.entity.SensorFunctionStatus;
@@ -19,6 +20,7 @@ import com.zd.laboratory.mapper.LabRiskPlanAbnormalLogMapper;
 import com.zd.laboratory.service.ILabExitLineService;
 import com.zd.laboratory.service.ILabRiskPlanAbnormalDescService;
 import com.zd.laboratory.service.ILabRiskPlanAbnormalGroupService;
+import com.zd.model.domain.per.PerPrefix;
 import com.zd.model.enums.HardwareTypeEnum;
 import com.zd.model.enums.SenseType;
 import org.apache.commons.collections4.CollectionUtils;
@@ -64,6 +66,13 @@ public class LabRiskPlanAbnormalGroupServiceImpl implements ILabRiskPlanAbnormal
 
 
     @Override
+    @DataScope(deptAlias = "t", permi = PerPrefix.LABORATORY_SUBJECT)
+    public List<LabRiskPlanAbnormalGroupVO> getGroupList(LabRiskPlanAbnormalGroup labRiskPlanAbnormalGroup) {
+        List <LabRiskPlanAbnormalGroupVO> groupList = labRiskPlanAbnormalGroupMapper.selectLabRiskPlanAbnormalGroupListByDept(labRiskPlanAbnormalGroup);
+        return groupList;
+    }
+
+    @Override
 //    @DataScope(deptAlias = "t")
     public List <LabRiskPlanAbnormalGroupVO> selectLabRiskPlanAbnormalGroupList(LabRiskPlanAbnormalGroup labRiskPlanAbnormalGroup) {
         List <LabRiskPlanAbnormalGroupVO> groupList = labRiskPlanAbnormalGroupMapper.selectLabRiskPlanAbnormalGroupListByDept(labRiskPlanAbnormalGroup);

+ 14 - 2
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/WarningNoticeLogServiceImpl.java

@@ -124,7 +124,19 @@ public class WarningNoticeLogServiceImpl extends ServiceImpl<WarningNoticeLogMap
      * @return
      */
     @Override
-    public List<WarningNoticeLogVO> selectWarningNoticelist() {
-        return warningNoticeLogMapper.selectWarningNoticelist();
+    public List<WarningNoticeLogVO> selectWarningNoticelist(WarningNoticeLogVO vo) {
+        return warningNoticeLogMapper.selectWarningNoticelist(vo);
     }
+
+    /***
+     * 气瓶预警通知
+     * @param map
+     * @return
+     */
+    @Override
+    public List<WarningNoticeLogVO> selectWarnNoticelist(Map<String, Object> map) {
+        return warningNoticeLogMapper.selectWarnNoticelist(map);
+    }
+
+
 }

+ 4 - 1
zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabControlMapper.xml

@@ -204,9 +204,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         lab_risk_plan_abnormal_group gp
         INNER JOIN lab_subject s ON gp.`subject_id` = s.`id`
         INNER JOIN lab_risk_plan_abnormal_log al ON gp.`id` = al.`group_id`
-        INNER JOIN sys_dept x2 ON s.`build_id` = x2.`dept_id`
+        INNER JOIN sys_dept x2 ON s.`dept_id` = x2.`dept_id`
         <where>
             1=1 and al.`risk_status`=1
+            <if test="deptId != null and deptId !=''">
+                and ( s.dept_id in (SELECT dt.dept_id FROM sys_dept dt WHERE find_in_set(#{deptId} ,ancestors )) or s.dept_id = #{deptId} )
+            </if>
             <!-- 数据范围过滤 -->
             ${params.dataScope}
         </where>

+ 46 - 22
zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabHazardMapper.xml

@@ -523,46 +523,70 @@
 
     </select>
 
-    <select id="queryBigViewHazardList" resultType="com.zd.laboratory.domain.vo.LabHazardBigViewVO" parameterType="com.zd.laboratory.domain.vo.LabHazardVO">
+    <select id="queryBigViewHazardList" resultType="com.zd.laboratory.domain.vo.LabHazardBigViewVO"
+            parameterType="com.zd.laboratory.domain.vo.LabHazardVO">
+        select sd.`dict_label`,sd.`dict_value`, ifnull(td.`totalNum`,0) totalNum,
+        CASE   sd.`dict_value`
+        WHEN  1 THEN 'kg'
+        WHEN  2 THEN '瓶'
+        WHEN  3 THEN '台'
+        WHEN  4 THEN '台'
+        else null end unit
+        from (
+        select sd.`dict_label`,sd.`dict_value`  FROM sys_dict_data sd where  sd.`dict_type` = 'lab_hazard_type' GROUP BY sd.dict_value
+        ) sd
+        LEFT JOIN (
+        select hd.`hazard_type_mode`,count(*) totalNum from lab_hazard hd inner join lab_hazard_subject_relation hsr ON hsr.hazard_id = hd.`id`
+        inner join lab_subject st ON hsr.`subject_id` = st.`id`
+        <if test="deptId != null and deptId !=''"> <!-- 部门id-->
+            and ( st.dept_id in (SELECT dt.dept_id FROM sys_dept dt WHERE find_in_set(#{deptId} ,ancestors )) or st.dept_id = #{deptId} )
+        </if>
+        <!-- 数据范围过滤 -->
+        ${params.dataScope}
+        group by hd.`hazard_type_mode`
+        )td on sd.`dict_value`  = td.`hazard_type_mode`
+
+
+        <!--
         SELECT sd.`dict_label` dictLabel,sd.`dict_value` dictValue,SUM(CASE WHEN hsr.id IS NULL THEN 0 ELSE 1 END) totalNum,'kg' unit FROM sys_dict_data sd
-        LEFT JOIN lab_hazard hd  ON sd.`dict_value` = hd.`hazard_type_mode`
-        LEFT JOIN lab_hazard_subject_relation hsr ON hsr.hazard_id = hd.`id`
-        LEFT JOIN lab_subject st ON hsr.`subject_id` = st.`id`
+        INNER JOIN lab_hazard hd  ON sd.`dict_value` = hd.`hazard_type_mode`
+        INNER JOIN lab_hazard_subject_relation hsr ON hsr.hazard_id = hd.`id`
+        INNER JOIN lab_subject st ON hsr.`subject_id` = st.`id`
         WHERE sd.`dict_type` = 'lab_hazard_type' AND sd.`dict_value`=1
-        <!-- 数据范围过滤 -->
+        &lt;!&ndash; 数据范围过滤 &ndash;&gt;
         ${params.dataScope}
         UNION ALL
         SELECT sd.`dict_label` dictLabel,sd.`dict_value` dictValue,SUM(CASE WHEN hsr.id IS NULL THEN 0 ELSE 1 END) totalNum,'瓶' unit FROM sys_dict_data sd
-        LEFT JOIN lab_hazard hd  ON sd.`dict_value` = hd.`hazard_type_mode`
-        LEFT JOIN lab_hazard_subject_relation hsr ON hsr.hazard_id = hd.`id`
-        LEFT JOIN lab_subject st ON hsr.`subject_id` = st.`id`
+        INNER JOIN lab_hazard hd  ON sd.`dict_value` = hd.`hazard_type_mode`
+        INNER JOIN lab_hazard_subject_relation hsr ON hsr.hazard_id = hd.`id`
+        INNER JOIN lab_subject st ON hsr.`subject_id` = st.`id`
         WHERE sd.`dict_type` = 'lab_hazard_type' AND sd.`dict_value`=2
-        <!-- 数据范围过滤 -->
+        &lt;!&ndash; 数据范围过滤 &ndash;&gt;
         ${params.dataScope}
         UNION ALL
         SELECT sd.`dict_label` dictLabel,sd.`dict_value` dictValue,SUM(CASE WHEN hd.id IS NULL THEN 0 ELSE 1 END) totalNum,'台' unit FROM sys_dict_data sd
-        LEFT JOIN lab_hazard hd  ON sd.`dict_value` = hd.`hazard_type_mode`
-        LEFT JOIN lab_hazard_subject_relation hsr ON hsr.hazard_id = hd.`id`
-        LEFT JOIN lab_subject st ON hsr.`subject_id` = st.`id`
+        INNER JOIN lab_hazard hd  ON sd.`dict_value` = hd.`hazard_type_mode`
+        INNER JOIN lab_hazard_subject_relation hsr ON hsr.hazard_id = hd.`id`
+        INNER JOIN lab_subject st ON hsr.`subject_id` = st.`id`
         WHERE sd.`dict_type` = 'lab_hazard_type' AND sd.`dict_value`=3
-        <!-- 数据范围过滤 -->
+        &lt;!&ndash; 数据范围过滤 &ndash;&gt;
         ${params.dataScope}
         UNION ALL
         SELECT sd.`dict_label` dictLabel,sd.`dict_value` dictValue,SUM(CASE WHEN hsr.id IS NULL THEN 0 ELSE 1 END) totalNum,'台' unit FROM sys_dict_data sd
-        LEFT JOIN lab_hazard hd  ON sd.`dict_value` = hd.`hazard_type_mode`
-        LEFT JOIN lab_hazard_subject_relation hsr ON hsr.hazard_id = hd.`id`
-        LEFT JOIN lab_subject st ON hsr.`subject_id` = st.`id`
+        INNER JOIN lab_hazard hd  ON sd.`dict_value` = hd.`hazard_type_mode`
+        INNER JOIN lab_hazard_subject_relation hsr ON hsr.hazard_id = hd.`id`
+        INNER JOIN lab_subject st ON hsr.`subject_id` = st.`id`
         WHERE sd.`dict_type` = 'lab_hazard_type' AND sd.`dict_value`=4
-        <!-- 数据范围过滤 -->
+        &lt;!&ndash; 数据范围过滤 &ndash;&gt;
         ${params.dataScope}
         UNION ALL
         SELECT sd.`dict_label` dictLabel,sd.`dict_value` dictValue,SUM(CASE WHEN hsr.id IS NULL THEN 0 ELSE 1 END) totalNum,NULL unit FROM sys_dict_data sd
-        LEFT JOIN lab_hazard hd  ON sd.`dict_value` = hd.`hazard_type_mode`
-        LEFT JOIN lab_hazard_subject_relation hsr ON hsr.hazard_id = hd.`id`
-        LEFT JOIN lab_subject st ON hsr.`subject_id` = st.`id`
+        INNER JOIN lab_hazard hd  ON sd.`dict_value` = hd.`hazard_type_mode`
+        INNER JOIN lab_hazard_subject_relation hsr ON hsr.hazard_id = hd.`id`
+        INNER JOIN lab_subject st ON hsr.`subject_id` = st.`id`
         WHERE sd.`dict_type` = 'lab_hazard_type' AND sd.`dict_value`=5
-        <!-- 数据范围过滤 -->
-        ${params.dataScope}
+        &lt;!&ndash; 数据范围过滤 &ndash;&gt;
+        ${params.dataScope}-->
 
     </select>
 

+ 10 - 2
zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabHazardSubjectRelationMapper.xml

@@ -181,7 +181,10 @@
 
     <select id="relationBigViewCount" parameterType="com.zd.laboratory.domain.LabHazardSubjectRelation"
             resultType="com.zd.laboratory.domain.LabHazardSubjectRelation">
-        select dept_name deptName, hazard_type_mode hazardTypeMode, hazard_type_mode_name hazardTypeModeName, count(1) totalNum
+        select dept_name             deptName,
+               hazard_type_mode      hazardTypeMode,
+               hazard_type_mode_name hazardTypeModeName,
+               count(1)              totalNum
         from (
                  select sr.subject_id, su.`name`, d.dept_name, d.dept_id, h.hazard_type_mode, h.hazard_type_mode_name
                  from lab_hazard_subject_relation sr
@@ -194,6 +197,11 @@
 
     <select id="relationSubjectGroupByCount" parameterType="com.zd.laboratory.domain.LabHazardSubjectRelation"
             resultType="com.zd.laboratory.domain.LabHazardSubjectRelation">
-        select r.subject_id,count(1) a  from lab_hazard_subject_relation r where r.subject_id is not null GROUP BY r.subject_id
+        select r.subject_id,count(1) a from lab_hazard_subject_relation r
+        inner JOIN lab_subject su on r.subject_id=su.id
+        <if test="deptId != null and deptId !=''"> <!-- 部门id-->
+            and ( su.dept_id in (SELECT dt.dept_id FROM sys_dept dt WHERE find_in_set(#{deptId} ,ancestors )) or su.dept_id = #{deptId} )
+        </if>
+        GROUP BY r.subject_id
     </select>
 </mapper>

+ 3 - 1
zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabNotifyplanMapper.xml

@@ -75,7 +75,9 @@
             <if test="company != null  and company != ''">and t.company = #{company}</if>
             <if test="conAbstract != null  and conAbstract != ''">and t.con_abstract = #{conAbstract}</if>
             <if test="status != null ">and t.status = #{status}</if>
-            <if test="deptId != null ">and t.dept_id = #{deptId}</if>
+            <if test="deptId != null and deptId !=''"> <!-- 部门id-->
+                and ( t.dept_id in (SELECT dt.dept_id FROM sys_dept dt WHERE find_in_set(#{deptId} ,ancestors )) or t.dept_id = #{deptId} )
+            </if>
             <if test="deptName != null ">and t.dept_name = #{deptName}</if>
             <if test="userId != null ">and t.user_id = #{userId}</if>
             <if test="createBy != null  and createBy != ''">and t.create_by like concat('%', #{createBy}, '%')</if>

+ 6 - 0
zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabSubjectMapper.xml

@@ -985,6 +985,9 @@
         LEFT JOIN lab_subject st ON sc.id = st.type_id
         <where>
             1=1
+            <if test="deptId != null and deptId !=''"> <!-- 部门id-->
+                and ( st.dept_id in (SELECT dt.dept_id FROM sys_dept dt WHERE find_in_set(#{deptId} ,ancestors )) or st.dept_id = #{deptId} )
+            </if>
             <!-- 数据范围过滤 -->
             ${params.dataScope}
         </where>
@@ -998,6 +1001,9 @@
         LEFT JOIN lab_subject st ON sc.id = st.level
         <where>
             1=1
+            <if test="deptId != null and deptId !=''"> <!-- 部门id-->
+                and ( st.dept_id in (SELECT dt.dept_id FROM sys_dept dt WHERE find_in_set(#{deptId} ,ancestors )) or st.dept_id = #{deptId} )
+            </if>
             <!-- 数据范围过滤 -->
             ${params.dataScope}
         </where>

+ 30 - 8
zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/WarningNoticeLogMapper.xml

@@ -52,16 +52,38 @@
         id, key_id, warning_content, warning_type, warning_sub_type, warning_way, sub_id, sub_name, college_id, college_name, build_name, floor_name, room_num, warning_time, name, margin, specification, apply_user, apply_time, deposit, record_video, record_photo, risk_duration, responder, indoor_user, start_time, end_time, expiration_time, entry_time, holder, voice_broadcast, remark, dispose, location_state, create_name, create_by, create_time, update_name, update_by, update_time, is_deleted
     </sql>
 
-    <select id="selectWarningNoticelist"
+    <select id="selectWarningNoticelist" parameterType="com.zd.laboratory.domain.vo.WarningNoticeLogVO"
             resultType="com.zd.laboratory.domain.vo.WarningNoticeLogVO">
         select (select de.dept_name
-                from lab_subject su
-                         LEFT JOIN sys_dept de on su.dept_id = de.dept_id
-                where su.id = l.sub_id) deptName,
-               dispose,
-               count(l.id)              totalNum
+        from lab_subject su
+        LEFT JOIN sys_dept de on su.dept_id = de.dept_id
+        where su.id = l.sub_id) deptName,
+        dispose,
+        count(l.id)              totalNum
         from lab_warning_notice_log l
-        where DATE_FORMAT(l.create_time, '%Y%m') = DATE_FORMAT(NOW(), '%Y%m')
-        GROUP BY deptName, l.dispose;
+        where DATE_FORMAT(create_time, '%Y%m') = DATE_FORMAT(NOW(), '%Y%m')
+        <if test="deptId != null and deptId !=''">
+            and ( college_id in (SELECT dt.dept_id FROM sys_dept dt WHERE find_in_set(#{deptId} ,ancestors )) or college_id = #{deptId} )
+        </if>
+        ORDER BY create_time desc
+    </select>
+
+
+    <select id="selectWarnNoticelist" parameterType="map"
+            resultType="com.zd.laboratory.domain.vo.WarningNoticeLogVO">
+        select
+        <include refid="Base_Column_List"/>
+        from lab_warning_notice_log
+        <where>
+        <if test="startTime != null "> and date_format(create_time,'%Y-%m-%d') &gt;= date_format(#{startTime},'%Y-%m-%d')</if>
+        <if test="endTime != null "> and date_format(create_time,'%Y-%m-%d') &lt;= date_format(#{endTime},'%Y-%m-%d')</if>
+        <if test="warningType != null ">
+          and warning_type=#{warningType}
+        </if>
+        <if test="deptId != null and deptId !=''">
+            and ( college_id in (SELECT dt.dept_id FROM sys_dept dt WHERE find_in_set(#{deptId} ,ancestors )) or college_id = #{deptId} )
+        </if>
+        </where>
+        ORDER BY create_time desc
     </select>
 </mapper>

+ 4 - 1
zd-modules/zd-modules-system/src/main/java/com/zd/system/controller/SysUserController.java

@@ -909,6 +909,7 @@ public class SysUserController extends BaseController {
     @ApiOperation("是否院级用户")
     @GetMapping(value = "/isSCollege")
     public ResultData isSCollege(Long userId) {
+        Map<String,Object> map = new HashMap<>();
         Long deptId = null;
         Boolean userFlg=true;
         //获取当前登录用户
@@ -926,6 +927,8 @@ public class SysUserController extends BaseController {
         if(StringUtils.isNull(deptId)){
             userFlg=false;
         }
-        return ResultData.success(userFlg);
+        map.put("userFlg",userFlg);
+        map.put("deptId",deptId);
+        return ResultData.success(map);
     }
 }