提交代码
parent
f31d243dcf
commit
6db214839c
|
@ -52,6 +52,15 @@ export function updateVideoConfigSort(data) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 修改视频配置
|
||||||
|
export function editPassageState(data) {
|
||||||
|
return request({
|
||||||
|
url: '/video/videoConfig/editPassageState',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// 删除视频配置
|
// 删除视频配置
|
||||||
export function delVideoConfig(id) {
|
export function delVideoConfig(id) {
|
||||||
return request({
|
return request({
|
||||||
|
|
|
@ -139,7 +139,11 @@
|
||||||
width="120"
|
width="120"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
/>
|
/>
|
||||||
<el-table-column label="通道数量" align="center" prop="videoPassageCount" />
|
<el-table-column label="通道数量" align="center" prop="videoPassageCount">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.videoPassageCount }} / {{ scope.row.passagePassCount }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="设备排序" align="center" width="140">
|
<el-table-column label="设备排序" align="center" width="140">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
|
@ -152,7 +156,7 @@
|
||||||
></el-input-number>
|
></el-input-number>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="通信状态" align="center" prop="signalState" v-if="false">
|
<el-table-column label="通信状态" align="center" prop="signalState">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<dict-tag
|
<dict-tag
|
||||||
:options="dict.type.project_video_signal_state"
|
:options="dict.type.project_video_signal_state"
|
||||||
|
@ -166,11 +170,6 @@
|
||||||
<span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span>
|
<span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</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-column
|
<el-table-column
|
||||||
label="操作"
|
label="操作"
|
||||||
align="center"
|
align="center"
|
||||||
|
@ -323,7 +322,7 @@ export default {
|
||||||
components: {
|
components: {
|
||||||
videoPlayDrawer,
|
videoPlayDrawer,
|
||||||
},
|
},
|
||||||
dicts: ["project_video_type", "project_video_signal_state", "sys_common_isdel"],
|
dicts: ["project_video_type", "project_video_signal_state"],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
projectOptions: [],
|
projectOptions: [],
|
||||||
|
|
|
@ -95,8 +95,12 @@
|
||||||
width="120"
|
width="120"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
/>
|
/>
|
||||||
<el-table-column label="通道数量" align="center" prop="videoPassageCount" />
|
<el-table-column label="通道数量" align="center" prop="videoPassageCount">
|
||||||
<el-table-column label="通信状态" align="center" prop="signalState" v-if="false">
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.videoPassageCount }} / {{ scope.row.passagePassCount }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="通信状态" align="center" prop="signalState">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<dict-tag
|
<dict-tag
|
||||||
:options="dict.type.project_video_signal_state"
|
:options="dict.type.project_video_signal_state"
|
||||||
|
|
|
@ -8,24 +8,36 @@
|
||||||
@close="onClose"
|
@close="onClose"
|
||||||
style="padding-left: 20px"
|
style="padding-left: 20px"
|
||||||
>
|
>
|
||||||
<div class="videoView">
|
<div class="videoView" v-if="showVideoView0">
|
||||||
<H265Player :url="url0" @on-error="handleOnError" />
|
<H265Player :url="url0" @on-error="handleOnError0" />
|
||||||
</div>
|
</div>
|
||||||
<div class="videoView">
|
<div class="videoView videoViewError" v-if="showVideoView0 == false">
|
||||||
<H265Player :url="url1" @on-error="handleOnError" />
|
设备0通道链接失败!请及时检查!
|
||||||
</div>
|
</div>
|
||||||
<div class="videoView">
|
<div class="videoView" v-if="showVideoView1">
|
||||||
<H265Player :url="url2" @on-error="handleOnError" />
|
<H265Player :url="url1" @on-error="handleOnError1" />
|
||||||
</div>
|
</div>
|
||||||
<div class="videoView">
|
<div class="videoView videoViewError" v-if="showVideoView1 == false">
|
||||||
<H265Player :url="url3" @on-error="handleOnError" />
|
设备1通道链接失败!请及时检查!
|
||||||
|
</div>
|
||||||
|
<div class="videoView" v-if="showVideoView2">
|
||||||
|
<H265Player :url="url2" @on-error="handleOnError2" />
|
||||||
|
</div>
|
||||||
|
<div class="videoView videoViewError" v-if="showVideoView2 == false">
|
||||||
|
设备2通道链接失败!请及时检查!
|
||||||
|
</div>
|
||||||
|
<div class="videoView" v-if="showVideoView3">
|
||||||
|
<H265Player :url="url3" @on-error="handleOnError3" />
|
||||||
|
</div>
|
||||||
|
<div class="videoView videoViewError" v-if="showVideoView3 == false">
|
||||||
|
设备3通道链接失败!请及时检查!
|
||||||
</div>
|
</div>
|
||||||
</el-drawer>
|
</el-drawer>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getVideoPassage } from "@/api/video/videoConfig";
|
import { getVideoPassage, editPassageState } from "@/api/video/videoConfig";
|
||||||
import H265Player from "vue-h265-player";
|
import H265Player from "vue-h265-player";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
@ -46,6 +58,11 @@ export default {
|
||||||
url1: "",
|
url1: "",
|
||||||
url2: "",
|
url2: "",
|
||||||
url3: "",
|
url3: "",
|
||||||
|
showVideoView0: true,
|
||||||
|
showVideoView1: true,
|
||||||
|
showVideoView2: true,
|
||||||
|
showVideoView3: true,
|
||||||
|
videoPassageList: [],
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {},
|
computed: {},
|
||||||
|
@ -59,6 +76,7 @@ export default {
|
||||||
);
|
);
|
||||||
this.initVideo();
|
this.initVideo();
|
||||||
},
|
},
|
||||||
|
immediate: true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
created() {},
|
created() {},
|
||||||
|
@ -67,13 +85,31 @@ export default {
|
||||||
methods: {
|
methods: {
|
||||||
onOpen() {},
|
onOpen() {},
|
||||||
onClose() {},
|
onClose() {},
|
||||||
handleOnError(error) {
|
handleOnError0(error) {
|
||||||
|
this.showVideoView0 = false;
|
||||||
console.log("error: ", error);
|
console.log("error: ", error);
|
||||||
|
this.updatePassageState(this.videoPassageList[0].id);
|
||||||
|
},
|
||||||
|
handleOnError1(error) {
|
||||||
|
this.showVideoView1 = false;
|
||||||
|
console.log("error: ", error);
|
||||||
|
this.updatePassageState(this.videoPassageList[1].id);
|
||||||
|
},
|
||||||
|
handleOnError2(error) {
|
||||||
|
this.showVideoView2 = false;
|
||||||
|
console.log("error: ", error);
|
||||||
|
this.updatePassageState(this.videoPassageList[2].id);
|
||||||
|
},
|
||||||
|
handleOnError3(error) {
|
||||||
|
this.showVideoView3 = false;
|
||||||
|
console.log("error: ", error);
|
||||||
|
this.updatePassageState(this.videoPassageList[3].id);
|
||||||
},
|
},
|
||||||
//查询视频通道
|
//查询视频通道
|
||||||
initVideo() {
|
initVideo() {
|
||||||
getVideoPassage(this.formData.videoDvrNumber).then((response) => {
|
getVideoPassage(this.formData.videoDvrNumber).then((response) => {
|
||||||
let data = response.data;
|
let data = response.data;
|
||||||
|
this.videoPassageList = data;
|
||||||
data.forEach((it, idx) => {
|
data.forEach((it, idx) => {
|
||||||
if (idx == 0) {
|
if (idx == 0) {
|
||||||
this.url0 = this.request.replace("{{passage}}", it.passageValue);
|
this.url0 = this.request.replace("{{passage}}", it.passageValue);
|
||||||
|
@ -90,6 +126,14 @@ export default {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
updatePassageState(id) {
|
||||||
|
let param = {
|
||||||
|
id: id,
|
||||||
|
videoDvrNumber: this.formData.videoDvrNumber,
|
||||||
|
passageState: "2",
|
||||||
|
};
|
||||||
|
editPassageState(param);
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
@ -105,4 +149,9 @@ export default {
|
||||||
width: 50%;
|
width: 50%;
|
||||||
height: 50%;
|
height: 50%;
|
||||||
}
|
}
|
||||||
|
.videoViewError {
|
||||||
|
background-color: #575e65;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 324px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -7,30 +7,57 @@
|
||||||
:title="item.videoName"
|
:title="item.videoName"
|
||||||
@click="handlePlay(item, index)"
|
@click="handlePlay(item, index)"
|
||||||
:class="{ bg_color: currentIndex == index }"
|
:class="{ bg_color: currentIndex == index }"
|
||||||
>{{ item.videoName }}</span
|
:style="{
|
||||||
|
'--bgColor':
|
||||||
|
item.signalState == 1
|
||||||
|
? 'green'
|
||||||
|
: item.signalState == 2
|
||||||
|
? 'red'
|
||||||
|
: '#aaaaaa',
|
||||||
|
}"
|
||||||
|
>
|
||||||
|
{{ item.videoName }}({{ item.videoPassageCount }}/{{
|
||||||
|
item.passagePassCount
|
||||||
|
}})</span
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="right" v-if="showVideo">
|
<div class="right" v-if="showVideo">
|
||||||
<div class="videoView">
|
<div class="videoView" v-if="showVideoView0">
|
||||||
<H265Player :url="url0" @on-error="handleOnError" />
|
<H265Player :url="url0" @on-error="handleOnError0" />
|
||||||
</div>
|
</div>
|
||||||
<div class="videoView">
|
<div class="videoView videoViewError" v-if="showVideoView0 == false">
|
||||||
<H265Player :url="url1" @on-error="handleOnError" />
|
设备0通道链接失败!请及时检查!
|
||||||
</div>
|
</div>
|
||||||
<div class="videoView">
|
<div class="videoView" v-if="showVideoView1">
|
||||||
<H265Player :url="url2" @on-error="handleOnError" />
|
<H265Player :url="url1" @on-error="handleOnError1" />
|
||||||
</div>
|
</div>
|
||||||
<div class="videoView">
|
<div class="videoView videoViewError" v-if="showVideoView1 == false">
|
||||||
<H265Player :url="url3" @on-error="handleOnError" />
|
设备1通道链接失败!请及时检查!
|
||||||
|
</div>
|
||||||
|
<div class="videoView" v-if="showVideoView2">
|
||||||
|
<H265Player :url="url2" @on-error="handleOnError2" />
|
||||||
|
</div>
|
||||||
|
<div class="videoView videoViewError" v-if="showVideoView2 == false">
|
||||||
|
设备2通道链接失败!请及时检查!
|
||||||
|
</div>
|
||||||
|
<div class="videoView" v-if="showVideoView3">
|
||||||
|
<H265Player :url="url3" @on-error="handleOnError3" />
|
||||||
|
</div>
|
||||||
|
<div class="videoView videoViewError" v-if="showVideoView3 == false">
|
||||||
|
设备3通道链接失败!请及时检查!
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { listVideoView, getVideoPassage } from "@/api/video/videoConfig";
|
import {
|
||||||
|
listVideoView,
|
||||||
|
getVideoPassage,
|
||||||
|
editPassageState,
|
||||||
|
} from "@/api/video/videoConfig";
|
||||||
import H265Player from "vue-h265-player";
|
import H265Player from "vue-h265-player";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
@ -52,6 +79,12 @@ export default {
|
||||||
url1: "",
|
url1: "",
|
||||||
url2: "",
|
url2: "",
|
||||||
url3: "",
|
url3: "",
|
||||||
|
showVideoView0: true,
|
||||||
|
showVideoView1: true,
|
||||||
|
showVideoView2: true,
|
||||||
|
showVideoView3: true,
|
||||||
|
videoPassageList: [],
|
||||||
|
videoDvrNumber: null,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
@ -72,6 +105,11 @@ export default {
|
||||||
this.url1 = "";
|
this.url1 = "";
|
||||||
this.url2 = "";
|
this.url2 = "";
|
||||||
this.url3 = "";
|
this.url3 = "";
|
||||||
|
this.showVideoView0 = true;
|
||||||
|
this.showVideoView1 = true;
|
||||||
|
this.showVideoView2 = true;
|
||||||
|
this.showVideoView3 = true;
|
||||||
|
this.videoDvrNumber = it.videoDvrNumber;
|
||||||
this.initVideo(
|
this.initVideo(
|
||||||
it.videoDvrNumber,
|
it.videoDvrNumber,
|
||||||
this.request.replace("{{videoDvrNumber}}", it.videoDvrNumber)
|
this.request.replace("{{videoDvrNumber}}", it.videoDvrNumber)
|
||||||
|
@ -82,6 +120,7 @@ export default {
|
||||||
let that = this;
|
let that = this;
|
||||||
getVideoPassage(videoDvrNumber).then((response) => {
|
getVideoPassage(videoDvrNumber).then((response) => {
|
||||||
let data = response.data;
|
let data = response.data;
|
||||||
|
this.videoPassageList = data;
|
||||||
that.showVideo = true;
|
that.showVideo = true;
|
||||||
data.forEach((it, idx) => {
|
data.forEach((it, idx) => {
|
||||||
if (idx == 0) {
|
if (idx == 0) {
|
||||||
|
@ -99,8 +138,33 @@ export default {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
handleOnError(error) {
|
handleOnError0(error) {
|
||||||
|
this.showVideoView0 = false;
|
||||||
console.log("error: ", error);
|
console.log("error: ", error);
|
||||||
|
this.updatePassageState(this.videoPassageList[0].id);
|
||||||
|
},
|
||||||
|
handleOnError1(error) {
|
||||||
|
this.showVideoView1 = false;
|
||||||
|
console.log("error: ", error);
|
||||||
|
this.updatePassageState(this.videoPassageList[1].id);
|
||||||
|
},
|
||||||
|
handleOnError2(error) {
|
||||||
|
this.showVideoView2 = false;
|
||||||
|
console.log("error: ", error);
|
||||||
|
this.updatePassageState(this.videoPassageList[2].id);
|
||||||
|
},
|
||||||
|
handleOnError3(error) {
|
||||||
|
this.showVideoView3 = false;
|
||||||
|
console.log("error: ", error);
|
||||||
|
this.updatePassageState(this.videoPassageList[3].id);
|
||||||
|
},
|
||||||
|
updatePassageState(id) {
|
||||||
|
let param = {
|
||||||
|
id: id,
|
||||||
|
videoDvrNumber: this.videoDvrNumber,
|
||||||
|
passageState: "2",
|
||||||
|
};
|
||||||
|
editPassageState(param);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -108,7 +172,7 @@ export default {
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.app-container {
|
.app-container {
|
||||||
.left {
|
.left {
|
||||||
width: 220px;
|
width: 250px;
|
||||||
height: calc(100% - 45px);
|
height: calc(100% - 45px);
|
||||||
float: left;
|
float: left;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
@ -118,7 +182,7 @@ export default {
|
||||||
height: 820px;
|
height: 820px;
|
||||||
overflow-y: scroll;
|
overflow-y: scroll;
|
||||||
.nav-item {
|
.nav-item {
|
||||||
width: 200px;
|
width: 230px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
display: block;
|
display: block;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
|
@ -129,6 +193,7 @@ export default {
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
|
|
||||||
span {
|
span {
|
||||||
|
float: left;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
.bg_color {
|
.bg_color {
|
||||||
|
@ -138,10 +203,20 @@ export default {
|
||||||
.nav-item :hover {
|
.nav-item :hover {
|
||||||
color: #409eff;
|
color: #409eff;
|
||||||
}
|
}
|
||||||
|
.nav-item ::before {
|
||||||
|
content: " ";
|
||||||
|
width: 8px;
|
||||||
|
height: 8px;
|
||||||
|
border-radius: 50%;
|
||||||
|
display: block;
|
||||||
|
float: left;
|
||||||
|
margin-top: 6px;
|
||||||
|
background-color: var(--bgColor);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.right {
|
.right {
|
||||||
width: calc(100% - 240px);
|
width: calc(100% - 270px);
|
||||||
margin-left: 15px;
|
margin-left: 15px;
|
||||||
height: 820px;
|
height: 820px;
|
||||||
float: left;
|
float: left;
|
||||||
|
@ -151,6 +226,11 @@ export default {
|
||||||
width: 50%;
|
width: 50%;
|
||||||
height: 50%;
|
height: 50%;
|
||||||
}
|
}
|
||||||
|
.videoViewError {
|
||||||
|
background-color: #575e65;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 324px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -0,0 +1,63 @@
|
||||||
|
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.SurProjectVideoConfig;
|
||||||
|
import com.yanzhu.jh.video.domain.SurProjectVideoPassage;
|
||||||
|
import com.yanzhu.jh.video.service.ISurProjectVideoConfigService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 实时视频Conller
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/bgscreen/video")
|
||||||
|
public class VideoController extends BaseController {
|
||||||
|
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ISurProjectVideoConfigService surProjectVideoConfigService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询视频配置列表
|
||||||
|
*/
|
||||||
|
@GetMapping("/listView")
|
||||||
|
public AjaxResult listView(String deptId,String projectId)
|
||||||
|
{
|
||||||
|
SurProjectVideoConfig surProjectVideoConfig = new SurProjectVideoConfig();
|
||||||
|
if(deptId!=null && !"0".equals(deptId)){
|
||||||
|
surProjectVideoConfig.setProjectDeptId(deptId);
|
||||||
|
}
|
||||||
|
if(projectId!=null && !"0".equals(projectId)){
|
||||||
|
surProjectVideoConfig.setProjectId(Convert.toLong(projectId));
|
||||||
|
}
|
||||||
|
List<SurProjectVideoConfig> list = surProjectVideoConfigService.selectSurProjectVideoConfigList(surProjectVideoConfig);
|
||||||
|
return success(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改视频通道状态
|
||||||
|
*/
|
||||||
|
@GetMapping("/editPassageState")
|
||||||
|
public AjaxResult editPassageState(@RequestParam Long id, String videoDvrNumber, String passageState)
|
||||||
|
{
|
||||||
|
SurProjectVideoPassage surProjectVideoPassage = new SurProjectVideoPassage();
|
||||||
|
surProjectVideoPassage.setVideoId(id);
|
||||||
|
surProjectVideoPassage.setVideoDvrNumber(videoDvrNumber);
|
||||||
|
surProjectVideoPassage.setPassageState(passageState);
|
||||||
|
return success(surProjectVideoConfigService.editPassageState(surProjectVideoPassage));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取视频配置详细信息
|
||||||
|
*/
|
||||||
|
@GetMapping(value = "/getVideoPassage/{videoDvrNumberd}")
|
||||||
|
public AjaxResult getVideoPassage(@PathVariable("videoDvrNumberd") String videoDvrNumberd)
|
||||||
|
{
|
||||||
|
return success(surProjectVideoConfigService.getVideoPassage(videoDvrNumberd));
|
||||||
|
}
|
||||||
|
}
|
|
@ -151,9 +151,9 @@ public class SurProjectVideoConfigController extends BaseController
|
||||||
*/
|
*/
|
||||||
@PreAuthorize("@ss.hasPermi('video:videoConfig:query')")
|
@PreAuthorize("@ss.hasPermi('video:videoConfig:query')")
|
||||||
@PostMapping("/editPassageState")
|
@PostMapping("/editPassageState")
|
||||||
public AjaxResult editPassageState(SurProjectVideoPassage SurProjectVideoPassage)
|
public AjaxResult editPassageState(@RequestBody SurProjectVideoPassage surProjectVideoPassage)
|
||||||
{
|
{
|
||||||
return success(surProjectVideoConfigService.editPassageState(SurProjectVideoPassage));
|
return success(surProjectVideoConfigService.editPassageState(surProjectVideoPassage));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -36,6 +36,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<result property="videoDvrNumber" column="sub_video_dvr_number" />
|
<result property="videoDvrNumber" column="sub_video_dvr_number" />
|
||||||
<result property="passageName" column="sub_passage_name" />
|
<result property="passageName" column="sub_passage_name" />
|
||||||
<result property="passageValue" column="sub_passage_value" />
|
<result property="passageValue" column="sub_passage_value" />
|
||||||
|
<result property="passageState" column="sub_passage_state" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="selectSurProjectVideoConfigVo">
|
<sql id="selectSurProjectVideoConfigVo">
|
||||||
|
@ -79,7 +80,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
|
||||||
<select id="selectSurProjectVideoConfigByDvrNumber" parameterType="String" resultMap="SurProjectVideoConfigSurProjectVideoPassageResult">
|
<select id="selectSurProjectVideoConfigByDvrNumber" parameterType="String" 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,
|
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.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
|
from sur_project_video_config a
|
||||||
left join sur_project p on a.project_id=p.id
|
left join sur_project p on a.project_id=p.id
|
||||||
left join sur_project_video_passage b on b.video_id = a.id
|
left join sur_project_video_passage b on b.video_id = a.id
|
||||||
|
@ -176,9 +177,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
<insert id="batchSurProjectVideoPassage">
|
<insert id="batchSurProjectVideoPassage">
|
||||||
insert into sur_project_video_passage( id, video_id, video_dvr_number, passage_name, passage_value) values
|
insert into sur_project_video_passage( id, video_id, video_dvr_number, passage_name, passage_value,passage_state) values
|
||||||
<foreach item="item" index="index" collection="list" separator=",">
|
<foreach item="item" index="index" collection="list" separator=",">
|
||||||
( #{item.id}, #{item.videoId}, #{item.videoDvrNumber}, #{item.passageName}, #{item.passageValue})
|
( #{item.id}, #{item.videoId}, #{item.videoDvrNumber}, #{item.passageName}, #{item.passageValue}, #{item.passageState})
|
||||||
</foreach>
|
</foreach>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue