提交代码
parent
c281a11886
commit
910b277071
|
@ -1,417 +0,0 @@
|
||||||
<template>
|
|
||||||
<div class="app-container">
|
|
||||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
|
||||||
<el-form-item label="项目主键" prop="projectId">
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.projectId"
|
|
||||||
placeholder="请输入项目主键"
|
|
||||||
clearable
|
|
||||||
@keyup.enter.native="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="部门主键" prop="deptId">
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.deptId"
|
|
||||||
placeholder="请输入部门主键"
|
|
||||||
clearable
|
|
||||||
@keyup.enter.native="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="设备名称" prop="deviceName">
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.deviceName"
|
|
||||||
placeholder="请输入设备名称"
|
|
||||||
clearable
|
|
||||||
@keyup.enter.native="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="车牌号" prop="plateNo">
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.plateNo"
|
|
||||||
placeholder="请输入车牌号"
|
|
||||||
clearable
|
|
||||||
@keyup.enter.native="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item>
|
|
||||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
|
||||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
|
||||||
</el-form-item>
|
|
||||||
</el-form>
|
|
||||||
|
|
||||||
<el-row :gutter="10" class="mb8">
|
|
||||||
<el-col :span="1.5">
|
|
||||||
<el-button
|
|
||||||
type="primary"
|
|
||||||
plain
|
|
||||||
icon="el-icon-plus"
|
|
||||||
size="mini"
|
|
||||||
@click="handleAdd"
|
|
||||||
v-hasPermi="['project:aiBoxProjectData:add']"
|
|
||||||
>新增</el-button>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="1.5">
|
|
||||||
<el-button
|
|
||||||
type="success"
|
|
||||||
plain
|
|
||||||
icon="el-icon-edit"
|
|
||||||
size="mini"
|
|
||||||
:disabled="single"
|
|
||||||
@click="handleUpdate"
|
|
||||||
v-hasPermi="['project:aiBoxProjectData:edit']"
|
|
||||||
>修改</el-button>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="1.5">
|
|
||||||
<el-button
|
|
||||||
type="danger"
|
|
||||||
plain
|
|
||||||
icon="el-icon-delete"
|
|
||||||
size="mini"
|
|
||||||
:disabled="multiple"
|
|
||||||
@click="handleDelete"
|
|
||||||
v-hasPermi="['project:aiBoxProjectData:remove']"
|
|
||||||
>删除</el-button>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="1.5">
|
|
||||||
<el-button
|
|
||||||
type="warning"
|
|
||||||
plain
|
|
||||||
icon="el-icon-download"
|
|
||||||
size="mini"
|
|
||||||
@click="handleExport"
|
|
||||||
v-hasPermi="['project:aiBoxProjectData:export']"
|
|
||||||
>导出</el-button>
|
|
||||||
</el-col>
|
|
||||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
|
||||||
</el-row>
|
|
||||||
|
|
||||||
<el-table v-loading="loading" :data="aiBoxProjectDataList" @selection-change="handleSelectionChange">
|
|
||||||
<el-table-column type="selection" width="55" align="center" />
|
|
||||||
<el-table-column label="主键" align="center" prop="id" />
|
|
||||||
<el-table-column label="项目主键" align="center" prop="projectId" />
|
|
||||||
<el-table-column label="部门主键" align="center" prop="deptId" />
|
|
||||||
<el-table-column label="设备ID" align="center" prop="deviceId" />
|
|
||||||
<el-table-column label="设备名称" align="center" prop="deviceName" />
|
|
||||||
<el-table-column label="设备网口 0 IP 地址" align="center" prop="deviceAddr0" />
|
|
||||||
<el-table-column label="设备网口 1 IP 地址" align="center" prop="deviceAddr1" />
|
|
||||||
<el-table-column label="设备的序列号" align="center" prop="serialNumber" />
|
|
||||||
<el-table-column label="相机的序列号" align="center" prop="ipcSerialNum" />
|
|
||||||
<el-table-column label="相机的 IP 地址" align="center" prop="ipcAddr" />
|
|
||||||
<el-table-column label="行为分析图片地址" align="center" prop="imageUrl" />
|
|
||||||
<el-table-column label="通道号,用来唯一标识任务 ID" align="center" prop="channelId" />
|
|
||||||
<el-table-column label="通道名称" align="center" prop="channelName" />
|
|
||||||
<el-table-column label="报警类型" align="center" prop="alarmType" />
|
|
||||||
<el-table-column label="告警 ID" align="center" prop="alarmId" />
|
|
||||||
<el-table-column label="上报间隔" align="center" prop="reportRate" />
|
|
||||||
<el-table-column label="采集时间" align="center" prop="timestamp" width="180">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<span>{{ parseTime(scope.row.timestamp, '{y}-{m}-{d}') }}</span>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="左上角 X 坐标" align="center" prop="leftTopX" />
|
|
||||||
<el-table-column label="左上角 Y 坐标" align="center" prop="leftTopY" />
|
|
||||||
<el-table-column label="右下角 X 坐标" align="center" prop="rightBtmX" />
|
|
||||||
<el-table-column label="右下角 Y 坐标" align="center" prop="rightBtmY" />
|
|
||||||
<el-table-column label="当前告警区域人数" align="center" prop="personNum" />
|
|
||||||
<el-table-column label="绊线进入人数数量" align="center" prop="inNum" />
|
|
||||||
<el-table-column label="绊线离开人数数量" align="center" prop="outNum" />
|
|
||||||
<el-table-column label="车牌号" align="center" prop="plateNo" />
|
|
||||||
<el-table-column label="ValueType 为 1 时,代表明火检测;ValueType 为 2 时,代表烟雾检测;" align="center" prop="valueType" />
|
|
||||||
<el-table-column label="告警短视频的地址" align="center" prop="alarmVideourl" />
|
|
||||||
<el-table-column label="告警短视频的名称" align="center" prop="alarmVideoName" />
|
|
||||||
<el-table-column label="人脸比对结果" align="center" prop="compareResult" />
|
|
||||||
<el-table-column label="数据状态" align="center" prop="isDel" />
|
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<el-button
|
|
||||||
size="mini"
|
|
||||||
type="text"
|
|
||||||
icon="el-icon-edit"
|
|
||||||
@click="handleUpdate(scope.row)"
|
|
||||||
v-hasPermi="['project:aiBoxProjectData:edit']"
|
|
||||||
>修改</el-button>
|
|
||||||
<el-button
|
|
||||||
size="mini"
|
|
||||||
type="text"
|
|
||||||
icon="el-icon-delete"
|
|
||||||
@click="handleDelete(scope.row)"
|
|
||||||
v-hasPermi="['project:aiBoxProjectData:remove']"
|
|
||||||
>删除</el-button>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
</el-table>
|
|
||||||
|
|
||||||
<pagination
|
|
||||||
v-show="total>0"
|
|
||||||
:total="total"
|
|
||||||
:page.sync="queryParams.pageNum"
|
|
||||||
:limit.sync="queryParams.pageSize"
|
|
||||||
@pagination="getList"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<!-- 添加或修改设备数据对话框 -->
|
|
||||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
|
||||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
|
||||||
<el-form-item label="项目主键" prop="projectId">
|
|
||||||
<el-input v-model="form.projectId" placeholder="请输入项目主键" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="部门主键" prop="deptId">
|
|
||||||
<el-input v-model="form.deptId" placeholder="请输入部门主键" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="设备ID" prop="deviceId">
|
|
||||||
<el-input v-model="form.deviceId" placeholder="请输入设备ID" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="设备名称" prop="deviceName">
|
|
||||||
<el-input v-model="form.deviceName" placeholder="请输入设备名称" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="设备网口 0 IP 地址" prop="deviceAddr0">
|
|
||||||
<el-input v-model="form.deviceAddr0" placeholder="请输入设备网口 0 IP 地址" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="设备网口 1 IP 地址" prop="deviceAddr1">
|
|
||||||
<el-input v-model="form.deviceAddr1" placeholder="请输入设备网口 1 IP 地址" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="设备的序列号" prop="serialNumber">
|
|
||||||
<el-input v-model="form.serialNumber" placeholder="请输入设备的序列号" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="相机的序列号" prop="ipcSerialNum">
|
|
||||||
<el-input v-model="form.ipcSerialNum" placeholder="请输入相机的序列号" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="相机的 IP 地址" prop="ipcAddr">
|
|
||||||
<el-input v-model="form.ipcAddr" placeholder="请输入相机的 IP 地址" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="行为分析图片地址" prop="imageUrl">
|
|
||||||
<el-input v-model="form.imageUrl" placeholder="请输入行为分析图片地址" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="通道号,用来唯一标识任务 ID" prop="channelId">
|
|
||||||
<el-input v-model="form.channelId" placeholder="请输入通道号,用来唯一标识任务 ID" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="通道名称" prop="channelName">
|
|
||||||
<el-input v-model="form.channelName" placeholder="请输入通道名称" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="告警 ID" prop="alarmId">
|
|
||||||
<el-input v-model="form.alarmId" placeholder="请输入告警 ID" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="上报间隔" prop="reportRate">
|
|
||||||
<el-input v-model="form.reportRate" placeholder="请输入上报间隔" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="采集时间" prop="timestamp">
|
|
||||||
<el-date-picker clearable
|
|
||||||
v-model="form.timestamp"
|
|
||||||
type="date"
|
|
||||||
value-format="yyyy-MM-dd"
|
|
||||||
placeholder="请选择采集时间">
|
|
||||||
</el-date-picker>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="左上角 X 坐标" prop="leftTopX">
|
|
||||||
<el-input v-model="form.leftTopX" placeholder="请输入左上角 X 坐标" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="左上角 Y 坐标" prop="leftTopY">
|
|
||||||
<el-input v-model="form.leftTopY" placeholder="请输入左上角 Y 坐标" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="右下角 X 坐标" prop="rightBtmX">
|
|
||||||
<el-input v-model="form.rightBtmX" placeholder="请输入右下角 X 坐标" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="右下角 Y 坐标" prop="rightBtmY">
|
|
||||||
<el-input v-model="form.rightBtmY" placeholder="请输入右下角 Y 坐标" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="当前告警区域人数" prop="personNum">
|
|
||||||
<el-input v-model="form.personNum" placeholder="请输入当前告警区域人数" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="绊线进入人数数量" prop="inNum">
|
|
||||||
<el-input v-model="form.inNum" placeholder="请输入绊线进入人数数量" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="绊线离开人数数量" prop="outNum">
|
|
||||||
<el-input v-model="form.outNum" placeholder="请输入绊线离开人数数量" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="车牌号" prop="plateNo">
|
|
||||||
<el-input v-model="form.plateNo" placeholder="请输入车牌号" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="告警短视频的地址" prop="alarmVideourl">
|
|
||||||
<el-input v-model="form.alarmVideourl" placeholder="请输入告警短视频的地址" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="告警短视频的名称" prop="alarmVideoName">
|
|
||||||
<el-input v-model="form.alarmVideoName" placeholder="请输入告警短视频的名称" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="人脸比对结果" prop="compareResult">
|
|
||||||
<el-input v-model="form.compareResult" type="textarea" placeholder="请输入内容" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="数据状态" prop="isDel">
|
|
||||||
<el-input v-model="form.isDel" placeholder="请输入数据状态" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-form>
|
|
||||||
<div slot="footer" class="dialog-footer">
|
|
||||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
|
||||||
<el-button @click="cancel">取 消</el-button>
|
|
||||||
</div>
|
|
||||||
</el-dialog>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import { listAiBoxProjectData, getAiBoxProjectData, delAiBoxProjectData, addAiBoxProjectData, updateAiBoxProjectData } from "@/api/project/aiBoxProjectData";
|
|
||||||
|
|
||||||
export default {
|
|
||||||
name: "AiBoxProjectData",
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
// 遮罩层
|
|
||||||
loading: true,
|
|
||||||
// 选中数组
|
|
||||||
ids: [],
|
|
||||||
// 非单个禁用
|
|
||||||
single: true,
|
|
||||||
// 非多个禁用
|
|
||||||
multiple: true,
|
|
||||||
// 显示搜索条件
|
|
||||||
showSearch: true,
|
|
||||||
// 总条数
|
|
||||||
total: 0,
|
|
||||||
// 设备数据表格数据
|
|
||||||
aiBoxProjectDataList: [],
|
|
||||||
// 弹出层标题
|
|
||||||
title: "",
|
|
||||||
// 是否显示弹出层
|
|
||||||
open: false,
|
|
||||||
// 查询参数
|
|
||||||
queryParams: {
|
|
||||||
pageNum: 1,
|
|
||||||
pageSize: 10,
|
|
||||||
projectId: null,
|
|
||||||
deptId: null,
|
|
||||||
deviceName: null,
|
|
||||||
alarmType: null,
|
|
||||||
plateNo: null,
|
|
||||||
},
|
|
||||||
// 表单参数
|
|
||||||
form: {},
|
|
||||||
// 表单校验
|
|
||||||
rules: {
|
|
||||||
}
|
|
||||||
};
|
|
||||||
},
|
|
||||||
created() {
|
|
||||||
this.getList();
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
/** 查询设备数据列表 */
|
|
||||||
getList() {
|
|
||||||
this.loading = true;
|
|
||||||
listAiBoxProjectData(this.queryParams).then(response => {
|
|
||||||
this.aiBoxProjectDataList = response.rows;
|
|
||||||
this.total = response.total;
|
|
||||||
this.loading = false;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
// 取消按钮
|
|
||||||
cancel() {
|
|
||||||
this.open = false;
|
|
||||||
this.reset();
|
|
||||||
},
|
|
||||||
// 表单重置
|
|
||||||
reset() {
|
|
||||||
this.form = {
|
|
||||||
id: null,
|
|
||||||
projectId: null,
|
|
||||||
deptId: null,
|
|
||||||
deviceId: null,
|
|
||||||
deviceName: null,
|
|
||||||
deviceAddr0: null,
|
|
||||||
deviceAddr1: null,
|
|
||||||
serialNumber: null,
|
|
||||||
ipcSerialNum: null,
|
|
||||||
ipcAddr: null,
|
|
||||||
imageUrl: null,
|
|
||||||
channelId: null,
|
|
||||||
channelName: null,
|
|
||||||
alarmType: null,
|
|
||||||
alarmId: null,
|
|
||||||
reportRate: null,
|
|
||||||
timestamp: null,
|
|
||||||
leftTopX: null,
|
|
||||||
leftTopY: null,
|
|
||||||
rightBtmX: null,
|
|
||||||
rightBtmY: null,
|
|
||||||
personNum: null,
|
|
||||||
inNum: null,
|
|
||||||
outNum: null,
|
|
||||||
plateNo: null,
|
|
||||||
valueType: null,
|
|
||||||
alarmVideourl: null,
|
|
||||||
alarmVideoName: null,
|
|
||||||
compareResult: null,
|
|
||||||
createTime: null,
|
|
||||||
isDel: null
|
|
||||||
};
|
|
||||||
this.resetForm("form");
|
|
||||||
},
|
|
||||||
/** 搜索按钮操作 */
|
|
||||||
handleQuery() {
|
|
||||||
this.queryParams.pageNum = 1;
|
|
||||||
this.getList();
|
|
||||||
},
|
|
||||||
/** 重置按钮操作 */
|
|
||||||
resetQuery() {
|
|
||||||
this.resetForm("queryForm");
|
|
||||||
this.handleQuery();
|
|
||||||
},
|
|
||||||
// 多选框选中数据
|
|
||||||
handleSelectionChange(selection) {
|
|
||||||
this.ids = selection.map(item => item.id)
|
|
||||||
this.single = selection.length!==1
|
|
||||||
this.multiple = !selection.length
|
|
||||||
},
|
|
||||||
/** 新增按钮操作 */
|
|
||||||
handleAdd() {
|
|
||||||
this.reset();
|
|
||||||
this.open = true;
|
|
||||||
this.title = "添加设备数据";
|
|
||||||
},
|
|
||||||
/** 修改按钮操作 */
|
|
||||||
handleUpdate(row) {
|
|
||||||
this.reset();
|
|
||||||
const id = row.id || this.ids
|
|
||||||
getAiBoxProjectData(id).then(response => {
|
|
||||||
this.form = response.data;
|
|
||||||
this.open = true;
|
|
||||||
this.title = "修改设备数据";
|
|
||||||
});
|
|
||||||
},
|
|
||||||
/** 提交按钮 */
|
|
||||||
submitForm() {
|
|
||||||
this.$refs["form"].validate(valid => {
|
|
||||||
if (valid) {
|
|
||||||
if (this.form.id != null) {
|
|
||||||
updateAiBoxProjectData(this.form).then(response => {
|
|
||||||
this.$modal.msgSuccess("修改成功");
|
|
||||||
this.open = false;
|
|
||||||
this.getList();
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
addAiBoxProjectData(this.form).then(response => {
|
|
||||||
this.$modal.msgSuccess("新增成功");
|
|
||||||
this.open = false;
|
|
||||||
this.getList();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
/** 删除按钮操作 */
|
|
||||||
handleDelete(row) {
|
|
||||||
const ids = row.id || this.ids;
|
|
||||||
this.$modal.confirm('是否确认删除设备数据编号为"' + ids + '"的数据项?').then(function() {
|
|
||||||
return delAiBoxProjectData(ids);
|
|
||||||
}).then(() => {
|
|
||||||
this.getList();
|
|
||||||
this.$modal.msgSuccess("删除成功");
|
|
||||||
}).catch(() => {});
|
|
||||||
},
|
|
||||||
/** 导出按钮操作 */
|
|
||||||
handleExport() {
|
|
||||||
this.download('project/aiBoxProjectData/export', {
|
|
||||||
...this.queryParams
|
|
||||||
}, `aiBoxProjectData_${new Date().getTime()}.xlsx`)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
|
|
@ -0,0 +1,256 @@
|
||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<el-form
|
||||||
|
:model="queryParams"
|
||||||
|
ref="queryForm"
|
||||||
|
size="small"
|
||||||
|
:inline="true"
|
||||||
|
v-show="showSearch"
|
||||||
|
label-width="68px"
|
||||||
|
>
|
||||||
|
<el-form-item label="项目名称" prop="projectName">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.projectName"
|
||||||
|
placeholder="请输入项目名称"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="单位名称" prop="deptName">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.deptName"
|
||||||
|
placeholder="请输入单位名称"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="预警类型" prop="alarmType">
|
||||||
|
<el-select v-model="queryParams.alarmType" placeholder="预警类型" clearable>
|
||||||
|
<el-option
|
||||||
|
v-for="dict in dict.type.aibox_alarm_type"
|
||||||
|
:key="dict.value"
|
||||||
|
:label="dict.label"
|
||||||
|
:value="dict.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="预警时间">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="daterangeMarksTime"
|
||||||
|
style="width: 240px"
|
||||||
|
value-format="yyyy-MM-dd"
|
||||||
|
type="daterange"
|
||||||
|
range-separator="-"
|
||||||
|
start-placeholder="开始日期"
|
||||||
|
end-placeholder="结束日期"
|
||||||
|
></el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item
|
||||||
|
label="责任主体"
|
||||||
|
prop="projectDeptId"
|
||||||
|
v-hasPermi="['project:project:zgs']"
|
||||||
|
>
|
||||||
|
<el-select
|
||||||
|
v-model="queryParams.projectDeptId"
|
||||||
|
placeholder="请选择责任主体"
|
||||||
|
clearable
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="dict in depts"
|
||||||
|
:key="dict.deptId"
|
||||||
|
:label="dict.deptName"
|
||||||
|
:value="dict.deptId"
|
||||||
|
></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"
|
||||||
|
>搜索</el-button
|
||||||
|
>
|
||||||
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
|
||||||
|
<el-table
|
||||||
|
v-loading="loading"
|
||||||
|
:data="dataList" stripe
|
||||||
|
>
|
||||||
|
<el-table-column
|
||||||
|
label="项目名称"
|
||||||
|
align="center"
|
||||||
|
prop="projectName"
|
||||||
|
width="260"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="单位名称"
|
||||||
|
align="center"
|
||||||
|
prop="deptName"
|
||||||
|
width="220"
|
||||||
|
/>
|
||||||
|
<el-table-column label="预警图片" align="center" property="path" width="220">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-image
|
||||||
|
ref="preview"
|
||||||
|
style="width: 200px; height: 100px"
|
||||||
|
:src="getSrc(scope.row.imageUrl)"
|
||||||
|
@click="onPreview(scope.row.imageUrl)"
|
||||||
|
>
|
||||||
|
</el-image>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="预警类型" align="center" prop="alarmType">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<dict-tag :options="dict.type.aibox_alarm_type" :value="scope.row.alarmType" />
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="设备通道"
|
||||||
|
align="center"
|
||||||
|
prop="channelName"
|
||||||
|
width="180"
|
||||||
|
show-overflow-tooltip
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="设备名称"
|
||||||
|
align="center"
|
||||||
|
prop="deviceName"
|
||||||
|
width="220"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="设备名称"
|
||||||
|
align="center"
|
||||||
|
prop="serialNumber"
|
||||||
|
width="220"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="预警时间"
|
||||||
|
align="center"
|
||||||
|
prop="createTime"
|
||||||
|
width="180"
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d} {h}:{i}:{s}") }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="数据状态" align="center" prop="isDel">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<dict-tag :options="dict.type.sys_common_isdel" :value="scope.row.isDel" />
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
|
||||||
|
<pagination
|
||||||
|
v-show="total > 0"
|
||||||
|
:total="total"
|
||||||
|
:page.sync="queryParams.pageNum"
|
||||||
|
:limit.sync="queryParams.pageSize"
|
||||||
|
@pagination="getList"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<el-image-viewer v-if="showViewer" :on-close="closeViewer" :url-list="srcList" />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { listAiBoxProjectData } from "@/api/project/aiBoxProjectData";
|
||||||
|
import ElImageViewer from "element-ui/packages/image/src/image-viewer";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "SspProblemmodify",
|
||||||
|
components: {
|
||||||
|
ElImageViewer,
|
||||||
|
},
|
||||||
|
dicts: ["aibox_alarm_type", "sys_common_isdel"],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
showViewer: false,
|
||||||
|
// 遮罩层
|
||||||
|
loading: true,
|
||||||
|
// 选中数组
|
||||||
|
ids: [],
|
||||||
|
// 非单个禁用
|
||||||
|
single: true,
|
||||||
|
// 非多个禁用
|
||||||
|
multiple: true,
|
||||||
|
// 显示搜索条件
|
||||||
|
showSearch: true,
|
||||||
|
// 总条数
|
||||||
|
total: 0,
|
||||||
|
// 安全整改表格数据
|
||||||
|
dataList: [],
|
||||||
|
// 弹出层标题
|
||||||
|
title: "",
|
||||||
|
// 是否显示弹出层
|
||||||
|
open: false,
|
||||||
|
openVideo: false,
|
||||||
|
videoSrc: null,
|
||||||
|
// 更新时间时间范围
|
||||||
|
daterangeMarksTime: [],
|
||||||
|
// 查询参数
|
||||||
|
queryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
projectId: null,
|
||||||
|
projectName: null,
|
||||||
|
deptId: null,
|
||||||
|
deptName: null,
|
||||||
|
projectDeptId: null,
|
||||||
|
},
|
||||||
|
depts: null,
|
||||||
|
// 表单参数
|
||||||
|
form: {},
|
||||||
|
// 表单校验
|
||||||
|
rules: {},
|
||||||
|
srcList: [],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getList();
|
||||||
|
this.$api.publics.getZgsDeptList().then((d) => {
|
||||||
|
this.depts = d?.data || [];
|
||||||
|
});
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
getSrc(url){
|
||||||
|
return url + '.min.jpg'
|
||||||
|
},
|
||||||
|
onPreview(urls) {
|
||||||
|
var arrayurls = urls.split(",");
|
||||||
|
this.srcList = [];
|
||||||
|
arrayurls.forEach((v, i) => {
|
||||||
|
this.srcList.push(v);
|
||||||
|
});
|
||||||
|
this.showViewer = true;
|
||||||
|
},
|
||||||
|
closeViewer() {
|
||||||
|
this.showViewer = false;
|
||||||
|
},
|
||||||
|
/** 查询安全整改列表 */
|
||||||
|
getList() {
|
||||||
|
this.loading = true;
|
||||||
|
this.queryParams.params = {};
|
||||||
|
if (null != this.daterangeMarksTime && "" != this.daterangeMarksTime) {
|
||||||
|
this.queryParams.params["beginMarksTime"] = this.daterangeMarksTime[0];
|
||||||
|
this.queryParams.params["endMarksTime"] = this.daterangeMarksTime[1];
|
||||||
|
}
|
||||||
|
listAiBoxProjectData(this.queryParams).then((response) => {
|
||||||
|
this.dataList = response.rows;
|
||||||
|
this.total = response.total;
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/** 搜索按钮操作 */
|
||||||
|
handleQuery() {
|
||||||
|
this.queryParams.pageNum = 1;
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
/** 重置按钮操作 */
|
||||||
|
resetQuery() {
|
||||||
|
this.queryParams.roleTypes=[];
|
||||||
|
this.daterangeMarksTime = [];
|
||||||
|
this.resetForm("queryForm");
|
||||||
|
this.handleQuery();
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
|
@ -3,11 +3,7 @@ package com.yanzhu.jh.project.controller;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
import com.ruoyi.common.core.text.Convert;
|
|
||||||
import com.ruoyi.common.enums.SysRoleEnum;
|
|
||||||
import com.ruoyi.system.service.ISysDeptService;
|
import com.ruoyi.system.service.ISysDeptService;
|
||||||
import com.yanzhu.jh.project.domain.SurProjectUnitInfo;
|
|
||||||
import com.yanzhu.jh.project.service.ISurProjectUnitInfoService;
|
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
|
|
@ -6,7 +6,6 @@ import java.util.List;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
import com.yanzhu.jh.project.domain.vo.MajorPlanExport;
|
import com.yanzhu.jh.project.domain.vo.MajorPlanExport;
|
||||||
import com.yanzhu.jh.project.domain.vo.SurProjectBuildNodeDataExport;
|
|
||||||
import com.yanzhu.jh.project.domain.vo.UrbanPlanExport;
|
import com.yanzhu.jh.project.domain.vo.UrbanPlanExport;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
|
@ -6,7 +6,6 @@ import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
import com.ruoyi.common.core.text.Convert;
|
import com.ruoyi.common.core.text.Convert;
|
||||||
import com.ruoyi.common.enums.SysRoleEnum;
|
import com.ruoyi.common.enums.SysRoleEnum;
|
||||||
import com.ruoyi.common.utils.file.ImageUtils;
|
|
||||||
import com.ruoyi.system.service.ISysDeptService;
|
import com.ruoyi.system.service.ISysDeptService;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package com.yanzhu.jh.project.mapper;
|
package com.yanzhu.jh.project.mapper;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import com.yanzhu.jh.project.domain.DevAiProjectConfig;
|
import com.yanzhu.jh.video.domain.DevAiProjectConfig;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设备配置Mapper接口
|
* 设备配置Mapper接口
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package com.yanzhu.jh.project.mapper;
|
package com.yanzhu.jh.project.mapper;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import com.yanzhu.jh.project.domain.DevAiProjectData;
|
import com.yanzhu.jh.video.domain.DevAiProjectData;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设备数据Mapper接口
|
* 设备数据Mapper接口
|
||||||
|
|
|
@ -1,10 +1,13 @@
|
||||||
package com.yanzhu.jh.publics;
|
package com.yanzhu.jh.publics;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
import com.yanzhu.jh.project.domain.DevAiProjectData;
|
import com.yanzhu.jh.video.domain.DevAiProjectDataVO;
|
||||||
import com.yanzhu.jh.project.domain.vo.DevAiProjectDataVO;
|
import com.yanzhu.jh.video.service.IDevAiProjectDataService;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
@ -23,6 +26,9 @@ import java.util.Map;
|
||||||
@RequestMapping("/publics/aiBox")
|
@RequestMapping("/publics/aiBox")
|
||||||
public class AIBoxController extends BaseController {
|
public class AIBoxController extends BaseController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IDevAiProjectDataService devAiProjectDataService;
|
||||||
|
|
||||||
private static final Logger logger = LoggerFactory.getLogger("AIBoxController");
|
private static final Logger logger = LoggerFactory.getLogger("AIBoxController");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -32,13 +38,12 @@ public class AIBoxController extends BaseController {
|
||||||
public void list(@RequestBody Map<String,Object> dataMap)
|
public void list(@RequestBody Map<String,Object> dataMap)
|
||||||
{
|
{
|
||||||
try{
|
try{
|
||||||
List<DevAiProjectDataVO> devAiProjectDataVOs = (List<DevAiProjectDataVO>)dataMap.get("BehaviorResults");
|
List<Map<String,Object>> list = (List<Map<String,Object>>)dataMap.get("BehaviorResults");
|
||||||
if(devAiProjectDataVOs!=null && devAiProjectDataVOs.size()>0){
|
DevAiProjectDataVO devAiProjectDataVO = JSON.parseObject(JSONObject.toJSONString(list.get(0)), DevAiProjectDataVO.class);
|
||||||
DevAiProjectDataVO devAiProjectDataVO = devAiProjectDataVOs.get(0);
|
devAiProjectDataService.insertHttpDevAiProjectData(devAiProjectDataVO);
|
||||||
|
|
||||||
}
|
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
logger.info("AiBox解析参数失败!!!");
|
logger.info("AiBox解析参数失败!!!");
|
||||||
|
logger.info(dataMap.toString());
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package com.yanzhu.jh.project.controller;
|
package com.yanzhu.jh.video.controller;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
@ -16,8 +16,8 @@ import com.ruoyi.common.annotation.Log;
|
||||||
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
import com.ruoyi.common.enums.BusinessType;
|
import com.ruoyi.common.enums.BusinessType;
|
||||||
import com.yanzhu.jh.project.domain.DevAiProjectConfig;
|
import com.yanzhu.jh.video.domain.DevAiProjectConfig;
|
||||||
import com.yanzhu.jh.project.service.IDevAiProjectConfigService;
|
import com.yanzhu.jh.video.service.IDevAiProjectConfigService;
|
||||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||||
import com.ruoyi.common.core.page.TableDataInfo;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
|
|
|
@ -1,7 +1,11 @@
|
||||||
package com.yanzhu.jh.project.controller;
|
package com.yanzhu.jh.video.controller;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.text.Convert;
|
||||||
|
import com.ruoyi.common.enums.SysRoleEnum;
|
||||||
|
import com.ruoyi.system.service.ISysDeptService;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
@ -16,8 +20,8 @@ import com.ruoyi.common.annotation.Log;
|
||||||
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
import com.ruoyi.common.enums.BusinessType;
|
import com.ruoyi.common.enums.BusinessType;
|
||||||
import com.yanzhu.jh.project.domain.DevAiProjectData;
|
import com.yanzhu.jh.video.domain.DevAiProjectData;
|
||||||
import com.yanzhu.jh.project.service.IDevAiProjectDataService;
|
import com.yanzhu.jh.video.service.IDevAiProjectDataService;
|
||||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||||
import com.ruoyi.common.core.page.TableDataInfo;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
|
|
||||||
|
@ -31,6 +35,9 @@ import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
@RequestMapping("/project/aiBoxProjectData")
|
@RequestMapping("/project/aiBoxProjectData")
|
||||||
public class DevAiProjectDataController extends BaseController
|
public class DevAiProjectDataController extends BaseController
|
||||||
{
|
{
|
||||||
|
@Autowired
|
||||||
|
private ISysDeptService sysDeptService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IDevAiProjectDataService devAiProjectDataService;
|
private IDevAiProjectDataService devAiProjectDataService;
|
||||||
|
|
||||||
|
@ -42,6 +49,14 @@ public class DevAiProjectDataController extends BaseController
|
||||||
public TableDataInfo list(DevAiProjectData devAiProjectData)
|
public TableDataInfo list(DevAiProjectData devAiProjectData)
|
||||||
{
|
{
|
||||||
startPage();
|
startPage();
|
||||||
|
devAiProjectData.setNowRole(Convert.toStr(getUserFirstRole()));
|
||||||
|
if(SysRoleEnum.ZGS.getCode().equals(devAiProjectData.getNowRole())){
|
||||||
|
devAiProjectData.setNowDept(Convert.toStr(sysDeptService.getZGSDeptId(getDeptId())));
|
||||||
|
}else{
|
||||||
|
devAiProjectData.setNowDept(Convert.toStr(getDeptId()));
|
||||||
|
}
|
||||||
|
devAiProjectData.setNowUser(Convert.toStr(getUserId()));
|
||||||
|
devAiProjectData.setNowUserName(getUsername());
|
||||||
List<DevAiProjectData> list = devAiProjectDataService.selectDevAiProjectDataList(devAiProjectData);
|
List<DevAiProjectData> list = devAiProjectDataService.selectDevAiProjectDataList(devAiProjectData);
|
||||||
return getDataTable(list);
|
return getDataTable(list);
|
||||||
}
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
package com.yanzhu.jh.project.domain;
|
package com.yanzhu.jh.video.domain;
|
||||||
|
|
||||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
import org.apache.commons.lang3.builder.ToStringStyle;
|
|
@ -1,4 +1,4 @@
|
||||||
package com.yanzhu.jh.project.domain;
|
package com.yanzhu.jh.video.domain;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
@ -24,10 +24,14 @@ public class DevAiProjectData extends BaseEntity
|
||||||
@Excel(name = "项目主键")
|
@Excel(name = "项目主键")
|
||||||
private Long projectId;
|
private Long projectId;
|
||||||
|
|
||||||
|
private String projectName;
|
||||||
|
|
||||||
/** 部门主键 */
|
/** 部门主键 */
|
||||||
@Excel(name = "部门主键")
|
@Excel(name = "部门主键")
|
||||||
private Long deptId;
|
private Long deptId;
|
||||||
|
|
||||||
|
private String deptName;
|
||||||
|
|
||||||
/** 设备ID */
|
/** 设备ID */
|
||||||
@Excel(name = "设备ID")
|
@Excel(name = "设备ID")
|
||||||
private Long deviceId;
|
private Long deviceId;
|
||||||
|
@ -137,7 +141,23 @@ public class DevAiProjectData extends BaseEntity
|
||||||
@Excel(name = "数据状态")
|
@Excel(name = "数据状态")
|
||||||
private String isDel;
|
private String isDel;
|
||||||
|
|
||||||
public void setId(Long id)
|
public String getProjectName() {
|
||||||
|
return projectName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProjectName(String projectName) {
|
||||||
|
this.projectName = projectName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDeptName() {
|
||||||
|
return deptName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDeptName(String deptName) {
|
||||||
|
this.deptName = deptName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(Long id)
|
||||||
{
|
{
|
||||||
this.id = id;
|
this.id = id;
|
||||||
}
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
package com.yanzhu.jh.project.domain.vo;
|
package com.yanzhu.jh.video.domain;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
|
@ -1,7 +1,7 @@
|
||||||
package com.yanzhu.jh.project.service;
|
package com.yanzhu.jh.video.service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import com.yanzhu.jh.project.domain.DevAiProjectConfig;
|
import com.yanzhu.jh.video.domain.DevAiProjectConfig;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设备配置Service接口
|
* 设备配置Service接口
|
|
@ -1,8 +1,8 @@
|
||||||
package com.yanzhu.jh.project.service;
|
package com.yanzhu.jh.video.service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import com.yanzhu.jh.project.domain.DevAiProjectData;
|
import com.yanzhu.jh.video.domain.DevAiProjectData;
|
||||||
import com.yanzhu.jh.project.domain.vo.DevAiProjectDataVO;
|
import com.yanzhu.jh.video.domain.DevAiProjectDataVO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设备数据Service接口
|
* 设备数据Service接口
|
|
@ -1,12 +1,12 @@
|
||||||
package com.yanzhu.jh.project.service.impl;
|
package com.yanzhu.jh.video.service.impl;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import com.ruoyi.common.utils.DateUtils;
|
import com.ruoyi.common.utils.DateUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.yanzhu.jh.project.mapper.DevAiProjectConfigMapper;
|
import com.yanzhu.jh.project.mapper.DevAiProjectConfigMapper;
|
||||||
import com.yanzhu.jh.project.domain.DevAiProjectConfig;
|
import com.yanzhu.jh.video.domain.DevAiProjectConfig;
|
||||||
import com.yanzhu.jh.project.service.IDevAiProjectConfigService;
|
import com.yanzhu.jh.video.service.IDevAiProjectConfigService;
|
||||||
import com.ruoyi.common.utils.SecurityUtils;
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
/**
|
/**
|
||||||
* 设备配置Service业务层处理
|
* 设备配置Service业务层处理
|
|
@ -1,4 +1,4 @@
|
||||||
package com.yanzhu.jh.project.service.impl;
|
package com.yanzhu.jh.video.service.impl;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -8,15 +8,14 @@ import com.ruoyi.common.enums.PublicStateEnum;
|
||||||
import com.ruoyi.common.utils.DateUtils;
|
import com.ruoyi.common.utils.DateUtils;
|
||||||
import com.ruoyi.common.utils.file.FileUploadUtils;
|
import com.ruoyi.common.utils.file.FileUploadUtils;
|
||||||
import com.ruoyi.common.utils.file.MultipartFileUtils;
|
import com.ruoyi.common.utils.file.MultipartFileUtils;
|
||||||
import com.yanzhu.jh.project.domain.vo.DevAiProjectDataVO;
|
import com.yanzhu.jh.video.domain.DevAiProjectDataVO;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.yanzhu.jh.project.mapper.DevAiProjectDataMapper;
|
import com.yanzhu.jh.project.mapper.DevAiProjectDataMapper;
|
||||||
import com.yanzhu.jh.project.domain.DevAiProjectData;
|
import com.yanzhu.jh.video.domain.DevAiProjectData;
|
||||||
import com.yanzhu.jh.project.service.IDevAiProjectDataService;
|
import com.yanzhu.jh.video.service.IDevAiProjectDataService;
|
||||||
import com.ruoyi.common.utils.SecurityUtils;
|
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -79,7 +78,7 @@ public class DevAiProjectDataServiceImpl implements IDevAiProjectDataService
|
||||||
@Override
|
@Override
|
||||||
public void insertHttpDevAiProjectData(DevAiProjectDataVO devAiProjectDataVO)
|
public void insertHttpDevAiProjectData(DevAiProjectDataVO devAiProjectDataVO)
|
||||||
{
|
{
|
||||||
logger.info("上报消息解析成功!!开始转换实体!!!");
|
logger.info("AiBox消息解析成功!!开始转换实体!!!");
|
||||||
DevAiProjectData devAiProjectData = new DevAiProjectData();
|
DevAiProjectData devAiProjectData = new DevAiProjectData();
|
||||||
devAiProjectData.setDeviceId(devAiProjectDataVO.getDeviceId());
|
devAiProjectData.setDeviceId(devAiProjectDataVO.getDeviceId());
|
||||||
/** 设备名称 */
|
/** 设备名称 */
|
||||||
|
@ -133,7 +132,7 @@ public class DevAiProjectDataServiceImpl implements IDevAiProjectDataService
|
||||||
logger.info("实体转换成功!!Base64开始转换图片!!!");
|
logger.info("实体转换成功!!Base64开始转换图片!!!");
|
||||||
String objImg64 = devAiProjectDataVO.getBigImage().get("Image").toString();
|
String objImg64 = devAiProjectDataVO.getBigImage().get("Image").toString();
|
||||||
try {
|
try {
|
||||||
MultipartFile file = MultipartFileUtils.base64ToMultipartFile(objImg64);
|
MultipartFile file = MultipartFileUtils.base64ToMultipartFile("data:image/png;base64,"+objImg64);
|
||||||
// 上传文件路径
|
// 上传文件路径
|
||||||
String filePath = RuoYiConfig.getUploadPath();
|
String filePath = RuoYiConfig.getUploadPath();
|
||||||
// 上传并返回新文件名称
|
// 上传并返回新文件名称
|
|
@ -7,7 +7,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<resultMap type="DevAiProjectData" id="DevAiProjectDataResult">
|
<resultMap type="DevAiProjectData" id="DevAiProjectDataResult">
|
||||||
<result property="id" column="id" />
|
<result property="id" column="id" />
|
||||||
<result property="projectId" column="project_id" />
|
<result property="projectId" column="project_id" />
|
||||||
|
<result property="projectName" column="projectName" />
|
||||||
<result property="deptId" column="dept_id" />
|
<result property="deptId" column="dept_id" />
|
||||||
|
<result property="deptName" column="deptName" />
|
||||||
<result property="deviceId" column="device_id" />
|
<result property="deviceId" column="device_id" />
|
||||||
<result property="deviceName" column="device_name" />
|
<result property="deviceName" column="device_name" />
|
||||||
<result property="deviceAddr0" column="device_addr0" />
|
<result property="deviceAddr0" column="device_addr0" />
|
||||||
|
@ -39,23 +41,38 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="selectDevAiProjectDataVo">
|
<sql id="selectDevAiProjectDataVo">
|
||||||
select id, project_id, dept_id, device_id, device_name, device_addr0, device_addr1, serial_number, ipc_serial_num, ipc_addr, image_url, channel_id, channel_name, alarm_type, alarm_id, report_rate, timestamp, left_top_x, left_top_y, right_btm_x, right_btm_y, person_num, in_num, out_num, plate_no, value_type, alarm_videoURL, alarm_video_name, compare_result, create_time, is_del from dev_ai_project_data
|
select dapd.id, dapd.project_id, sp.projectName, dapd.dept_id, sd.dept_name as deptName, dapd.device_id, dapd.device_name, dapd.device_addr0, dapd.device_addr1, dapd.serial_number, dapd.ipc_serial_num, dapd.ipc_addr, dapd.image_url, dapd.channel_id, dapd.channel_name, dapd.alarm_type, dapd.alarm_id, dapd.report_rate, dapd.timestamp, dapd.left_top_x, dapd.left_top_y, dapd.right_btm_x, dapd.right_btm_y, dapd.person_num, dapd.in_num, dapd.out_num, dapd.plate_no, dapd.value_type, dapd.alarm_videoURL, dapd.alarm_video_name, dapd.compare_result, dapd.create_time, dapd.is_del from dev_ai_project_data dapd
|
||||||
|
left join sur_project sp on sp.id=dapd.project_id
|
||||||
|
left join sys_dept sd on sd.dept_id=dapd.dept_id
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<select id="selectDevAiProjectDataList" parameterType="DevAiProjectData" resultMap="DevAiProjectDataResult">
|
<select id="selectDevAiProjectDataList" parameterType="DevAiProjectData" resultMap="DevAiProjectDataResult">
|
||||||
<include refid="selectDevAiProjectDataVo"/>
|
<include refid="selectDevAiProjectDataVo"/>
|
||||||
<where>
|
<where>
|
||||||
<if test="projectId != null "> and project_id = #{projectId}</if>
|
and dapd.is_del='0'
|
||||||
<if test="deptId != null "> and dept_id = #{deptId}</if>
|
<if test="projectId != null "> and dapd.project_id = #{projectId}</if>
|
||||||
<if test="deviceName != null and deviceName != ''"> and device_name like concat('%', #{deviceName}, '%')</if>
|
<if test="projectName != null and projectName != ''"> and sp.projectName like concat('%', #{projectName}, '%')</if>
|
||||||
<if test="alarmType != null "> and alarm_type = #{alarmType}</if>
|
<if test="deptId != null "> and dapd.dept_id = #{deptId}</if>
|
||||||
<if test="plateNo != null "> and plate_no = #{plateNo}</if>
|
<if test="deptName != null and deptName != ''"> and sd.dept_name like concat('%', #{deptName}, '%')</if>
|
||||||
|
<if test="deviceName != null and deviceName != ''"> and dapd.device_name like concat('%', #{deviceName}, '%')</if>
|
||||||
|
<if test="alarmType != null "> and dapd.alarm_type = #{alarmType}</if>
|
||||||
|
<if test="plateNo != null "> and dapd.plate_no = #{plateNo}</if>
|
||||||
|
<!-- 查询条件-项目部门 -->
|
||||||
|
<if test="projectDeptId != null "> and sp.deptId = #{projectDeptId}</if>
|
||||||
|
<!--子部门数据-->
|
||||||
|
<if test='nowRole == "4"'> and sp.deptId = #{nowDept}</if>
|
||||||
|
<!--监理单位/总包公司/分包单位查询当前关联数据-->
|
||||||
|
<if test='nowRole == "5" or nowRole == "6" or nowRole == "7"'> and sp.id in (select spui.projectId from sur_project_unit_info spui where spui.unitId = #{nowDept} and spui.del_flag=0 )</if>
|
||||||
|
<!--普通用户查询项目人员-->
|
||||||
|
<if test='nowRole == "15" or nowRole == "16" or nowRole == "17" or nowRole == "99"'>
|
||||||
|
and sp.id in (select spu.project_id from sur_project_userinfo spu where spu.user_id = #{nowUser} and spu.is_del=0)
|
||||||
|
</if>
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectDevAiProjectDataById" parameterType="Long" resultMap="DevAiProjectDataResult">
|
<select id="selectDevAiProjectDataById" parameterType="Long" resultMap="DevAiProjectDataResult">
|
||||||
<include refid="selectDevAiProjectDataVo"/>
|
<include refid="selectDevAiProjectDataVo"/>
|
||||||
where id = #{id}
|
where dapd.id = #{id}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<insert id="insertDevAiProjectData" parameterType="DevAiProjectData" useGeneratedKeys="true" keyProperty="id">
|
<insert id="insertDevAiProjectData" parameterType="DevAiProjectData" useGeneratedKeys="true" keyProperty="id">
|
Loading…
Reference in New Issue