Bladeren bron

Merge commit 'cbda1f21701fa14eebf1f0b8e77757d7ccace49b' into pro

linfutong 2 jaren geleden
bovenliggende
commit
b7c71adc81
16 gewijzigde bestanden met toevoegingen van 416 en 68 verwijderingen
  1. 27 0
      zd-api/zd-laboratory-api/src/main/java/com/zd/laboratory/api/feign/RemoteLabHardwareService.java
  2. 33 0
      zd-api/zd-laboratory-api/src/main/java/com/zd/laboratory/api/feign/fallback/RemoteLabHardwareFallbackFactory.java
  3. 146 0
      zd-common/common-core/src/main/java/com/zd/common/core/utils/HttpUtils.java
  4. 1 1
      zd-modules/zd-algorithm/src/main/java/com/zd/alg/forward/serivce/FireImageService.java
  5. 16 7
      zd-modules/zd-algorithm/src/main/java/com/zd/alg/forward/utils/HttpUtils.java
  6. 114 0
      zd-modules/zd-algorithm/src/main/java/com/zd/alg/monitor/HardwareDeviceMonitor.java
  7. 9 8
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabRiskPlanController.java
  8. 49 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/device/HardwareRemoteController.java
  9. 2 2
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/vo/LabRiskPlanSubVo.java
  10. 2 5
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/mapper/LabRiskPlanMapper.java
  11. 3 4
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/ILabRiskPlanService.java
  12. 1 1
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabRiskPlanAbnormalGroupServiceImpl.java
  13. 10 34
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabRiskPlanServiceImpl.java
  14. 0 1
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabSparseHardwareServiceImpl.java
  15. 3 3
      zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabRiskPlanMapper.xml
  16. 0 2
      zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabSparseHardwareMapper.xml

+ 27 - 0
zd-api/zd-laboratory-api/src/main/java/com/zd/laboratory/api/feign/RemoteLabHardwareService.java

@@ -0,0 +1,27 @@
+package com.zd.laboratory.api.feign;
+
+import com.zd.laboratory.api.feign.fallback.RemoteSubQueryFallbackFactory;
+import com.zd.model.constant.ApplicationConstants;
+import com.zd.model.domain.ResultData;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * <p>类注释说明</p>
+ *
+ * @author linft
+ * @version 1.0
+ * @date 1/10/2023
+ */
+@FeignClient(contextId = "remoteLabHardwareService", value = ApplicationConstants.LABORATORY_SERVICE, fallbackFactory = RemoteSubQueryFallbackFactory.class)
+public interface RemoteLabHardwareService {
+
+    @ApiOperation(value = "硬件信息状态统计")
+    @GetMapping("/remote/hardware/statistics")
+    ResultData statistics();
+
+    @ApiOperation(value = "离线设备列表")
+    @GetMapping("/remote/hardware/list")
+    ResultData list(@RequestParam("type") String type, @RequestParam("operate") String operate);
+}

+ 33 - 0
zd-api/zd-laboratory-api/src/main/java/com/zd/laboratory/api/feign/fallback/RemoteLabHardwareFallbackFactory.java

@@ -0,0 +1,33 @@
+package com.zd.laboratory.api.feign.fallback;
+
+import com.zd.laboratory.api.feign.RemoteLabHardwareService;
+import com.zd.model.domain.ResultData;
+import org.springframework.cloud.openfeign.FallbackFactory;
+import org.springframework.stereotype.Component;
+
+/**
+ * <p>类注释说明</p>
+ *
+ * @author linft
+ * @version 1.0
+ * @date 1/10/2023
+ */
+@Component
+public class RemoteLabHardwareFallbackFactory implements FallbackFactory<RemoteLabHardwareService> {
+
+    @Override
+    public RemoteLabHardwareService create(Throwable cause) {
+        return new RemoteLabHardwareService() {
+
+            @Override
+            public ResultData statistics() {
+                return ResultData.fail("请求失败!");
+            }
+
+            @Override
+            public ResultData list(String type, String operate) {
+                return ResultData.fail("请求失败!");
+            }
+        };
+    }
+}

+ 146 - 0
zd-common/common-core/src/main/java/com/zd/common/core/utils/HttpUtils.java

@@ -0,0 +1,146 @@
+package com.zd.common.core.utils;
+
+import org.apache.commons.codec.binary.Hex;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.net.URLConnection;
+import java.security.MessageDigest;
+import java.util.Map;
+
+/**
+* <p>Http工具类</p>
+* 
+* @author lft  
+* @date 2018年8月28日
+* @since jdk1.8
+* @version 1.0
+ */
+public class HttpUtils {
+
+	private final static int CONNECT_TIMEOUT = 5000;
+    private final static String DEFAULT_ENCODING = "UTF-8";
+
+    /**
+     * 发送POST请求
+     * 
+     * @param urlStr
+     * @param data
+     * @param contentType
+     * @return
+     */
+    public static String sendPost(String urlStr, String data, String contentType, Map<String, String> headers){
+    	if(null == contentType || "".equals(contentType)){
+    		contentType = "application/x-www-form-urlencoded;charset=UTF-8";
+    	}
+        BufferedReader reader = null;
+        StringBuilder sbui = new StringBuilder();
+        try {
+            URL url = new URL(urlStr);
+            URLConnection conn = url.openConnection();
+            conn.setDoOutput(true);
+            conn.setConnectTimeout(CONNECT_TIMEOUT);
+            conn.setReadTimeout(CONNECT_TIMEOUT);
+            conn.setRequestProperty("User-Agent", "Linux; U");
+            conn.setRequestProperty("content-type", contentType);
+            conn.setRequestProperty("timestamp", String.valueOf(System.currentTimeMillis()));
+            //添加请求头
+            if (headers != null) {
+                for (Map.Entry<String, String> entry : headers.entrySet()) {
+                    conn.setRequestProperty(entry.getKey(),entry.getValue());
+                }
+            }
+            OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream(), DEFAULT_ENCODING);
+            if(data == null)
+                data = "";
+            writer.write(data);
+            writer.flush();
+            writer.close();
+            reader = new BufferedReader(new InputStreamReader(conn.getInputStream(), DEFAULT_ENCODING));
+            String line = null;
+            while ((line = reader.readLine()) != null) {
+            	sbui.append(line);
+            	sbui.append("\r\n");
+            }
+        } catch (IOException e) {
+            //System.out.println("Error connecting to " + urlStr + ": " + e.getMessage());
+        } finally {
+            try {
+                if (reader != null)
+                    reader.close();
+            } catch (IOException e) {
+            }
+        }
+        return sbui.toString();
+    }
+    /**
+     * 发起Get请确认
+     * 
+     * @param url
+     * @return
+     */
+    public static String sendGet(String url){
+    	return sendGet(url, null);
+    }
+    
+    public static String sendGet(String url,Integer timeOut){
+ 		String result="";//访问返回结果
+ 		BufferedReader read=null;//读取访问结果
+ 		 try {
+ 		    //创建url
+ 		    URL realurl=new URL(url);
+ 		    //打开连接
+ 		    URLConnection connection=realurl.openConnection();
+ 		    if(timeOut != null) {
+ 		    	connection.setConnectTimeout(timeOut);
+ 		    	connection.setReadTimeout(timeOut);
+ 		    }
+ 		     // 设置通用的请求属性
+ 	         connection.setRequestProperty("accept", "*/*");
+ 	         connection.setRequestProperty("connection", "Keep-Alive");
+ 			connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
+ 	         //建立连接
+ 	         connection.connect();
+ 	         // 获取所有响应头字段
+ 	         //Map<String, List<String>> map = connection.getHeaderFields();
+ 			read = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
+ 	         String line;//循环读取
+ 	         while ((line = read.readLine()) != null) {
+ 	             result += line;
+ 	         }
+ 		   } catch (Exception e) {
+ 		    e.printStackTrace();
+ 		   }finally{
+ 		    if(read!=null){//关闭流
+ 		     try {
+ 		      read.close();
+ 		     } catch (Exception e) {
+ 		      e.printStackTrace();
+ 		     }
+ 		    }
+ 		   }
+ 		   return result;
+ 	}
+    
+    /**
+	 * SHA1 哈希计算
+	 */
+	public static String hexSHA1(String value) {
+        try {
+            MessageDigest md = MessageDigest.getInstance("SHA-1");
+            md.update(value.getBytes("utf-8"));
+            byte[] digest = md.digest();
+            return byteToHexString(digest);
+        } catch (Exception ex) {
+            throw new RuntimeException(ex);
+        }
+    }
+    
+    public static String byteToHexString(byte[] bytes) {
+        return String.valueOf(Hex.encodeHex(bytes));
+    }
+}

+ 1 - 1
zd-modules/zd-algorithm/src/main/java/com/zd/alg/forward/serivce/FireImageService.java

@@ -120,7 +120,7 @@ public class FireImageService {
         ImgPostResponse<DataPostAnalysisRespDto> send = HttpUtils.send(restTemplate, files, algorithmYml);
         if (send == null || send.getStatus_code() != SUCCESS_CODE) {
             assert send != null;
-            log.error(send.getMessage());
+            //log.error(send.getMessage());
             return;
         }
         DataPostAnalysisRespDto data = send.getData();

+ 16 - 7
zd-modules/zd-algorithm/src/main/java/com/zd/alg/forward/utils/HttpUtils.java

@@ -16,6 +16,8 @@ import org.springframework.web.multipart.MultipartFile;
 
 import java.io.File;
 import java.io.IOException;
+import java.net.HttpURLConnection;
+import java.net.URL;
 import java.time.LocalDateTime;
 import java.time.ZoneOffset;
 
@@ -110,14 +112,21 @@ public class HttpUtils {
     public static ImgPostResponse<DataPostAnalysisRespDto> send(RestTemplate restTemplate, HttpEntity<MultiValueMap<String, Object>> files, AlgorithmYml algorithmYml) {
         ParameterizedTypeReference<ImgPostResponse<DataPostAnalysisRespDto>> reference = new ParameterizedTypeReference<ImgPostResponse<DataPostAnalysisRespDto>>() {
         };
-        ResponseEntity<ImgPostResponse<DataPostAnalysisRespDto>> response = restTemplate.exchange(algorithmYml.getImgPostUrl(), HttpMethod.POST, files, reference);
-        if (response.getStatusCode() != HttpStatus.OK) {
-            log.error("算法服务请求异常,请查看算服务器");
-        }
-        if (response.getBody() == null) {
-            log.error("算法服务接口返回异常");
+        String url = algorithmYml.getImgPostUrl();
+        try {
+            ResponseEntity<ImgPostResponse<DataPostAnalysisRespDto>> response = restTemplate.exchange(url, HttpMethod.POST, files, reference);
+            if (response.getStatusCode() != HttpStatus.OK) {
+                log.error("算法服务请求异常,请查看算服务器");
+            }
+            if (response.getBody() == null) {
+                log.error("算法服务接口返回异常");
+            }
+            return response.getBody();
+        } catch (Exception e) {
+            //e.printStackTrace();
+            log.error("forward算法服务接口请求异常:"+url+", 异常原因"+e.getMessage());
         }
-        return response.getBody();
+        return null;
     }
 
     public static ImgPostResponse<AnalysisReturnData> sendV5(RestTemplate restTemplate, HttpEntity<MultiValueMap<String, Object>> files, AlgorithmYml algorithmYml) {

+ 114 - 0
zd-modules/zd-algorithm/src/main/java/com/zd/alg/monitor/HardwareDeviceMonitor.java

@@ -0,0 +1,114 @@
+package com.zd.alg.monitor;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.zd.common.core.redis.RedisService;
+import com.zd.common.core.utils.HttpUtils;
+import com.zd.common.core.utils.StringUtils;
+import com.zd.laboratory.api.feign.RemoteLabHardwareService;
+import com.zd.model.constant.HttpStatus;
+import com.zd.model.domain.ResultData;
+import io.swagger.models.auth.In;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.TimeUnit;
+import java.util.stream.Collectors;
+
+/**
+ * <p>硬件设备监听</p>
+ *
+ * @author linft
+ * @version 1.0
+ * @date 1/10/2023
+ */
+@Component
+@Slf4j
+public class HardwareDeviceMonitor {
+
+    @Value("${monitor.alert.dingTalkNotice}")
+    private Boolean dingTalkNotice;
+
+    @Value("${monitor.alert.dingTalkSubject}")
+    private String dingTalkSubject;
+
+    @Value("${monitor.alert.dingTalkUrl}")
+    private String dingTalkUrl;
+
+    private String redisPrefix = "HARDWARE_DEVICE_MONITOR:";
+
+    private long expire = 30L;
+
+    @Autowired
+    private RedisService redisService;
+
+    @Autowired
+    private RemoteLabHardwareService remoteLabHardwareService;
+
+    @Scheduled(cron = "0 */9 * * * ?")
+    public void checkPowerUse() {
+        if (dingTalkNotice != null && dingTalkNotice && StringUtils.isNotEmpty(dingTalkUrl)) {
+            log.info("【设备监听提醒】 开始执行检查..............");
+            ResultData result = remoteLabHardwareService.statistics();
+            if (result != null && result.getCode() == HttpStatus.SUCCESS && result.getData() != null) {
+                String jsonStr = JSONObject.toJSONString(result.getData());
+                JSONObject json = JSONObject.parseObject(jsonStr);
+                Integer offline = json.getInteger("powerSupplyOffline");
+                log.info("【设备监听提醒】 异常设备掉线数量:" + offline);
+                if (offline != null && offline > 0) {
+                    //获取离线列表
+                    ResultData data = remoteLabHardwareService.list("SWITCH", "OFFLINE");
+                    //log.info("【设备监听提醒】 获取异常列表:"+JSONObject.toJSONString(data));
+                    if (data != null && data.getCode() == HttpStatus.SUCCESS && data.getData() != null) {
+                        //log.info("【设备监听提醒】 异常设备列表信息:" + data.getData());
+                        String listStr = JSONObject.toJSONString(data.getData());
+                        List<Map<String, Object>> list = JSONObject.parseObject(listStr, List.class);
+                        if (list != null && list.size() > 0) {
+                            Map<String, String> map = new HashMap<>();
+                            for (Map m : list) {
+                                String code = (String) m.get("relayCode");
+                                if (!map.containsKey(code)) {
+                                    map.put(code, "---信息[名称" + m.get("name") + ",所在学院:" + m.get("deptName") + ",所在实验室:" + m.get("subjectName") + "]\n");
+                                }
+                            }
+                            //封装消息
+                            if (!map.isEmpty()) {
+                                Set<String> code = map.keySet();
+                                StringBuffer buffer = new StringBuffer();
+                                buffer.append("【"+dingTalkSubject+"-设备掉线提醒】离线继电器信息:\n");
+                                boolean isSend = Boolean.FALSE;
+                                for (String key : code) {
+                                    Integer num = redisService.getCacheObject(redisPrefix+key);
+                                    if (num != null && num > 2) {
+                                        buffer.append("继电器[" + key + "] " + map.get(key));
+                                        redisService.deleteObject(redisPrefix+key);
+                                        isSend = Boolean.TRUE;
+                                    } else {
+                                        int value = num == null ? 1:num+1;
+                                        redisService.setCacheObject(redisPrefix+key, value, expire, TimeUnit.MINUTES);
+                                    }
+                                }
+                                //通知
+                                if (isSend) {
+                                    String msg = "{\"msgtype\": \"text\",\"text\": {\"content\":\"" + buffer.toString() + "\"}}";
+                                    String rs = HttpUtils.sendPost(dingTalkUrl, msg, "application/json", null);
+                                    //log.info("【设备监听提醒】 钉钉通知响应:" + rs);
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+}

+ 9 - 8
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabRiskPlanController.java

@@ -4,10 +4,8 @@ import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.date.TimeInterval;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.zd.algorithm.api.fire.RemoteFireDeviceService;
 import com.zd.algorithm.api.fire.entity.vo.HardwareFireDeviceVO;
-import com.zd.algorithm.api.rfid.domain.entity.HardwareRfid;
 import com.zd.common.core.annotation.Log;
 import com.zd.common.core.annotation.PreAuthorize;
 import com.zd.common.core.log.BusinessType;
@@ -155,8 +153,9 @@ public class LabRiskPlanController extends BaseController {
     @PreAuthorize(hasPermi = PerPrefix.LABORATORY_PLAN + PerFun.LIST)
     @PostMapping("/lists")
     public TableDataInfo lists(@RequestBody RiskPlanVo riskPlanVo) {
-        Page<HardwareRfid> pages = labRiskPlanService.queryRiskPlanList(new Page(riskPlanVo.getPageNum(), riskPlanVo.getPageSize()), riskPlanVo);
-        return getDataTable(pages.getRecords(),pages.getTotal());
+        startPage();
+        List<LabRiskPlanDTO> list = labRiskPlanService.queryRiskPlanList(riskPlanVo);
+        return getDataTable(list);
     }
 
     /**
@@ -173,8 +172,9 @@ public class LabRiskPlanController extends BaseController {
      */
     @PostMapping(value = "/getLabRiskPlanJoinSub")
     public TableDataInfo getLabRiskPlanJoinSub(@RequestBody LabRiskPlanSubVo labRiskPlanSubVo) {
-        Page<LabSubjectVO> labRiskPlanJoinSubInfo = labRiskPlanService.getLabRiskPlanJoinSubInfo(labRiskPlanSubVo);
-        return getDataTable(labRiskPlanJoinSubInfo.getRecords(),labRiskPlanJoinSubInfo.getTotal());
+        startPage();
+        List<LabSubjectVO> labRiskPlanJoinSubInfo = labRiskPlanService.getLabRiskPlanJoinSubInfo(labRiskPlanSubVo);
+        return getDataTable(labRiskPlanJoinSubInfo);
     }
 
     /**
@@ -182,8 +182,9 @@ public class LabRiskPlanController extends BaseController {
      */
     @PostMapping(value = "/getLabRiskPlanNoJoinSub")
     public TableDataInfo getLabRiskPlanNoJoinSub(@RequestBody LabRiskPlanSubVo labRiskPlanSubVo) {
-        Page<LabSubjectVO> labRiskPlanJoinSubInfo = labRiskPlanService.getLabRiskPlanNoJoinSub(labRiskPlanSubVo);
-        return getDataTable(labRiskPlanJoinSubInfo.getRecords(),labRiskPlanJoinSubInfo.getTotal());
+        startPage();
+        List<LabSubjectVO> labRiskPlanJoinSubInfo = labRiskPlanService.getLabRiskPlanNoJoinSub(labRiskPlanSubVo);
+        return getDataTable(labRiskPlanJoinSubInfo);
     }
 
     /**

+ 49 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/device/HardwareRemoteController.java

@@ -0,0 +1,49 @@
+package com.zd.laboratory.controller.device;
+
+import com.zd.common.core.annotation.PreAuthorize;
+import com.zd.laboratory.domain.LabHardware;
+import com.zd.laboratory.domain.vo.LabHardwareVO;
+import com.zd.laboratory.service.ILabHardwareService;
+import com.zd.model.domain.AjaxResult;
+import com.zd.model.domain.R;
+import com.zd.model.domain.ResultData;
+import com.zd.model.domain.per.PerFun;
+import com.zd.model.domain.per.PerPrefix;
+import com.zd.model.page.TableDataInfo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>类注释说明</p>
+ *
+ * @author linft
+ * @version 1.0
+ * @date 1/10/2023
+ */
+@RestController
+@RequestMapping("/remote/hardware")
+public class HardwareRemoteController {
+
+    @Autowired
+    private ILabHardwareService labHardwareService;
+
+    @GetMapping("/statistics")
+    public ResultData statistics() {
+        Map<String, Object> map = labHardwareService.selectStatistics(new LabHardware());
+        return ResultData.success(map);
+    }
+
+    /**
+     * 查询设备列表
+     */
+    @GetMapping("/list")
+    public ResultData list(LabHardware labHardware) {
+        List<LabHardwareVO> list = labHardwareService.selectLabHardwareList(labHardware);
+        return ResultData.success(list);
+    }
+}

+ 2 - 2
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/vo/LabRiskPlanSubVo.java

@@ -31,9 +31,9 @@ public class LabRiskPlanSubVo {
     @ApiModelProperty(name = "安全分级")
     private Integer level;
     @ApiModelProperty(value = "开始时间")
-    private String startTime;
+    private String startDate;
     @ApiModelProperty(value = "结束时间")
-    private String endTime;
+    private String endDate;
 
     @ApiModelProperty(name = "实验室ids")
     private String subjectIds;

+ 2 - 5
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/mapper/LabRiskPlanMapper.java

@@ -1,7 +1,6 @@
 package com.zd.laboratory.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.zd.laboratory.domain.LabRiskPlan;
 import com.zd.laboratory.domain.dto.LabRiskPlanDTO;
 import com.zd.laboratory.domain.vo.LabRiskPlanSubVo;
@@ -80,13 +79,11 @@ public interface LabRiskPlanMapper extends BaseMapper<LabRiskPlan> {
 
     int selectLabRiskPlanByName(String name);
 
-    Page<LabRiskPlan> queryRiskPlanList(Page<LabRiskPlan> page, @Param("riskPlanVo") RiskPlanVo riskPlanVo);
+    List<LabRiskPlanDTO> queryRiskPlanList(@Param("riskPlanVo") RiskPlanVo riskPlanVo);
 
     List<Integer> selectSensorType(Long riskPlanId);
 
-    Page<LabSubjectVO> selectRelationSubList(Page<LabSubjectVO> page,@Param("labRiskPlanSubVo") LabRiskPlanSubVo labRiskPlanSubVo);
-
-    Page<LabSubjectVO> getLabRiskPlanNoJoinSub(Page<LabSubjectVO> page,@Param("labRiskPlanSubVo") LabRiskPlanSubVo labRiskPlanSubVo);
+    List<LabSubjectVO> selectRelationSubList(@Param("labRiskPlanSubVo") LabRiskPlanSubVo labRiskPlanSubVo);
 
     List<LabSubjectVO> getLabRiskPlanNoJoinSub(@Param("labRiskPlanSubVo") LabRiskPlanSubVo labRiskPlanSubVo);
 }

+ 3 - 4
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/ILabRiskPlanService.java

@@ -1,6 +1,5 @@
 package com.zd.laboratory.service;
 
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.zd.laboratory.api.entity.SensorFunctionStatus;
 import com.zd.laboratory.api.vo.SubFunction;
@@ -145,13 +144,13 @@ public interface ILabRiskPlanService  extends IService<LabRiskPlan> {
      * @param labRiskPlan
      * @return
      */
-    Page<LabRiskPlan> queryRiskPlanList(Page<LabRiskPlan> page,RiskPlanVo riskPlanVo);
+    List<LabRiskPlanDTO> queryRiskPlanList(RiskPlanVo riskPlanVo);
 
-    Page<LabSubjectVO> getLabRiskPlanJoinSubInfo(LabRiskPlanSubVo labRiskPlanSubVo);
+    List<LabSubjectVO> getLabRiskPlanJoinSubInfo(LabRiskPlanSubVo labRiskPlanSubVo);
 
     int checkBinding(String ids);
 
-    Page<LabSubjectVO> getLabRiskPlanNoJoinSub(LabRiskPlanSubVo labRiskPlanSubVo);
+    List<LabSubjectVO> getLabRiskPlanNoJoinSub(LabRiskPlanSubVo labRiskPlanSubVo);
 
     ResultData riskPlanJoinSub(LabRiskPlanSubVoInfo labRiskPlanSubVoInfo);
 

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

@@ -77,7 +77,7 @@ public class LabRiskPlanAbnormalGroupServiceImpl implements ILabRiskPlanAbnormal
                 for(int x=0;x<sensorList.size();x++){
                     JSONObject jsonObj=sensorList.getJSONObject(x);
                     String unit = jsonObj.get("unit")+"";
-                    if(StringUtils.isNotNull(unit)){
+                    if(StringUtils.isNotBlank(unit)){
                         sensorStr.append(jsonObj.get("describe")+":"+jsonObj.get("value")+""+jsonObj.get("unit")+"  ");
                     }else{
                         sensorStr.append(jsonObj.get("describe")+":"+jsonObj.get("value")+"  ");

+ 10 - 34
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabRiskPlanServiceImpl.java

@@ -5,7 +5,6 @@ import cn.hutool.json.JSONObject;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zd.algorithm.api.camera.feign.RemoteCameraService;
 import com.zd.algorithm.api.speaker.entity.ParamVo;
@@ -1492,39 +1491,18 @@ public class LabRiskPlanServiceImpl extends ServiceImpl<LabRiskPlanMapper, LabRi
     }
 
     @Override
-    public Page<LabRiskPlan> queryRiskPlanList(Page<LabRiskPlan> page, RiskPlanVo riskPlan) {
+    public List<LabRiskPlanDTO> queryRiskPlanList(RiskPlanVo riskPlan) {
         //预案列表
-        Page<LabRiskPlan> labRiskPlans = labRiskPlanMapper.queryRiskPlanList(new Page<>(riskPlan.getPageNum(), riskPlan.getPageSize()), riskPlan);
-        //根据预案查询分级信息
-//        for (LabRiskPlan labRiskPlan : labRiskPlans.getRecords()) {
-//            List<LabRiskPlanLevel> labRiskPlanLevels = labRiskPlanLevelService.queryRiskPlanLevelList(labRiskPlan.getId());
-//            labRiskPlan.setLabRiskPlanLevels(labRiskPlanLevels);
-//
-//            //根据预案查询出绑定实验室
-//            List<LabSubjectVO> labSubjectVos = labRiskPlanjoinsubMapper.selectLabRiskPlanjoinsubByRiskPlanId(labRiskPlan.getId());
-//            //根据实验室id和预案id查询当前预案和实验室下绑定的传感器和危险源
-//            List<RiskPlanSubjectRelationVo> riskPlanSubjectRelationVoList = new ArrayList<>();
-//            for (LabSubjectVO labSubjectVO : labSubjectVos) {
-//                RiskPlanSubjectRelationVo riskPlanSubjectRelationVo = new RiskPlanSubjectRelationVo();
-//                List<LabSensorHazardRelation> labSensorHazardRelations = labSensorHazardRelationService.getSensorHazardList(labRiskPlan.getId(),labSubjectVO.getId());
-//                riskPlanSubjectRelationVo.setSubjectId(labSubjectVO.getId());
-//                riskPlanSubjectRelationVo.setLabSensorHazardRelations(labSensorHazardRelations);
-//                riskPlanSubjectRelationVoList.add(riskPlanSubjectRelationVo);
-//            }
-//            labRiskPlan.setRiskPlanSubjectRelationVoList(riskPlanSubjectRelationVoList);
-//        }
-        return labRiskPlans;
+        List<LabRiskPlanDTO> list = labRiskPlanMapper.queryRiskPlanList(riskPlan);
+        return list;
     }
-
     @Override
-    public Page<LabSubjectVO> getLabRiskPlanJoinSubInfo(LabRiskPlanSubVo labRiskPlanSubVo) {
+    public List<LabSubjectVO> getLabRiskPlanJoinSubInfo(LabRiskPlanSubVo labRiskPlanSubVo) {
         //通过传感器字符串和预案id查询相关实验室列表
-        Page<LabSubjectVO> labSubjectVOS = labRiskPlanMapper.selectRelationSubList(new Page<LabSubjectVO>(labRiskPlanSubVo.getPageNum(), labRiskPlanSubVo.getPageSize()), labRiskPlanSubVo);
-//        String types = getSensorTypesByRiskPlanId(labRiskPlanSubVo.getRiskPlanId());
+        List<LabSubjectVO> labSubjectVOS = labRiskPlanMapper.selectRelationSubList(labRiskPlanSubVo);
         List<Integer> collect = labRiskPlanMapper.selectSensorType(labRiskPlanSubVo.getRiskPlanId());
-//        List<Long> collect = Arrays.stream(StrUtil.splitToLong(types, ",")).boxed().collect(Collectors.toList());
         if (null != labRiskPlanSubVo.getRiskPlanId()) {
-            for (LabSubjectVO labSubjectVO : labSubjectVOS.getRecords()) {
+            for (LabSubjectVO labSubjectVO : labSubjectVOS) {
                 List<LabSensorHazardRelation> labSensorHazardRelations = labSensorHazardRelationService.getSensorHazardList(labRiskPlanSubVo.getRiskPlanId(), labSubjectVO.getId());
                 List<Integer> list = labSensorService.getSensorTypesBySubId(labSubjectVO.getId());
                 if (isListEqual(collect, list)) {
@@ -1540,13 +1518,11 @@ public class LabRiskPlanServiceImpl extends ServiceImpl<LabRiskPlanMapper, LabRi
 
 
     @Override
-    public Page<LabSubjectVO> getLabRiskPlanNoJoinSub(LabRiskPlanSubVo labRiskPlanSubVo) {
-//        String typeIds = getSensorTypesByRiskPlanId(labRiskPlanSubVo.getRiskPlanId());
-//        labRiskPlanSubVo.setTypes(typeIds);
+    public List<LabSubjectVO> getLabRiskPlanNoJoinSub(LabRiskPlanSubVo labRiskPlanSubVo) {
         labRiskPlanSubVo.setUserId(tokenService.getLoginUser().getUserid());
-        Page<LabSubjectVO> labSubjectVOS = labRiskPlanMapper.getLabRiskPlanNoJoinSub(new Page<LabSubjectVO>(labRiskPlanSubVo.getPageNum(), labRiskPlanSubVo.getPageSize()), labRiskPlanSubVo);
-        if (labSubjectVOS.getRecords().size() > 0) {
-            for (LabSubjectVO labSubjectVO : labSubjectVOS.getRecords()) {
+        List<LabSubjectVO> labSubjectVOS = labRiskPlanMapper.getLabRiskPlanNoJoinSub(labRiskPlanSubVo);
+        if (labSubjectVOS.size() > 0) {
+            for (LabSubjectVO labSubjectVO : labSubjectVOS) {
                 List<LabSensor> sensorListBySubId = labSensorService.getSensorListBySubId(labSubjectVO.getId());
                 List<LabHazardSubVO> labHazardSubVOS = labHazardSubjectRelationService.queryHazardSubListVO(labSubjectVO.getId());
                 labSubjectVO.setLabSensorList(sensorListBySubId);

+ 0 - 1
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabSparseHardwareServiceImpl.java

@@ -46,7 +46,6 @@ public class LabSparseHardwareServiceImpl implements ILabSparseHardwareService {
      * @return 疏散硬件
      */
     @Override
-    @DataScope(deptAlias = "d", userAlias = "t", permi = PerPrefix.LABORATORY_SPARSEHARDWARE)
     public List<LabSparseHardware> selectLabSparseHardwareList(LabSparseHardware labSparseHardware) {
         return labSparseHardwareMapper.selectLabSparseHardwareList(labSparseHardware);
     }

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

@@ -497,9 +497,9 @@
             <if test="labRiskPlanSubVo.typeId != null">
                 and ls.type_id = #{labRiskPlanSubVo.typeId}
             </if>
-            <if test="labRiskPlanSubVo.startTime != null and labRiskPlanSubVo.endTime != null">
-                and lrp.create_time between #{labRiskPlanSubVo.startTime}
-                and #{labRiskPlanSubVo.endTime}
+            <if test="labRiskPlanSubVo.startDate != null and labRiskPlanSubVo.endDate != null">
+                and lrp.create_time between #{labRiskPlanSubVo.startDate}
+                and #{labRiskPlanSubVo.endDate}
             </if>
         </where>
         order by lrp.create_time desc

+ 0 - 2
zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabSparseHardwareMapper.xml

@@ -98,8 +98,6 @@
             <if test="deptId != null  and deptId != ''">and t.dept_id = #{deptId}</if>
             <if test="deptName != null  and deptName != ''">and t.dept_name like concat('%', #{deptName}, '%')</if>
             <if test="userId != null ">and t.user_id = #{userId}</if>
-            <!-- 数据范围过滤 -->
-            ${params.dataScope}
         </where>
         order by t.create_time desc
     </select>