提交代码
parent
0036578c0e
commit
d7e13004b2
|
@ -120,28 +120,48 @@
|
||||||
<el-switch v-model="form.isDel" active-value="0" inactive-value="1"></el-switch>
|
<el-switch v-model="form.isDel" active-value="0" inactive-value="1"></el-switch>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-divider content-position="center">AI视频通道信息</el-divider>
|
<el-divider content-position="center">AI视频通道信息</el-divider>
|
||||||
<el-row :gutter="10" class="mb8">
|
<!-- <el-row :gutter="10" class="mb8">
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAddDevAiProjectConfigPassage">添加</el-button>
|
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAddDevAiProjectConfigPassage">添加</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDeleteDevAiProjectConfigPassage">删除</el-button>
|
<el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDeleteDevAiProjectConfigPassage">删除</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row> -->
|
||||||
<el-table :data="devAiProjectConfigPassageList" :row-class-name="rowDevAiProjectConfigPassageIndex" @selection-change="handleDevAiProjectConfigPassageSelectionChange" ref="devAiProjectConfigPassage">
|
<el-table :data="devAiProjectConfigPassageList" :row-class-name="rowDevAiProjectConfigPassageIndex" ref="devAiProjectConfigPassage">
|
||||||
<el-table-column type="selection" width="50" align="center" />
|
|
||||||
<el-table-column label="序号" align="center" prop="index" width="60"/>
|
<el-table-column label="序号" align="center" prop="index" width="60"/>
|
||||||
<el-table-column label="AI通道号" prop="channelId" width="150" align="center" >
|
<el-table-column label="视频通道" align="center" prop="passageValue" width="100">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-input v-model="scope.row.channelId" placeholder="请输入AI通道号" required maxlength="10"/>
|
<el-input v-model="scope.row.passageValue" placeholder="视频通道" :disabled="true"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="AI通道名称" prop="channelName" width="210" align="center" >
|
<el-table-column label="AI通道号" prop="channelId" width="120" align="center" >
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-input v-model="scope.row.channelName" placeholder="请输入AI通道名称" required maxlength="50"/>
|
<el-input v-model="scope.row.channelId" placeholder="AI通道号" maxlength="10" type="number"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="是否重要" prop="isImportance" width="210" align="center" >
|
<el-table-column label="AI通道名称" prop="channelName" width="150" align="center" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input v-model="scope.row.channelName" placeholder="AI通道名称" maxlength="50"/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="预警类型" align="center" prop="passageTypes" width="150">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-select
|
||||||
|
v-model="scope.row.passageTypes"
|
||||||
|
placeholder="选择预警类型"
|
||||||
|
multiple
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="dict in dict.type.aibox_alarm_type"
|
||||||
|
:key="dict.value"
|
||||||
|
:label="dict.label"
|
||||||
|
:value="dict.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="是否重要" prop="isImportance" width="100" align="center" >
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-switch v-model="scope.row.isImportance" active-value="Y" inactive-value="N"></el-switch>
|
<el-switch v-model="scope.row.isImportance" active-value="Y" inactive-value="N"></el-switch>
|
||||||
</template>
|
</template>
|
||||||
|
@ -159,11 +179,11 @@
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { listAiBoxProjectConfig, getAiBoxProjectConfig, delAiBoxProjectConfig, addAiBoxProjectConfig, updateAiBoxProjectConfig } from "@/api/video/aiBoxProjectConfig";
|
import { listAiBoxProjectConfig, getAiBoxProjectConfig, delAiBoxProjectConfig, addAiBoxProjectConfig, updateAiBoxProjectConfig } from "@/api/video/aiBoxProjectConfig";
|
||||||
import { listVideoConfig } from "@/api/video/videoConfig";
|
import { listVideoConfig, getVideoConfig } from "@/api/video/videoConfig";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "AiBoxProjectConfig",
|
name: "AiBoxProjectConfig",
|
||||||
dicts: ["project_video_type", "project_video_signal_state"],
|
dicts: ["project_video_type", "project_video_signal_state","aibox_alarm_type"],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
// 遮罩层
|
// 遮罩层
|
||||||
|
@ -227,6 +247,7 @@ export default {
|
||||||
},
|
},
|
||||||
isOpen: false,
|
isOpen: false,
|
||||||
deptVideo:false,
|
deptVideo:false,
|
||||||
|
deptVideoId:null,
|
||||||
projectOptions:[],
|
projectOptions:[],
|
||||||
nodes:[],
|
nodes:[],
|
||||||
unitActiveName: "",
|
unitActiveName: "",
|
||||||
|
@ -277,7 +298,9 @@ export default {
|
||||||
listVideoConfig(param).then(response => {
|
listVideoConfig(param).then(response => {
|
||||||
if(response.total>0){
|
if(response.total>0){
|
||||||
this.deptVideo=true;
|
this.deptVideo=true;
|
||||||
|
this.deptVideoId=response.rows[0].id;
|
||||||
}else{
|
}else{
|
||||||
|
this.deptVideoId=null;
|
||||||
this.deptVideo=false;
|
this.deptVideo=false;
|
||||||
this.$message.error(this.deptName+"未配置视频监控信息,请先配置实时视频!");
|
this.$message.error(this.deptName+"未配置视频监控信息,请先配置实时视频!");
|
||||||
}
|
}
|
||||||
|
@ -333,6 +356,17 @@ export default {
|
||||||
this.form.projectId = this.project.id;
|
this.form.projectId = this.project.id;
|
||||||
this.form.projectName = this.project.projectName;
|
this.form.projectName = this.project.projectName;
|
||||||
this.form.deptId = this.unitActiveName;
|
this.form.deptId = this.unitActiveName;
|
||||||
|
// 查询视频通道
|
||||||
|
getVideoConfig(this.deptVideoId).then(response => {
|
||||||
|
this.devAiProjectConfigPassageList=[];
|
||||||
|
response.data.surProjectVideoPassageList.forEach((item,idx) => {
|
||||||
|
this.devAiProjectConfigPassageList.push({videoPassageId:item.id,passageValue:item.passageValue});
|
||||||
|
})
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/** AI视频配置通道序号 */
|
||||||
|
rowDevAiProjectConfigPassageIndex({ row, rowIndex }) {
|
||||||
|
row.index = rowIndex + 1;
|
||||||
},
|
},
|
||||||
/** 修改按钮操作 */
|
/** 修改按钮操作 */
|
||||||
handleUpdate(row) {
|
handleUpdate(row) {
|
||||||
|
@ -381,10 +415,6 @@ export default {
|
||||||
})
|
})
|
||||||
.catch(() => {});
|
.catch(() => {});
|
||||||
},
|
},
|
||||||
/** 视频通道序号 */
|
|
||||||
rowSurProjectVideoPassageIndex({ row, rowIndex }) {
|
|
||||||
row.index = rowIndex + 1;
|
|
||||||
},
|
|
||||||
/** 视频通道添加按钮操作 */
|
/** 视频通道添加按钮操作 */
|
||||||
handleAddSurProjectVideoPassage() {
|
handleAddSurProjectVideoPassage() {
|
||||||
let obj = {};
|
let obj = {};
|
||||||
|
|
|
@ -190,28 +190,48 @@
|
||||||
<el-switch v-model="form.isDel" active-value="0" inactive-value="1"></el-switch>
|
<el-switch v-model="form.isDel" active-value="0" inactive-value="1"></el-switch>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-divider content-position="center">AI视频通道信息</el-divider>
|
<el-divider content-position="center">AI视频通道信息</el-divider>
|
||||||
<el-row :gutter="10" class="mb8">
|
<!-- <el-row :gutter="10" class="mb8">
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAddDevAiProjectConfigPassage">添加</el-button>
|
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAddDevAiProjectConfigPassage">添加</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDeleteDevAiProjectConfigPassage">删除</el-button>
|
<el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDeleteDevAiProjectConfigPassage">删除</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row> -->
|
||||||
<el-table :data="devAiProjectConfigPassageList" :row-class-name="rowDevAiProjectConfigPassageIndex" @selection-change="handleDevAiProjectConfigPassageSelectionChange" ref="devAiProjectConfigPassage">
|
<el-table :data="devAiProjectConfigPassageList" :row-class-name="rowDevAiProjectConfigPassageIndex" @selection-change="handleDevAiProjectConfigPassageSelectionChange" ref="devAiProjectConfigPassage">
|
||||||
<el-table-column type="selection" width="50" align="center" />
|
|
||||||
<el-table-column label="序号" align="center" prop="index" width="60"/>
|
<el-table-column label="序号" align="center" prop="index" width="60"/>
|
||||||
<el-table-column label="AI通道号" prop="channelId" width="150" align="center" >
|
<el-table-column label="视频通道" align="center" prop="passageValue" width="100">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-input v-model="scope.row.channelId" placeholder="请输入AI通道号" required maxlength="10"/>
|
<el-input v-model="scope.row.passageValue" placeholder="请输入视频通道" :disabled="true"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="AI通道名称" prop="channelName" width="210" align="center" >
|
<el-table-column label="AI通道号" prop="channelId" width="120" align="center" >
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-input v-model="scope.row.channelName" placeholder="请输入AI通道名称" required maxlength="50"/>
|
<el-input v-model="scope.row.channelId" placeholder="请输入AI通道号" maxlength="10" type="number"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="是否重要" prop="isImportance" width="210" align="center" >
|
<el-table-column label="AI通道名称" prop="channelName" width="150" align="center" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input v-model="scope.row.channelName" placeholder="请输入AI通道名称" maxlength="50"/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="预警类型" align="center" prop="passageTypes" width="150">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-select
|
||||||
|
v-model="scope.row.passageTypes"
|
||||||
|
placeholder="选择预警类型"
|
||||||
|
multiple
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="dict in dict.type.aibox_alarm_type"
|
||||||
|
:key="dict.value"
|
||||||
|
:label="dict.label"
|
||||||
|
:value="dict.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="是否重要" prop="isImportance" width="100" align="center" >
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-switch v-model="scope.row.isImportance" active-value="Y" inactive-value="N"></el-switch>
|
<el-switch v-model="scope.row.isImportance" active-value="Y" inactive-value="N"></el-switch>
|
||||||
</template>
|
</template>
|
||||||
|
@ -228,10 +248,10 @@
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { listAiBoxProjectConfig, getAiBoxProjectConfig, delAiBoxProjectConfig, addAiBoxProjectConfig, updateAiBoxProjectConfig } from "@/api/video/aiBoxProjectConfig";
|
import { listAiBoxProjectConfig, getAiBoxProjectConfig, delAiBoxProjectConfig, addAiBoxProjectConfig, updateAiBoxProjectConfig } from "@/api/video/aiBoxProjectConfig";
|
||||||
import { listVideoConfig } from "@/api/video/videoConfig";
|
import { listVideoConfig,getVideoConfig } from "@/api/video/videoConfig";
|
||||||
export default {
|
export default {
|
||||||
name: "AiBoxProjectConfig",
|
name: "AiBoxProjectConfig",
|
||||||
dicts: ["sys_normal_disable"],
|
dicts: ["sys_normal_disable","aibox_alarm_type"],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
// 遮罩层
|
// 遮罩层
|
||||||
|
@ -290,6 +310,7 @@ export default {
|
||||||
isDel: [{ required: true, message: "请选择设备状态", trigger: "blur" }],
|
isDel: [{ required: true, message: "请选择设备状态", trigger: "blur" }],
|
||||||
},
|
},
|
||||||
deptVideo:false,
|
deptVideo:false,
|
||||||
|
deptVideoId:null,
|
||||||
projectOptions:[],
|
projectOptions:[],
|
||||||
deptOptions:[]
|
deptOptions:[]
|
||||||
};
|
};
|
||||||
|
@ -331,8 +352,17 @@ export default {
|
||||||
listVideoConfig(param).then(response => {
|
listVideoConfig(param).then(response => {
|
||||||
if(response.total>0){
|
if(response.total>0){
|
||||||
this.deptVideo=true;
|
this.deptVideo=true;
|
||||||
|
this.deptVideoId=response.rows[0].id;
|
||||||
|
// 查询视频通道
|
||||||
|
getVideoConfig(this.deptVideoId).then(response => {
|
||||||
|
this.devAiProjectConfigPassageList=[];
|
||||||
|
response.data.surProjectVideoPassageList.forEach((item,idx) => {
|
||||||
|
this.devAiProjectConfigPassageList.push({videoPassageId:item.id,passageValue:item.passageValue});
|
||||||
|
})
|
||||||
|
});
|
||||||
}else{
|
}else{
|
||||||
this.deptVideo=false;
|
this.deptVideo=false;
|
||||||
|
this.deptVideoId=null;
|
||||||
this.$message.error("当前单位未配置视频监控信息,请先配置实时视频!");
|
this.$message.error("当前单位未配置视频监控信息,请先配置实时视频!");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -0,0 +1,69 @@
|
||||||
|
package com.yanzhu.jh.bigscreen.web.controller;
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
|
import com.ruoyi.common.core.text.Convert;
|
||||||
|
import com.yanzhu.jh.video.domain.DevAiProjectData;
|
||||||
|
import com.yanzhu.jh.video.service.IDevAiProjectDataService;
|
||||||
|
import com.yanzhu.jh.video.service.ISurProjectVideoConfigService;
|
||||||
|
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.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 实时视频Conller
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/bgscreen/aiBoxVideo")
|
||||||
|
public class VideoAiBoxController extends BaseController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IDevAiProjectDataService devAiProjectDataService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ISurProjectVideoConfigService surProjectVideoConfigService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询AI预警列表
|
||||||
|
*/
|
||||||
|
@GetMapping("/listView")
|
||||||
|
public AjaxResult listView(String deptId, String projectId)
|
||||||
|
{
|
||||||
|
DevAiProjectData devAiProjectData = new DevAiProjectData();
|
||||||
|
if(deptId!=null && !"0".equals(deptId)){
|
||||||
|
devAiProjectData.setProjectDeptId(deptId);
|
||||||
|
}
|
||||||
|
if(projectId!=null && !"0".equals(projectId)){
|
||||||
|
devAiProjectData.setProjectId(Convert.toLong(projectId));
|
||||||
|
}
|
||||||
|
Map<String, Object> params = new HashMap<>();
|
||||||
|
params.put("limit",100);
|
||||||
|
devAiProjectData.setParams(params);
|
||||||
|
List<DevAiProjectData> list = devAiProjectDataService.selectDevAiProjectDataList(devAiProjectData);
|
||||||
|
return success(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取视频配置详细信息
|
||||||
|
*/
|
||||||
|
@GetMapping(value = "/getVideoPassage")
|
||||||
|
public AjaxResult getVideoPassage(String deptId, String projectId, String importance)
|
||||||
|
{
|
||||||
|
Map<String, Object> map = new HashMap<>();
|
||||||
|
if(deptId!=null && !"0".equals(deptId)){
|
||||||
|
map.put("deptId",deptId);
|
||||||
|
}
|
||||||
|
if(projectId!=null && !"0".equals(projectId)){
|
||||||
|
map.put("projectId",projectId);
|
||||||
|
}
|
||||||
|
if(projectId!=null && !"".equals(importance)){
|
||||||
|
map.put("importance",importance);
|
||||||
|
}
|
||||||
|
return success(surProjectVideoConfigService.selectSurProjectVideoConfigByParams(map));
|
||||||
|
}
|
||||||
|
}
|
|
@ -18,7 +18,6 @@ import java.util.List;
|
||||||
@RequestMapping("/bgscreen/video")
|
@RequestMapping("/bgscreen/video")
|
||||||
public class VideoController extends BaseController {
|
public class VideoController extends BaseController {
|
||||||
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ISurProjectVideoConfigService surProjectVideoConfigService;
|
private ISurProjectVideoConfigService surProjectVideoConfigService;
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,8 @@ import org.apache.commons.lang3.builder.ToStringStyle;
|
||||||
import com.ruoyi.common.annotation.Excel;
|
import com.ruoyi.common.annotation.Excel;
|
||||||
import com.ruoyi.common.core.domain.BaseEntity;
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设备配置通道对象 dev_ai_project_config_passage
|
* 设备配置通道对象 dev_ai_project_config_passage
|
||||||
*
|
*
|
||||||
|
@ -18,6 +20,14 @@ public class DevAiProjectConfigPassage extends BaseEntity
|
||||||
/** 主键 */
|
/** 主键 */
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
|
/** 视频通道主键 */
|
||||||
|
@Excel(name = "视频通道主键")
|
||||||
|
private Integer videoPassageId;
|
||||||
|
|
||||||
|
/** 视频通道 */
|
||||||
|
@Excel(name = "视频通道")
|
||||||
|
private Integer passageValue;
|
||||||
|
|
||||||
/** ai盒子主键 */
|
/** ai盒子主键 */
|
||||||
@Excel(name = "ai盒子主键")
|
@Excel(name = "ai盒子主键")
|
||||||
private Long aiboxId;
|
private Long aiboxId;
|
||||||
|
@ -34,10 +44,16 @@ public class DevAiProjectConfigPassage extends BaseEntity
|
||||||
@Excel(name = "是否重要")
|
@Excel(name = "是否重要")
|
||||||
private String isImportance;
|
private String isImportance;
|
||||||
|
|
||||||
|
/** 检测类型 */
|
||||||
|
@Excel(name = "检测类型")
|
||||||
|
private String passageType;
|
||||||
|
|
||||||
/** 数据状态 */
|
/** 数据状态 */
|
||||||
@Excel(name = "数据状态")
|
@Excel(name = "数据状态")
|
||||||
private String isDel;
|
private String isDel;
|
||||||
|
|
||||||
|
private List<String> passageTypes;
|
||||||
|
|
||||||
public void setId(Long id)
|
public void setId(Long id)
|
||||||
{
|
{
|
||||||
this.id = id;
|
this.id = id;
|
||||||
|
@ -93,6 +109,38 @@ public class DevAiProjectConfigPassage extends BaseEntity
|
||||||
return isDel;
|
return isDel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Integer getVideoPassageId() {
|
||||||
|
return videoPassageId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setVideoPassageId(Integer videoPassageId) {
|
||||||
|
this.videoPassageId = videoPassageId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getPassageValue() {
|
||||||
|
return passageValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPassageValue(Integer passageValue) {
|
||||||
|
this.passageValue = passageValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPassageType() {
|
||||||
|
return passageType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPassageType(String passageType) {
|
||||||
|
this.passageType = passageType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<String> getPassageTypes() {
|
||||||
|
return passageTypes;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPassageTypes(List<String> passageTypes) {
|
||||||
|
this.passageTypes = passageTypes;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||||
|
|
|
@ -4,6 +4,7 @@ import com.yanzhu.jh.video.domain.SurProjectVideoConfig;
|
||||||
import com.yanzhu.jh.video.domain.SurProjectVideoPassage;
|
import com.yanzhu.jh.video.domain.SurProjectVideoPassage;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 视频配置Mapper接口
|
* 视频配置Mapper接口
|
||||||
|
@ -29,6 +30,14 @@ public interface SurProjectVideoConfigMapper
|
||||||
*/
|
*/
|
||||||
public SurProjectVideoConfig selectSurProjectVideoConfigByDvrNumber(String videoDvrNumber);
|
public SurProjectVideoConfig selectSurProjectVideoConfigByDvrNumber(String videoDvrNumber);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询视频配置
|
||||||
|
*
|
||||||
|
* @param map 查询条件
|
||||||
|
* @return 视频配置
|
||||||
|
*/
|
||||||
|
public List<SurProjectVideoConfig> selectSurProjectVideoConfigByParams(Map<String, Object> map);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询视频配置列表
|
* 查询视频配置列表
|
||||||
*
|
*
|
||||||
|
|
|
@ -4,6 +4,7 @@ import com.yanzhu.jh.video.domain.SurProjectVideoConfig;
|
||||||
import com.yanzhu.jh.video.domain.SurProjectVideoPassage;
|
import com.yanzhu.jh.video.domain.SurProjectVideoPassage;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 视频配置Service接口
|
* 视频配置Service接口
|
||||||
|
@ -89,8 +90,16 @@ public interface ISurProjectVideoConfigService
|
||||||
/**
|
/**
|
||||||
* 修改设备状态
|
* 修改设备状态
|
||||||
*
|
*
|
||||||
* @param surProjectVideoConfig 视频通道
|
* @param videoDvrNumberd 视频通道
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public int updateSurProjectVideoConfigSignalState(String videoDvrNumberd);
|
public int updateSurProjectVideoConfigSignalState(String videoDvrNumberd);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询视频配置
|
||||||
|
*
|
||||||
|
* @param map 查询条件
|
||||||
|
* @return 视频配置
|
||||||
|
*/
|
||||||
|
public List<SurProjectVideoConfig> selectSurProjectVideoConfigByParams(Map<String, Object> map);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.yanzhu.jh.video.service.impl;
|
package com.yanzhu.jh.video.service.impl;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.ruoyi.common.enums.PublicStateEnum;
|
import com.ruoyi.common.enums.PublicStateEnum;
|
||||||
|
@ -35,7 +36,13 @@ public class DevAiProjectConfigServiceImpl implements IDevAiProjectConfigService
|
||||||
@Override
|
@Override
|
||||||
public DevAiProjectConfig selectDevAiProjectConfigById(Long id)
|
public DevAiProjectConfig selectDevAiProjectConfigById(Long id)
|
||||||
{
|
{
|
||||||
return devAiProjectConfigMapper.selectDevAiProjectConfigById(id);
|
DevAiProjectConfig devAiProjectConfig = devAiProjectConfigMapper.selectDevAiProjectConfigById(id);
|
||||||
|
for(DevAiProjectConfigPassage devAiProjectConfigPassage:devAiProjectConfig.getDevAiProjectConfigPassageList()){
|
||||||
|
if(devAiProjectConfigPassage.getPassageType()!=null){
|
||||||
|
devAiProjectConfigPassage.setPassageTypes(Arrays.asList(devAiProjectConfigPassage.getPassageType().split(",")));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return devAiProjectConfig;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -128,6 +135,10 @@ public class DevAiProjectConfigServiceImpl implements IDevAiProjectConfigService
|
||||||
{
|
{
|
||||||
devAiProjectConfigPassage.setAiboxId(id);
|
devAiProjectConfigPassage.setAiboxId(id);
|
||||||
devAiProjectConfigPassage.setIsDel(PublicStateEnum.OK.getCode());
|
devAiProjectConfigPassage.setIsDel(PublicStateEnum.OK.getCode());
|
||||||
|
devAiProjectConfigPassage.setPassageType(String.join(",", devAiProjectConfigPassage.getPassageTypes()));
|
||||||
|
if(devAiProjectConfigPassage.getPassageType().equals("")){
|
||||||
|
devAiProjectConfigPassage.setPassageType(null);
|
||||||
|
}
|
||||||
list.add(devAiProjectConfigPassage);
|
list.add(devAiProjectConfigPassage);
|
||||||
}
|
}
|
||||||
if (list.size() > 0)
|
if (list.size() > 0)
|
||||||
|
@ -136,4 +147,5 @@ public class DevAiProjectConfigServiceImpl implements IDevAiProjectConfigService
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,6 +14,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 视频配置Service业务层处理
|
* 视频配置Service业务层处理
|
||||||
|
@ -180,6 +181,7 @@ public class SurProjectVideoConfigServiceImpl implements ISurProjectVideoConfigS
|
||||||
* @param videoDvrNumberd 设备编号
|
* @param videoDvrNumberd 设备编号
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public List<SurProjectVideoPassage> getVideoPassage(String videoDvrNumberd) {
|
public List<SurProjectVideoPassage> getVideoPassage(String videoDvrNumberd) {
|
||||||
return surProjectVideoConfigMapper.selectSurProjectVideoConfigByDvrNumber(videoDvrNumberd).getSurProjectVideoPassageList();
|
return surProjectVideoConfigMapper.selectSurProjectVideoConfigByDvrNumber(videoDvrNumberd).getSurProjectVideoPassageList();
|
||||||
}
|
}
|
||||||
|
@ -209,4 +211,15 @@ public class SurProjectVideoConfigServiceImpl implements ISurProjectVideoConfigS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询视频配置
|
||||||
|
*
|
||||||
|
* @param map 查询条件
|
||||||
|
* @return 视频配置
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<SurProjectVideoConfig> selectSurProjectVideoConfigByParams(Map<String, Object> map) {
|
||||||
|
return surProjectVideoConfigMapper.selectSurProjectVideoConfigByParams(map);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,10 +28,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
|
||||||
<resultMap type="DevAiProjectConfigPassage" id="DevAiProjectConfigPassageResult">
|
<resultMap type="DevAiProjectConfigPassage" id="DevAiProjectConfigPassageResult">
|
||||||
<result property="id" column="sub_id" />
|
<result property="id" column="sub_id" />
|
||||||
|
<result property="passageValue" column="sub_passage_value" />
|
||||||
<result property="aiboxId" column="sub_aibox_id" />
|
<result property="aiboxId" column="sub_aibox_id" />
|
||||||
<result property="channelId" column="sub_channel_id" />
|
<result property="channelId" column="sub_channel_id" />
|
||||||
<result property="channelName" column="sub_channel_name" />
|
<result property="channelName" column="sub_channel_name" />
|
||||||
<result property="isImportance" column="sub_is_importance" />
|
<result property="isImportance" column="sub_is_importance" />
|
||||||
|
<result property="passageType" column="sub_passage_type" />
|
||||||
<result property="isDel" column="sub_is_del" />
|
<result property="isDel" column="sub_is_del" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
|
@ -58,11 +60,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
|
||||||
<select id="selectDevAiProjectConfigById" parameterType="Long" resultMap="DevAiProjectConfigDevAiProjectConfigPassageResult">
|
<select id="selectDevAiProjectConfigById" parameterType="Long" resultMap="DevAiProjectConfigDevAiProjectConfigPassageResult">
|
||||||
select a.id, a.project_id, sp.projectName, a.dept_id, sd.dept_name, a.ipc_name, a.device_name, a.serial_number, a.manufacturer, a.is_del, a.create_by, a.create_time, a.update_by, a.update_time, a.remark,
|
select a.id, a.project_id, sp.projectName, a.dept_id, sd.dept_name, a.ipc_name, a.device_name, a.serial_number, a.manufacturer, a.is_del, a.create_by, a.create_time, a.update_by, a.update_time, a.remark,
|
||||||
b.id as sub_id, b.aibox_id as sub_aibox_id, b.channel_id as sub_channel_id, b.channel_name as sub_channel_name, b.is_importance as sub_is_importance, b.is_del as sub_is_del
|
b.id as sub_id, spvp.passage_value as sub_passage_value, b.aibox_id as sub_aibox_id, b.channel_id as sub_channel_id, b.channel_name as sub_channel_name, b.is_importance as sub_is_importance, b.passage_type as sub_passage_type, b.is_del as sub_is_del
|
||||||
from dev_ai_project_config a
|
from dev_ai_project_config a
|
||||||
left join sur_project sp on sp.id=a.project_id
|
left join sur_project sp on sp.id=a.project_id
|
||||||
left join sys_dept sd on sd.dept_id=a.dept_id
|
left join sys_dept sd on sd.dept_id=a.dept_id
|
||||||
left join dev_ai_project_config_passage b on b.aibox_id = a.id
|
left join dev_ai_project_config_passage b on b.aibox_id = a.id
|
||||||
|
left join sur_project_video_passage spvp on b.video_passage_id = spvp.id
|
||||||
where a.id = #{id}
|
where a.id = #{id}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
@ -140,9 +143,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
<insert id="batchDevAiProjectConfigPassage">
|
<insert id="batchDevAiProjectConfigPassage">
|
||||||
insert into dev_ai_project_config_passage( id, aibox_id, channel_id, channel_name, is_importance, is_del) values
|
insert into dev_ai_project_config_passage( id, video_passage_id, aibox_id, channel_id, channel_name, is_importance, passage_type, is_del) values
|
||||||
<foreach item="item" index="index" collection="list" separator=",">
|
<foreach item="item" index="index" collection="list" separator=",">
|
||||||
( #{item.id}, #{item.aiboxId}, #{item.channelId}, #{item.channelName}, #{item.isImportance}, #{item.isDel})
|
( #{item.id}, #{item.videoPassageId}, #{item.aiboxId}, #{item.channelId}, #{item.channelName}, #{item.isImportance}, #{item.passageType}, #{item.isDel})
|
||||||
</foreach>
|
</foreach>
|
||||||
</insert>
|
</insert>
|
||||||
</mapper>
|
</mapper>
|
|
@ -69,6 +69,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
order by dapd.create_time desc
|
order by dapd.create_time desc
|
||||||
|
<if test="params.limit != null"> limit #{params.limit}</if>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectDevAiProjectDataById" parameterType="Long" resultMap="DevAiProjectDataResult">
|
<select id="selectDevAiProjectDataById" parameterType="Long" resultMap="DevAiProjectDataResult">
|
||||||
|
|
|
@ -93,6 +93,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
where a.video_dvr_number = #{videoDvrNumber}
|
where a.video_dvr_number = #{videoDvrNumber}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="selectSurProjectVideoConfigByParams" parameterType="map" resultMap="SurProjectVideoConfigSurProjectVideoPassageResult">
|
||||||
|
select a.id, a.project_id, a.video_name, a.video_only_type, a.video_dvr_number, a.video_dvr_security, a.video_passage_count, a.passage_pass_count, a.video_sort, a.signal_type, a.signal_state, a.signal_code, a.is_del, a.create_by, a.create_time, a.update_by, a.update_time, a.remark, p.projectName,
|
||||||
|
b.id as sub_id, b.video_id as sub_video_id, b.video_dvr_number as sub_video_dvr_number, b.passage_name as sub_passage_name, b.passage_value as sub_passage_value, b.passage_state as sub_passage_state
|
||||||
|
from sur_project_video_config a
|
||||||
|
left join sur_project_video_passage b on b.video_id = a.id
|
||||||
|
left join sur_project p on a.project_id=p.id
|
||||||
|
left join dev_ai_project_config_passage dacp on dacp.video_passage_id = b.id
|
||||||
|
where dacp.is_del=0 and dacp.channel_id is NOT NULL and dacp.channel_id!=''
|
||||||
|
<if test="projectId != null "> and a.project_id = #{projectId}</if>
|
||||||
|
<if test="deptId != null "> and p.dept_id = #{deptId}</if>
|
||||||
|
<if test='importance == "Y" '> and dacp.is_importance = #{importance}</if>
|
||||||
|
order by a.project_id asc,b.id asc
|
||||||
|
<if test='importance != "Y" '> limit 3</if>
|
||||||
|
<if test='importance != "Y" '> limit 6</if>
|
||||||
|
</select>
|
||||||
|
|
||||||
<insert id="insertSurProjectVideoConfig" parameterType="SurProjectVideoConfig" useGeneratedKeys="true" keyProperty="id">
|
<insert id="insertSurProjectVideoConfig" parameterType="SurProjectVideoConfig" useGeneratedKeys="true" keyProperty="id">
|
||||||
insert into sur_project_video_config
|
insert into sur_project_video_config
|
||||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||||
|
|
Loading…
Reference in New Issue