459242451@qq.com 3 jaren geleden
bovenliggende
commit
8ec9c4f9eb

+ 1 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/gas/GasCommonController.java

@@ -267,6 +267,7 @@ public class GasCommonController {
             equalsCondition.put("monitorPointName", monitor);
             equalsCondition.put("snapPos", monitor);
         }
+        equalsCondition.put("mmsi", "!0");
         Map<String, Object> rangeCondition = new HashMap<>();
         if (StrUtil.isBlank(startTime)) {
             startTime = DateUtil.formatDateTime(DateUtil.offsetDay(new Date(), -3));

+ 31 - 1
ruoyi-admin/src/main/java/com/ruoyi/web/job/GetDynamicShip.java

@@ -119,8 +119,38 @@ public class GetDynamicShip {
      *
      * @param day 删除多少天前的数据
      */
-    public void delete(int day) {
+    public void delete(Integer day) {
+        log.info("删除实时经纬度数据任务开始!");
         aisShipService.deleteByDay(day);
+        log.info("删除实时经纬度数据任务开始!");
     }
 
+    /**
+     * 删除ES中存在的历史数据--正常监测数据
+     *
+     * @param day
+     */
+    public void deleteEsExpire(Integer day) {
+        log.info("删除ES中数据任务开始!");
+        Map<String, Object> equalsCondition = new HashMap<>();
+        equalsCondition.put("illegalStatus", "1");
+        Map<String, Object> rangeCondition = new HashMap<>();
+        rangeCondition.put("createTime", StrUtil.concat(true, "[", "", ",", DateUtil.formatDateTime(DateUtil.offsetDay(new Date(), -day)), "]"));
+        Map<String, Object> stringObjectMap = client.searchDocument(equalsCondition,
+                rangeCondition,
+                null,
+                1,
+                10000,
+                ElasticConstants.AIS_ILLEGAL_SHIP,
+                ElasticConstants.SO2_ALERT);
+        List<IllegalInfo> pageList = Convert.toList(IllegalInfo.class, stringObjectMap.get("pageList"));
+        for (IllegalInfo illegalInfo : pageList) {
+            if ("xiutan".equals(illegalInfo.getIllegalType())) {
+                client.deleteDocument(ElasticConstants.AIS_ILLEGAL_SHIP, illegalInfo.getId());
+            } else if ("guangpu".equals(illegalInfo.getIllegalType())) {
+                client.deleteDocument(ElasticConstants.SO2_ALERT, illegalInfo.getId());
+            }
+        }
+        log.info("删除ES中数据任务结束!");
+    }
 }

+ 3 - 6
ruoyi-system/src/main/java/com/ruoyi/system/domain/IllegalInfo.java

@@ -14,6 +14,9 @@ import java.util.Date;
  */
 @Data
 public class IllegalInfo {
+
+    private String id;
+
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date createTime;
 
@@ -29,12 +32,6 @@ public class IllegalInfo {
 
     private String snapTimeFmt;
 
-    private String snapPos;
-
-    private String aisMmsi;
-
-    private String aisShipName;
-
     private Integer rcgSoot;
 
     // 船舶实时经纬度

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

@@ -42,8 +42,6 @@ public class IllegalShip extends BaseEntity {
 
     private String berthName;
 
-    private BigDecimal sPercent;
-
     private BigDecimal so2Percent;
 
     private BigDecimal so2Concentration;

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

@@ -120,7 +120,7 @@
 <script>
 import scroll from "./scroll.vue"
 import {getDeviceType, getIllegalShipStatic, getSo2Time, getStaticDevice} from "@/api/data/staticalData";
-import {getdeviceList,queryShipData} from "@/api/data/deviceData";
+import {getdeviceList, queryShipData} from "@/api/data/deviceData";
 import mapdiv from '../../../components/map/index.vue'
 
 export default {
@@ -247,7 +247,7 @@ export default {
     this.getdeviceList();
     this.getStaticDevice();
     this.getIllegalShipStatic();
-     this.getshipData();
+    this.getshipData();
     // this.addDevicePoint();
     // this.addAisPoint();
     // this.addSo2Point();
@@ -288,14 +288,14 @@ export default {
         //  console.log(deviceList);
       });
     },
-    getshipData(){
+    getshipData() {
 
       queryShipData().then(data => {
         var shipdatalist = [];
         for (var key in data.data) {
           var ship = data.data[key];
           ship["name"] = ship.shipName;
-          ship["locations"] = [[ship.lng,ship.lat]];
+          ship["locations"] = [[ship.lng, ship.lat]];
           ship["type"] = ship.illegalStatus;
           shipdatalist.push(ship);
         }
@@ -345,11 +345,11 @@ export default {
       });
     },
     getMonthArry(start, end) {
-    this.shipDateArry = [];
-          var startYear = start.split('-')[0];
-          var startMonth = parseInt(start.split('-')[1]);
-          var endYear = end.split('-')[0];
-          var endMonth = parseInt(end.split('-')[1]);
+      this.shipDateArry = [];
+      var startYear = start.split('-')[0];
+      var startMonth = parseInt(start.split('-')[1]);
+      var endYear = end.split('-')[0];
+      var endMonth = parseInt(end.split('-')[1]);
       if (startYear == endYear) {
         for (var i = startMonth; i < endMonth + 1; i++) {
           if (i < 10) {
@@ -622,7 +622,7 @@ export default {
         ],
         series: [
           {
-            name: '直接访问',
+            name: '数量',
             type: 'bar',
             barWidth: '30%',
             data: dataArry,
@@ -727,7 +727,7 @@ export default {
         ],
         series: [
           {
-            name: '直接访问',
+            name: '数量',
             type: 'bar',
             barWidth: '30%',
             data: dataArry,

+ 48 - 42
ruoyi-ui/src/views/monitor/logininfor/index.vue

@@ -65,7 +65,8 @@
           :disabled="multiple"
           @click="handleDelete"
           v-hasPermi="['monitor:logininfor:remove']"
-        >删除</el-button>
+        >删除
+        </el-button>
       </el-col>
       <el-col :span="1.5">
         <el-button
@@ -75,7 +76,8 @@
           size="mini"
           @click="handleClean"
           v-hasPermi="['monitor:logininfor:remove']"
-        >清空</el-button>
+        >清空
+        </el-button>
       </el-col>
       <el-col :span="1.5">
         <el-button
@@ -86,21 +88,22 @@
           :loading="exportLoading"
           @click="handleExport"
           v-hasPermi="['monitor:logininfor:export']"
-        >导出</el-button>
+        >导出
+        </el-button>
       </el-col>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
     <el-table ref="tables" :header-cell-style="{ background: 'linear-gradient(white, #ccebf9)'}" v-loading="loading" :data="list" @selection-change="handleSelectionChange" :default-sort="defaultSort" @sort-change="handleSortChange">
-      <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="访问编号" align="center" prop="infoId" />
-      <el-table-column label="用户名称" align="center" prop="userName" :show-overflow-tooltip="true" sortable="custom" :sort-orders="['descending', 'ascending']" />
-      <el-table-column label="登录地址" align="center" prop="ipaddr" width="130" :show-overflow-tooltip="true" />
-      <el-table-column label="登录地点" align="center" prop="loginLocation" :show-overflow-tooltip="true" />
-      <el-table-column label="浏览器" align="center" prop="browser" :show-overflow-tooltip="true" />
-      <el-table-column label="操作系统" align="center" prop="os" />
-      <el-table-column label="登录状态" align="center" prop="status" :formatter="statusFormat" />
-      <el-table-column label="操作信息" align="center" prop="msg" />
+      <el-table-column type="selection" width="55" align="center"/>
+      <el-table-column label="访问编号" align="center" prop="infoId"/>
+      <el-table-column label="用户名称" align="center" prop="userName" :show-overflow-tooltip="true" sortable="custom" :sort-orders="['descending', 'ascending']"/>
+      <el-table-column label="登录地址" align="center" prop="ipaddr" width="130" :show-overflow-tooltip="true"/>
+      <!--      <el-table-column label="登录地点" align="center" prop="loginLocation" :show-overflow-tooltip="true" />-->
+      <el-table-column label="浏览器" align="center" prop="browser" :show-overflow-tooltip="true"/>
+      <el-table-column label="操作系统" align="center" prop="os"/>
+      <el-table-column label="登录状态" align="center" prop="status" :formatter="statusFormat"/>
+      <el-table-column label="操作信息" align="center" prop="msg"/>
       <el-table-column label="登录日期" align="center" prop="loginTime" sortable="custom" :sort-orders="['descending', 'ascending']" width="180">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.loginTime) }}</span>
@@ -119,7 +122,7 @@
 </template>
 
 <script>
-import { list, delLogininfor, cleanLogininfor, exportLogininfor } from "@/api/monitor/logininfor";
+import {cleanLogininfor, delLogininfor, exportLogininfor, list} from "@/api/monitor/logininfor";
 
 export default {
   name: "Logininfor",
@@ -203,43 +206,46 @@ export default {
     handleDelete(row) {
       const infoIds = row.infoId || this.ids;
       this.$confirm('是否确认删除访问编号为"' + infoIds + '"的数据项?', "警告", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(function() {
-          return delLogininfor(infoIds);
-        }).then(() => {
-          this.getList();
-          this.msgSuccess("删除成功");
-        }).catch(() => {});
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(function () {
+        return delLogininfor(infoIds);
+      }).then(() => {
+        this.getList();
+        this.msgSuccess("删除成功");
+      }).catch(() => {
+      });
     },
     /** 清空按钮操作 */
     handleClean() {
-        this.$confirm('是否确认清空所有登录日志数据项?', "警告", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(function() {
-          return cleanLogininfor();
-        }).then(() => {
-          this.getList();
-          this.msgSuccess("清空成功");
-        }).catch(() => {});
+      this.$confirm('是否确认清空所有登录日志数据项?', "警告", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(function () {
+        return cleanLogininfor();
+      }).then(() => {
+        this.getList();
+        this.msgSuccess("清空成功");
+      }).catch(() => {
+      });
     },
     /** 导出按钮操作 */
     handleExport() {
       const queryParams = this.queryParams;
       this.$confirm('是否确认导出所有操作日志数据项?', "警告", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(() => {
-          this.exportLoading = true;
-          return exportLogininfor(queryParams);
-        }).then(response => {
-          this.download(response.msg);
-          this.exportLoading = false;
-        }).catch(() => {});
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        this.exportLoading = true;
+        return exportLogininfor(queryParams);
+      }).then(response => {
+        this.download(response.msg);
+        this.exportLoading = false;
+      }).catch(() => {
+      });
     }
   }
 };