diff --git a/ruoyi-ui/src/api/project/videoConfig.js b/ruoyi-ui/src/api/project/videoConfig.js new file mode 100644 index 00000000..b31085a7 --- /dev/null +++ b/ruoyi-ui/src/api/project/videoConfig.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询视频配置列表 +export function listVideoConfig(query) { + return request({ + url: '/project/videoConfig/list', + method: 'get', + params: query + }) +} + +// 查询视频配置详细 +export function getVideoConfig(id) { + return request({ + url: '/project/videoConfig/' + id, + method: 'get' + }) +} + +// 新增视频配置 +export function addVideoConfig(data) { + return request({ + url: '/project/videoConfig', + method: 'post', + data: data + }) +} + +// 修改视频配置 +export function updateVideoConfig(data) { + return request({ + url: '/project/videoConfig', + method: 'put', + data: data + }) +} + +// 删除视频配置 +export function delVideoConfig(id) { + return request({ + url: '/project/videoConfig/' + id, + method: 'delete' + }) +} diff --git a/ruoyi-ui/src/views/project/projectMeasure/index.vue b/ruoyi-ui/src/views/project/projectMeasure/index.vue index f93ce7dd..07ad4463 100644 --- a/ruoyi-ui/src/views/project/projectMeasure/index.vue +++ b/ruoyi-ui/src/views/project/projectMeasure/index.vue @@ -38,6 +38,20 @@ /> + + + + + + + + + + - {{ parseTime(scope.row.measureTime, "{y}-{m}-{d} {h}:{i}") }} @@ -335,12 +350,23 @@ > + + + + + - - - @@ -441,7 +467,12 @@ export default { components: { ElImageViewer, }, - dicts: ["project_measure_type", "project_checking_result", "sys_common_isdel"], + dicts: [ + "project_measure_type", + "project_measure_info_type", + "project_checking_result", + "sys_common_isdel", + ], data() { return { showViewer: false, @@ -493,10 +524,7 @@ export default { { required: true, message: "请输入测量部位", trigger: "blur" }, { max: 100, message: "测量部位最多100字符", trigger: "blur" }, ], - measureInfo: [ - { required: true, message: "请输入测量内容", trigger: "blur" }, - { max: 100, message: "测量内容最多100字符", trigger: "blur" }, - ], + measureInfo: [{ required: true, message: "请选择测量内容", trigger: "blur" }], measurePointPosition: [ { required: true, message: "请输入测量点位", trigger: "blur" }, { max: 100, message: "测量点位最多100字符", trigger: "blur" }, diff --git a/ruoyi-ui/src/views/project/projectMeasure/projectMeasureDrawer.vue b/ruoyi-ui/src/views/project/projectMeasure/projectMeasureDrawer.vue index fd0b8e65..fd08f22a 100644 --- a/ruoyi-ui/src/views/project/projectMeasure/projectMeasureDrawer.vue +++ b/ruoyi-ui/src/views/project/projectMeasure/projectMeasureDrawer.vue @@ -91,18 +91,19 @@ /> + + + + + - @@ -226,12 +227,23 @@ > + + + + + - - - @@ -339,7 +351,7 @@ export default { components: { ElImageViewer, }, - dicts: ["project_measure_type", "project_checking_result"], + dicts: ["project_measure_type", "project_checking_result", "project_measure_info_type"], data() { return { showViewer: false, @@ -357,10 +369,7 @@ export default { { required: true, message: "请输入测量部位", trigger: "blur" }, { max: 100, message: "测量部位最多100字符", trigger: "blur" }, ], - measureInfo: [ - { required: true, message: "请输入测量内容", trigger: "blur" }, - { max: 100, message: "测量内容最多100字符", trigger: "blur" }, - ], + measureInfo: [{ required: true, message: "请选择测量内容", trigger: "blur" }], measurePointPosition: [ { required: true, message: "请输入测量点位", trigger: "blur" }, { max: 100, message: "测量点位最多100字符", trigger: "blur" }, diff --git a/ruoyi-ui/src/views/project/surProjectUserInfo/projectUserInfoDrawer.vue b/ruoyi-ui/src/views/project/surProjectUserInfo/projectUserInfoDrawer.vue index 046f7b0f..cbc6bea0 100644 --- a/ruoyi-ui/src/views/project/surProjectUserInfo/projectUserInfoDrawer.vue +++ b/ruoyi-ui/src/views/project/surProjectUserInfo/projectUserInfoDrawer.vue @@ -128,6 +128,7 @@ 10) { + this.$message.error("请选择下级节点数据,当前数据节点未查询到相关人员!"); + return false; + } if (note && note.id) { this.form.deptId = note.id; this.getUserList(note.id); diff --git a/ruoyi-ui/src/views/project/videoConfig/index.vue b/ruoyi-ui/src/views/project/videoConfig/index.vue new file mode 100644 index 00000000..abe70cdd --- /dev/null +++ b/ruoyi-ui/src/views/project/videoConfig/index.vue @@ -0,0 +1,431 @@ + + + + + + + + + + + 搜索 + 重置 + + + + + + + 修改 + + + 删除 + + + 导出 + + + + + + + + + + + + + + + + + + + + + + + + 修改 + 删除 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 视频通道信息 + + + 添加 + + + 删除 + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ruoyi-ui/src/views/project/videoConfig/videoConfigDrawer.vue b/ruoyi-ui/src/views/project/videoConfig/videoConfigDrawer.vue new file mode 100644 index 00000000..86fc9234 --- /dev/null +++ b/ruoyi-ui/src/views/project/videoConfig/videoConfigDrawer.vue @@ -0,0 +1,465 @@ + + + + + {{ drawerTitle + " 【视频配置】" }} + + + + 新增 + + + 修改 + + + 删除 + + + + + + + + + + + + + + + + + + + + + + + + {{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }} + + + + + + + + + + + 修改 + 删除 + + + + + + + + + + + + + + + + + + + + + + + + + 视频通道信息 + + + 添加 + + + 删除 + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ruoyi-wechat/src/main/java/com/ruoyi/web/project/ProjectCheckingController.java b/ruoyi-wechat/src/main/java/com/ruoyi/web/project/ProjectCheckingController.java index 448f7638..eddd067f 100644 --- a/ruoyi-wechat/src/main/java/com/ruoyi/web/project/ProjectCheckingController.java +++ b/ruoyi-wechat/src/main/java/com/ruoyi/web/project/ProjectCheckingController.java @@ -7,7 +7,6 @@ import com.ruoyi.common.enums.BusinessType; import com.yanzhu.jh.project.domain.SurProjectChecking; import com.yanzhu.jh.project.service.ISurProjectCheckingService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; /** diff --git a/ruoyi-wechat/src/main/resources/mapper/WechatUserLoginMapper.xml b/ruoyi-wechat/src/main/resources/mapper/WechatUserLoginMapper.xml index 50569cd7..2ff604de 100644 --- a/ruoyi-wechat/src/main/resources/mapper/WechatUserLoginMapper.xml +++ b/ruoyi-wechat/src/main/resources/mapper/WechatUserLoginMapper.xml @@ -113,7 +113,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" SELECT - smc.id, + DISTINCT smc.id, smc.menu_name, smc.menu_identi, smc.menu_img, diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/controller/SurProjectVideoConfigController.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/controller/SurProjectVideoConfigController.java new file mode 100644 index 00000000..843e0675 --- /dev/null +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/controller/SurProjectVideoConfigController.java @@ -0,0 +1,125 @@ +package com.yanzhu.jh.project.controller; + +import java.util.List; +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.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.yanzhu.jh.project.domain.SurProjectVideoConfig; +import com.yanzhu.jh.project.service.ISurProjectVideoConfigService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 视频配置Controller + * + * @author JiangYuQi + * @date 2023-08-25 + */ +@RestController +@RequestMapping("/project/videoConfig") +public class SurProjectVideoConfigController extends BaseController +{ + @Autowired + private ISysDeptService sysDeptService; + + @Autowired + private ISurProjectVideoConfigService surProjectVideoConfigService; + + /** + * 查询视频配置列表 + */ + @PreAuthorize("@ss.hasPermi('project:videoConfig:list')") + @GetMapping("/list") + public TableDataInfo list(SurProjectVideoConfig surProjectVideoConfig) + { + startPage(); + surProjectVideoConfig.setNowRole(Convert.toStr(getUserFirstRole())); + if(SysRoleEnum.ZGS.getCode().equals(surProjectVideoConfig.getNowRole())){ + surProjectVideoConfig.setNowDept(Convert.toStr(sysDeptService.getZGSDeptId(getDeptId()))); + }else{ + surProjectVideoConfig.setNowDept(Convert.toStr(getDeptId())); + } + surProjectVideoConfig.setNowUser(Convert.toStr(getUserId())); + List list = surProjectVideoConfigService.selectSurProjectVideoConfigList(surProjectVideoConfig); + return getDataTable(list); + } + + /** + * 导出视频配置列表 + */ + @PreAuthorize("@ss.hasPermi('project:videoConfig:export')") + @Log(title = "视频配置", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, SurProjectVideoConfig surProjectVideoConfig) + { + surProjectVideoConfig.setNowRole(Convert.toStr(getUserFirstRole())); + if(SysRoleEnum.ZGS.getCode().equals(surProjectVideoConfig.getNowRole())){ + surProjectVideoConfig.setNowDept(Convert.toStr(sysDeptService.getZGSDeptId(getDeptId()))); + }else{ + surProjectVideoConfig.setNowDept(Convert.toStr(getDeptId())); + } + surProjectVideoConfig.setNowUser(Convert.toStr(getUserId())); + List list = surProjectVideoConfigService.selectSurProjectVideoConfigList(surProjectVideoConfig); + ExcelUtil util = new ExcelUtil(SurProjectVideoConfig.class); + util.exportExcel(response, list, "视频配置数据"); + } + + /** + * 获取视频配置详细信息 + */ + @PreAuthorize("@ss.hasPermi('project:videoConfig:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(surProjectVideoConfigService.selectSurProjectVideoConfigById(id)); + } + + /** + * 新增视频配置 + */ + @PreAuthorize("@ss.hasPermi('project:videoConfig:add')") + @Log(title = "视频配置", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody SurProjectVideoConfig surProjectVideoConfig) + { + return toAjax(surProjectVideoConfigService.insertSurProjectVideoConfig(surProjectVideoConfig)); + } + + /** + * 修改视频配置 + */ + @PreAuthorize("@ss.hasPermi('project:videoConfig:edit')") + @Log(title = "视频配置", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody SurProjectVideoConfig surProjectVideoConfig) + { + return toAjax(surProjectVideoConfigService.updateSurProjectVideoConfig(surProjectVideoConfig)); + } + + /** + * 删除视频配置 + */ + @PreAuthorize("@ss.hasPermi('project:videoConfig:remove')") + @Log(title = "视频配置", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(surProjectVideoConfigService.deleteSurProjectVideoConfigByIds(ids)); + } +} diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/domain/SurProjectVideoConfig.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/domain/SurProjectVideoConfig.java new file mode 100644 index 00000000..9f215012 --- /dev/null +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/domain/SurProjectVideoConfig.java @@ -0,0 +1,193 @@ +package com.yanzhu.jh.project.domain; + +import java.util.List; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 视频配置对象 sur_project_video_config + * + * @author JiangYuQi + * @date 2023-08-25 + */ +public class SurProjectVideoConfig extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键 */ + private Long id; + + /** 项目主键 */ + @Excel(name = "项目主键") + private Long projectId; + + /** 视频类型 */ + @Excel(name = "视频类型") + private String videoOnlyType; + + /** 视频编号 */ + @Excel(name = "视频编号") + private String videoDvrNumber; + + /** 视频信令 */ + @Excel(name = "视频信令") + private String videoDvrSecurity; + + /** 通道数量 */ + @Excel(name = "通道数量") + private Long videoPassageCount; + + /** 通信类型 */ + @Excel(name = "通信类型") + private String signalType; + + /** 通信状态 */ + @Excel(name = "通信状态") + private String signalState; + + /** 通信密码 */ + @Excel(name = "通信密码") + private String signalCode; + + /** 数据状态 */ + @Excel(name = "数据状态") + private String isDel; + + private String projectName; + + /** 视频通道信息 */ + private List surProjectVideoPassageList; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setProjectId(Long projectId) + { + this.projectId = projectId; + } + + public Long getProjectId() + { + return projectId; + } + public void setVideoOnlyType(String videoOnlyType) + { + this.videoOnlyType = videoOnlyType; + } + + public String getVideoOnlyType() + { + return videoOnlyType; + } + public void setVideoDvrNumber(String videoDvrNumber) + { + this.videoDvrNumber = videoDvrNumber; + } + + public String getVideoDvrNumber() + { + return videoDvrNumber; + } + public void setVideoDvrSecurity(String videoDvrSecurity) + { + this.videoDvrSecurity = videoDvrSecurity; + } + + public String getVideoDvrSecurity() + { + return videoDvrSecurity; + } + public void setVideoPassageCount(Long videoPassageCount) + { + this.videoPassageCount = videoPassageCount; + } + + public Long getVideoPassageCount() + { + return videoPassageCount; + } + public void setSignalType(String signalType) + { + this.signalType = signalType; + } + + public String getSignalType() + { + return signalType; + } + public void setSignalState(String signalState) + { + this.signalState = signalState; + } + + public String getSignalState() + { + return signalState; + } + public void setSignalCode(String signalCode) + { + this.signalCode = signalCode; + } + + public String getSignalCode() + { + return signalCode; + } + public void setIsDel(String isDel) + { + this.isDel = isDel; + } + + public String getIsDel() + { + return isDel; + } + + public List getSurProjectVideoPassageList() + { + return surProjectVideoPassageList; + } + + public void setSurProjectVideoPassageList(List surProjectVideoPassageList) + { + this.surProjectVideoPassageList = surProjectVideoPassageList; + } + + public String getProjectName() { + return projectName; + } + + public void setProjectName(String projectName) { + this.projectName = projectName; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("projectId", getProjectId()) + .append("videoOnlyType", getVideoOnlyType()) + .append("videoDvrNumber", getVideoDvrNumber()) + .append("videoDvrSecurity", getVideoDvrSecurity()) + .append("videoPassageCount", getVideoPassageCount()) + .append("signalType", getSignalType()) + .append("signalState", getSignalState()) + .append("signalCode", getSignalCode()) + .append("isDel", getIsDel()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .append("surProjectVideoPassageList", getSurProjectVideoPassageList()) + .toString(); + } +} diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/domain/SurProjectVideoPassage.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/domain/SurProjectVideoPassage.java new file mode 100644 index 00000000..ca1f79c3 --- /dev/null +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/domain/SurProjectVideoPassage.java @@ -0,0 +1,93 @@ +package com.yanzhu.jh.project.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 视频通道对象 sur_project_video_passage + * + * @author JiangYuQi + * @date 2023-08-25 + */ +public class SurProjectVideoPassage extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键 */ + private Long id; + + /** 视频主键 */ + @Excel(name = "视频主键") + private Long videoId; + + /** 视频编号 */ + @Excel(name = "视频编号") + private String videoDvrNumber; + + /** 通道名称 */ + @Excel(name = "通道名称") + private String passageName; + + /** 视频通道 */ + @Excel(name = "视频通道") + private Long passageValue; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setVideoId(Long videoId) + { + this.videoId = videoId; + } + + public Long getVideoId() + { + return videoId; + } + public void setVideoDvrNumber(String videoDvrNumber) + { + this.videoDvrNumber = videoDvrNumber; + } + + public String getVideoDvrNumber() + { + return videoDvrNumber; + } + public void setPassageName(String passageName) + { + this.passageName = passageName; + } + + public String getPassageName() + { + return passageName; + } + public void setPassageValue(Long passageValue) + { + this.passageValue = passageValue; + } + + public Long getPassageValue() + { + return passageValue; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("videoId", getVideoId()) + .append("videoDvrNumber", getVideoDvrNumber()) + .append("passageName", getPassageName()) + .append("passageValue", getPassageValue()) + .toString(); + } +} diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectVideoConfigMapper.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectVideoConfigMapper.java new file mode 100644 index 00000000..f458ef7a --- /dev/null +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectVideoConfigMapper.java @@ -0,0 +1,87 @@ +package com.yanzhu.jh.project.mapper; + +import java.util.List; +import com.yanzhu.jh.project.domain.SurProjectVideoConfig; +import com.yanzhu.jh.project.domain.SurProjectVideoPassage; + +/** + * 视频配置Mapper接口 + * + * @author JiangYuQi + * @date 2023-08-25 + */ +public interface SurProjectVideoConfigMapper +{ + /** + * 查询视频配置 + * + * @param id 视频配置主键 + * @return 视频配置 + */ + public SurProjectVideoConfig selectSurProjectVideoConfigById(Long id); + + /** + * 查询视频配置列表 + * + * @param surProjectVideoConfig 视频配置 + * @return 视频配置集合 + */ + public List selectSurProjectVideoConfigList(SurProjectVideoConfig surProjectVideoConfig); + + /** + * 新增视频配置 + * + * @param surProjectVideoConfig 视频配置 + * @return 结果 + */ + public int insertSurProjectVideoConfig(SurProjectVideoConfig surProjectVideoConfig); + + /** + * 修改视频配置 + * + * @param surProjectVideoConfig 视频配置 + * @return 结果 + */ + public int updateSurProjectVideoConfig(SurProjectVideoConfig surProjectVideoConfig); + + /** + * 删除视频配置 + * + * @param id 视频配置主键 + * @return 结果 + */ + public int deleteSurProjectVideoConfigById(Long id); + + /** + * 批量删除视频配置 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteSurProjectVideoConfigByIds(Long[] ids); + + /** + * 批量删除视频通道 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteSurProjectVideoPassageByVideoIds(Long[] ids); + + /** + * 批量新增视频通道 + * + * @param surProjectVideoPassageList 视频通道列表 + * @return 结果 + */ + public int batchSurProjectVideoPassage(List surProjectVideoPassageList); + + + /** + * 通过视频配置主键删除视频通道信息 + * + * @param id 视频配置ID + * @return 结果 + */ + public int deleteSurProjectVideoPassageByVideoId(Long id); +} diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectVideoConfigService.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectVideoConfigService.java new file mode 100644 index 00000000..c4d1c51b --- /dev/null +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectVideoConfigService.java @@ -0,0 +1,61 @@ +package com.yanzhu.jh.project.service; + +import java.util.List; +import com.yanzhu.jh.project.domain.SurProjectVideoConfig; + +/** + * 视频配置Service接口 + * + * @author JiangYuQi + * @date 2023-08-25 + */ +public interface ISurProjectVideoConfigService +{ + /** + * 查询视频配置 + * + * @param id 视频配置主键 + * @return 视频配置 + */ + public SurProjectVideoConfig selectSurProjectVideoConfigById(Long id); + + /** + * 查询视频配置列表 + * + * @param surProjectVideoConfig 视频配置 + * @return 视频配置集合 + */ + public List selectSurProjectVideoConfigList(SurProjectVideoConfig surProjectVideoConfig); + + /** + * 新增视频配置 + * + * @param surProjectVideoConfig 视频配置 + * @return 结果 + */ + public int insertSurProjectVideoConfig(SurProjectVideoConfig surProjectVideoConfig); + + /** + * 修改视频配置 + * + * @param surProjectVideoConfig 视频配置 + * @return 结果 + */ + public int updateSurProjectVideoConfig(SurProjectVideoConfig surProjectVideoConfig); + + /** + * 批量删除视频配置 + * + * @param ids 需要删除的视频配置主键集合 + * @return 结果 + */ + public int deleteSurProjectVideoConfigByIds(Long[] ids); + + /** + * 删除视频配置信息 + * + * @param id 视频配置主键 + * @return 结果 + */ + public int deleteSurProjectVideoConfigById(Long id); +} diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectUserinfoServiceImpl.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectUserinfoServiceImpl.java index 17be87cf..9cf5447f 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectUserinfoServiceImpl.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectUserinfoServiceImpl.java @@ -181,10 +181,14 @@ public class SurProjectUserinfoServiceImpl implements ISurProjectUserinfoService public int insertSurProjectUserinfo(SurProjectUserinfo surProjectUserinfo) { int res = 0; + /**** + * 遗留BUg + * 选人时直接选到主菜单,选出来的单位有问题 + */ surProjectUserinfo.setCreateTime(DateUtils.getNowDate()); SysDept sysDept = deptMapper.selectDeptById(surProjectUserinfo.getDeptId()); //如果时城建公司的人&&当前选的单位非子公司,这里自己查询项目的所属单位 - if(DeptTypeEnum.ZGS.getCode().equals(sysDept.getTypeFlag())){ + if(DeptTypeEnum.ZGS.getCode().equals(sysDept.getTypeFlag()) || DeptTypeEnum.JTGS.getCode().equals(sysDept.getTypeFlag())){ SurProject surProject = surProjectMapper.selectSurProjectById(surProjectUserinfo.getProjectId()); //选择人员职务是甲方经理时,同步到项目负责人 if(PublicStateEnum.USERTYPE_JFJL.getCode().equals(surProjectUserinfo.getJobType())){ @@ -194,9 +198,12 @@ public class SurProjectUserinfoServiceImpl implements ISurProjectUserinfoService surProjectMapper.updateSurProject(surProject); } sysDept = deptMapper.selectDeptById(surProject.getDeptId()); + //集团人进入项目也是责任主体 + surProjectUserinfo.setDeptType(DeptTypeEnum.ZGS.getCode()); + }else{ + surProjectUserinfo.setDeptType(sysDept.getTypeFlag()); } surProjectUserinfo.setDeptName(sysDept.getDeptName()); - surProjectUserinfo.setDeptType(DeptTypeEnum.ZGS.getCode().equals(sysDept.getTypeFlag())?DeptTypeEnum.JTGS.getCode():sysDept.getTypeFlag()); surProjectUserinfo.setIsDel(Convert.toLong(PublicStateEnum.OK.getCode())); for(Long userId:surProjectUserinfo.getUserIds()){ surProjectUserinfo.setUserId(userId); diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectVideoConfigServiceImpl.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectVideoConfigServiceImpl.java new file mode 100644 index 00000000..26544a75 --- /dev/null +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectVideoConfigServiceImpl.java @@ -0,0 +1,136 @@ +package com.yanzhu.jh.project.service.impl; + +import java.util.List; +import com.ruoyi.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.util.ArrayList; +import com.ruoyi.common.utils.StringUtils; +import org.springframework.transaction.annotation.Transactional; +import com.yanzhu.jh.project.domain.SurProjectVideoPassage; +import com.yanzhu.jh.project.mapper.SurProjectVideoConfigMapper; +import com.yanzhu.jh.project.domain.SurProjectVideoConfig; +import com.yanzhu.jh.project.service.ISurProjectVideoConfigService; +import com.ruoyi.common.utils.SecurityUtils; +/** + * 视频配置Service业务层处理 + * + * @author JiangYuQi + * @date 2023-08-25 + */ +@Service +public class SurProjectVideoConfigServiceImpl implements ISurProjectVideoConfigService +{ + @Autowired + private SurProjectVideoConfigMapper surProjectVideoConfigMapper; + + /** + * 查询视频配置 + * + * @param id 视频配置主键 + * @return 视频配置 + */ + @Override + public SurProjectVideoConfig selectSurProjectVideoConfigById(Long id) + { + return surProjectVideoConfigMapper.selectSurProjectVideoConfigById(id); + } + + /** + * 查询视频配置列表 + * + * @param surProjectVideoConfig 视频配置 + * @return 视频配置 + */ + @Override + public List selectSurProjectVideoConfigList(SurProjectVideoConfig surProjectVideoConfig) + { + return surProjectVideoConfigMapper.selectSurProjectVideoConfigList(surProjectVideoConfig); + } + + /** + * 新增视频配置 + * + * @param surProjectVideoConfig 视频配置 + * @return 结果 + */ + @Transactional + @Override + public int insertSurProjectVideoConfig(SurProjectVideoConfig surProjectVideoConfig) + { + surProjectVideoConfig.setCreateBy(SecurityUtils.getUsername()); + surProjectVideoConfig.setCreateTime(DateUtils.getNowDate()); + int rows = surProjectVideoConfigMapper.insertSurProjectVideoConfig(surProjectVideoConfig); + insertSurProjectVideoPassage(surProjectVideoConfig); + return rows; + } + + /** + * 修改视频配置 + * + * @param surProjectVideoConfig 视频配置 + * @return 结果 + */ + @Transactional + @Override + public int updateSurProjectVideoConfig(SurProjectVideoConfig surProjectVideoConfig) + { + surProjectVideoConfig.setUpdateBy(SecurityUtils.getUsername()); + surProjectVideoConfig.setUpdateTime(DateUtils.getNowDate()); + surProjectVideoConfigMapper.deleteSurProjectVideoPassageByVideoId(surProjectVideoConfig.getId()); + insertSurProjectVideoPassage(surProjectVideoConfig); + return surProjectVideoConfigMapper.updateSurProjectVideoConfig(surProjectVideoConfig); + } + + /** + * 批量删除视频配置 + * + * @param ids 需要删除的视频配置主键 + * @return 结果 + */ + @Transactional + @Override + public int deleteSurProjectVideoConfigByIds(Long[] ids) + { + surProjectVideoConfigMapper.deleteSurProjectVideoPassageByVideoIds(ids); + return surProjectVideoConfigMapper.deleteSurProjectVideoConfigByIds(ids); + } + + /** + * 删除视频配置信息 + * + * @param id 视频配置主键 + * @return 结果 + */ + @Transactional + @Override + public int deleteSurProjectVideoConfigById(Long id) + { + surProjectVideoConfigMapper.deleteSurProjectVideoPassageByVideoId(id); + return surProjectVideoConfigMapper.deleteSurProjectVideoConfigById(id); + } + + /** + * 新增视频通道信息 + * + * @param surProjectVideoConfig 视频配置对象 + */ + public void insertSurProjectVideoPassage(SurProjectVideoConfig surProjectVideoConfig) + { + List surProjectVideoPassageList = surProjectVideoConfig.getSurProjectVideoPassageList(); + Long id = surProjectVideoConfig.getId(); + if (StringUtils.isNotNull(surProjectVideoPassageList)) + { + List list = new ArrayList(); + for (SurProjectVideoPassage surProjectVideoPassage : surProjectVideoPassageList) + { + surProjectVideoPassage.setVideoId(id); + list.add(surProjectVideoPassage); + } + if (list.size() > 0) + { + surProjectVideoConfigMapper.batchSurProjectVideoPassage(list); + } + } + } +} diff --git a/yanzhu-jh/src/main/resources/mapper/project/SurProjectVideoConfigMapper.xml b/yanzhu-jh/src/main/resources/mapper/project/SurProjectVideoConfigMapper.xml new file mode 100644 index 00000000..32510464 --- /dev/null +++ b/yanzhu-jh/src/main/resources/mapper/project/SurProjectVideoConfigMapper.xml @@ -0,0 +1,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select spvc.id, spvc.project_id, spvc.video_only_type, spvc.video_dvr_number, spvc.video_dvr_security, spvc.video_passage_count, spvc.signal_type, spvc.signal_state, spvc.signal_code, spvc.is_del, spvc.create_by, spvc.create_time, spvc.update_by, spvc.update_time, spvc.remark, sp.projectName from sur_project_video_config spvc + left join sur_project sp on sp.id=spvc.project_id + + + + + + and spvc.is_del='0' + and spvc.project_id = #{projectId} + and sp.projectName like concat('%', #{projectName}, '%') + and spvc.video_only_type = #{videoOnlyType} + and spvc.video_dvr_number like concat('%', #{videoDvrNumber}, '%') + and spvc.video_dvr_security = #{videoDvrSecurity} + and spvc.video_passage_count = #{videoPassageCount} + and spvc.signal_type = #{signalType} + and spvc.signal_state = #{signalState} + and spvc.signal_code = #{signalCode} + and spvc.is_del = #{isDel} + + and sp.deptId = #{projectDeptId} + + and sp.deptId = #{nowDept} + + and sp.id in (select DISTINCT spui.projectId from sur_project_unit_info spui where spui.unitId = #{nowDept}) + and sp.id in (select DISTINCT spu.project_id from sur_project_userinfo spu where spu.user_id = #{nowUser} and spu.is_del=0) + + + + + select a.id, a.project_id, a.video_only_type, a.video_dvr_number, a.video_dvr_security, a.video_passage_count, 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 + from sur_project_video_config a + left join sur_project p on a.project_id=p.id + left join sur_project_video_passage b on b.video_id = a.id + where a.id = #{id} + + + + insert into sur_project_video_config + + project_id, + video_only_type, + video_dvr_number, + video_dvr_security, + video_passage_count, + signal_type, + signal_state, + signal_code, + is_del, + create_by, + create_time, + update_by, + update_time, + remark, + + + #{projectId}, + #{videoOnlyType}, + #{videoDvrNumber}, + #{videoDvrSecurity}, + #{videoPassageCount}, + #{signalType}, + #{signalState}, + #{signalCode}, + #{isDel}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{remark}, + + + + + update sur_project_video_config + + project_id = #{projectId}, + video_only_type = #{videoOnlyType}, + video_dvr_number = #{videoDvrNumber}, + video_dvr_security = #{videoDvrSecurity}, + video_passage_count = #{videoPassageCount}, + signal_type = #{signalType}, + signal_state = #{signalState}, + signal_code = #{signalCode}, + is_del = #{isDel}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + remark = #{remark}, + + where id = #{id} + + + + delete from sur_project_video_config where id = #{id} + + + + delete from sur_project_video_config where id in + + #{id} + + + + + delete from sur_project_video_passage where video_id in + + #{videoId} + + + + + delete from sur_project_video_passage where video_id = #{videoId} + + + + insert into sur_project_video_passage( id, video_id, video_dvr_number, passage_name, passage_value) values + + ( #{item.id}, #{item.videoId}, #{item.videoDvrNumber}, #{item.passageName}, #{item.passageValue}) + + + \ No newline at end of file