459242451@qq.com 3 năm trước cách đây
mục cha
commit
968ac3365e

+ 11 - 1
ruoyi-admin/src/main/java/com/ruoyi/web/controller/gas/BlackGasController.java

@@ -18,6 +18,7 @@ import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.framework.config.ElasticSearchClient;
 import com.ruoyi.system.domain.ShipRecognition;
+import com.ruoyi.system.service.IHeiYanService;
 import com.ruoyi.system.service.ISysDictTypeService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -51,6 +52,8 @@ public class BlackGasController extends BaseController {
     private ElasticSearchClient client;
     @Autowired
     private ISysDictTypeService dictTypeService;
+    @Autowired
+    private IHeiYanService heiYanService;
 
     @GetMapping("/list")
     @ApiOperation("列表数据")
@@ -83,10 +86,17 @@ public class BlackGasController extends BaseController {
         PageDomain pageDomain = TableSupport.buildPageRequest();
         Map<String, Object> maps = client.searchDocument(equalsCondition, rangeCondition, orderBy, pageDomain.getPageNum(), pageDomain.getPageSize(), ElasticConstants.HEIYAN_SHIP_RECOGNITION);
 
+        // 查询黑烟系统的设备信息
+        Map<String, String> heiyanDevice = heiYanService.queryDeviceMap();
+
         TableDataInfo rspData = new TableDataInfo();
         rspData.setCode(HttpStatus.SUCCESS);
         rspData.setMsg("查询成功");
-        rspData.setRows(Convert.toList(ShipRecognition.class, maps.get("pageList")));
+        List<ShipRecognition> pageList = Convert.toList(ShipRecognition.class, maps.get("pageList"));
+        for (ShipRecognition recognition : pageList) {
+            recognition.setDeviceName(heiyanDevice.get(recognition.getDeviceId()));
+        }
+        rspData.setRows(pageList);
         rspData.setTotal(Convert.toLong(maps.get("totalNum")));
         return rspData;
     }

+ 13 - 1
ruoyi-admin/src/main/java/com/ruoyi/web/controller/gas/So2Controller.java

@@ -98,10 +98,22 @@ public class So2Controller extends BaseController {
         PageDomain pageDomain = TableSupport.buildPageRequest();
         Map<String, Object> maps = client.searchDocument(equalsCondition, rangeCondition, orderBy, pageDomain.getPageNum(), pageDomain.getPageSize(), ElasticConstants.SO2_ALERT, ElasticConstants.AIS_ILLEGAL_SHIP);
 
+        // 查询so2系统的设备信息
+        Map<String, String> so2Device = so2Service.queryDeviceMap();
+        Map<String, String> aisDevice = aisDatabase.queryDeviceMap();
+
         TableDataInfo rspData = new TableDataInfo();
         rspData.setCode(HttpStatus.SUCCESS);
         rspData.setMsg("查询成功");
-        rspData.setRows(Convert.toList(IllegalShip.class, maps.get("pageList")));
+        List<IllegalShip> pageList = Convert.toList(IllegalShip.class, maps.get("pageList"));
+        for (IllegalShip ship : pageList) {
+            if ("xiutan".equals(ship.getIllegalType())) {
+                ship.setDeviceName(aisDevice.get(ship.getSemId()));
+            } else if ("guangpu".equals(ship.getIllegalType())) {
+                ship.setDeviceName(so2Device.get(ship.getDeviceId()));
+            }
+        }
+        rspData.setRows(pageList);
         rspData.setTotal(Convert.toLong(maps.get("totalNum")));
         return rspData;
     }

+ 6 - 0
ruoyi-system/src/main/java/com/ruoyi/system/domain/IllegalShip.java

@@ -48,4 +48,10 @@ public class IllegalShip extends BaseEntity {
 
     private String filterMmsi;
 
+    private String semId;
+
+    private String deviceId;
+
+    private String deviceName;
+
 }

+ 4 - 0
ruoyi-system/src/main/java/com/ruoyi/system/domain/ShipRecognition.java

@@ -284,4 +284,8 @@ public class ShipRecognition extends BaseEntity {
     private String mmsi;
 
     private String filterMmsi;
+
+    private String deviceId;
+
+    private String deviceName;
 }

+ 2 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/IAisDatabase.java

@@ -19,4 +19,6 @@ public interface IAisDatabase {
     List<DeviceBo> queryDeviceList(String monitor);
 
     Map<String, Object> queryById(String id);
+
+    Map<String, String> queryDeviceMap();
 }

+ 2 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/IHeiYanService.java

@@ -19,4 +19,6 @@ public interface IHeiYanService {
     List<DeviceBo> queryDeviceList(String monitor);
 
     Map<String, Object> queryById(String id);
+
+    Map<String, String> queryDeviceMap();
 }

+ 3 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/ISo2Service.java

@@ -19,4 +19,7 @@ public interface ISo2Service {
     List<DeviceBo> queryDeviceList(String monitor);
 
     Map<String, Object> queryById(String id);
+
+    Map<String, String> queryDeviceMap();
+    
 }

+ 7 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AisDatabaseImpl.java

@@ -10,6 +10,7 @@ import org.springframework.stereotype.Service;
 
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @Description: TODO
@@ -43,4 +44,10 @@ public class AisDatabaseImpl implements IAisDatabase {
     public Map<String, Object> queryById(String id) {
         return aisDatabaseMapper.queryById(id);
     }
+
+    @Override
+    public Map<String, String> queryDeviceMap() {
+        List<DeviceBo> deviceBos = this.queryDeviceList("");
+        return deviceBos.stream().collect(Collectors.toMap(DeviceBo::getDeviceId, DeviceBo::getName));
+    }
 }

+ 7 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/HeiYanServiceImpl.java

@@ -10,6 +10,7 @@ import org.springframework.stereotype.Service;
 
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @Description: TODO
@@ -43,4 +44,10 @@ public class HeiYanServiceImpl implements IHeiYanService {
     public Map<String, Object> queryById(String id) {
         return heiYanMapper.queryById(id);
     }
+
+    @Override
+    public Map<String, String> queryDeviceMap() {
+        List<DeviceBo> deviceBos = this.queryDeviceList("");
+        return deviceBos.stream().collect(Collectors.toMap(DeviceBo::getDeviceId, DeviceBo::getName));
+    }
 }

+ 7 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/So2ServiceImpl.java

@@ -10,6 +10,7 @@ import org.springframework.stereotype.Service;
 
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @Description: TODO
@@ -43,4 +44,10 @@ public class So2ServiceImpl implements ISo2Service {
     public Map<String, Object> queryById(String id) {
         return so2Mapper.queryById(id);
     }
+
+    @Override
+    public Map<String, String> queryDeviceMap() {
+        List<DeviceBo> deviceBos = this.queryDeviceList("");
+        return deviceBos.stream().collect(Collectors.toMap(DeviceBo::getDeviceId, DeviceBo::getName));
+    }
 }

+ 13 - 11
ruoyi-ui/src/views/components/table/liuTable.vue

@@ -233,27 +233,29 @@
       </el-table-column>
       <el-table-column
         prop="shipName"
-        label="船名"
-        width="180">
+        label="船名">
       </el-table-column>
       <el-table-column
         prop="mmsi"
-        label="MMSI"
-        width="180">
+        label="MMSI">
       </el-table-column>
       <el-table-column
         prop="shipRegionType"
         label="内河船/海船"
         :formatter="shipTypeFormat">
       </el-table-column>
+      <!--      <el-table-column-->
+      <!--        prop="monitorPointName"-->
+      <!--        label="监测点">-->
+      <!--      </el-table-column>-->
+      <!--      <el-table-column-->
+      <!--        prop="illegalType"-->
+      <!--        label="来源"-->
+      <!--        :formatter="illegalTypeFormat">-->
+      <!--      </el-table-column>-->
       <el-table-column
-        prop="monitorPointName"
-        label="监测点">
-      </el-table-column>
-      <el-table-column
-        prop="illegalType"
-        label="来源"
-        :formatter="illegalTypeFormat">
+        prop="deviceName"
+        label="设备名称">
       </el-table-column>
       <el-table-column
         prop="orgName"

+ 8 - 6
ruoyi-ui/src/views/components/table/xtTable.vue

@@ -145,22 +145,24 @@
       </el-table-column>
       <el-table-column
         prop="shipName"
-        label="船名"
-        width="180">
+        label="船名">
       </el-table-column>
       <el-table-column
         prop="mmsi"
-        label="MMSI"
-        width="180">
+        label="MMSI">
       </el-table-column>
       <el-table-column
         prop="aisShipType"
         label="内河船/海船"
         :formatter="shipTypeFormat">
       </el-table-column>
+      <!--      <el-table-column-->
+      <!--        prop="monitorPointName"-->
+      <!--        label="抓拍地点">-->
+      <!--      </el-table-column>-->
       <el-table-column
-        prop="monitorPointName"
-        label="抓拍地点">
+        prop="deviceName"
+        label="设备名称">
       </el-table-column>
       <el-table-column
         prop="snapTimeFmt"