From 19a6d9d8f0e76fb5913960029c3c72ccc28f8107 Mon Sep 17 00:00:00 2001 From: hxh <762326930@qq.com> Date: Mon, 25 Mar 2024 09:37:45 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=A7=86=E9=A2=91=E5=9B=BE=E5=83=8F?= =?UTF-8?q?=E5=91=8A=E8=AD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/kms/common/utils/BaseEntityUtils.java | 35 +++-- .../java/com/kms/common/utils/UserUtils.java | 21 ++- .../controller/VideoWarningController.java | 35 +++++ .../controller/WarningDataController.java | 21 +++ .../yxgh/common/domain/MonitoringData.java | 58 ++++++++ .../yxgh/common/domain/MonitoringStation.java | 30 ++++ .../kms/yxgh/common/domain/VideoWarning.java | 35 +++++ .../kms/yxgh/common/dto/VideoWarningDto.java | 44 ++++++ .../java/com/kms/yxgh/common/job/Job.java | 137 ++++++++++++++++++ .../common/mapper/MonitoringDataMapper.java | 18 +++ .../mapper/MonitoringStationMapper.java | 17 +++ .../common/mapper/VideoWarningMapper.java | 55 +++++++ .../common/service/VideoWarningService.java | 62 ++++++++ sql/sy/v1.2.0/全量脚本/statistic.sql | 56 +++++++ 14 files changed, 600 insertions(+), 24 deletions(-) create mode 100644 shuili-system/src/main/java/com/kms/yxgh/common/controller/VideoWarningController.java create mode 100644 shuili-system/src/main/java/com/kms/yxgh/common/controller/WarningDataController.java create mode 100644 shuili-system/src/main/java/com/kms/yxgh/common/domain/MonitoringData.java create mode 100644 shuili-system/src/main/java/com/kms/yxgh/common/domain/MonitoringStation.java create mode 100644 shuili-system/src/main/java/com/kms/yxgh/common/domain/VideoWarning.java create mode 100644 shuili-system/src/main/java/com/kms/yxgh/common/dto/VideoWarningDto.java create mode 100644 shuili-system/src/main/java/com/kms/yxgh/common/job/Job.java create mode 100644 shuili-system/src/main/java/com/kms/yxgh/common/mapper/MonitoringDataMapper.java create mode 100644 shuili-system/src/main/java/com/kms/yxgh/common/mapper/MonitoringStationMapper.java create mode 100644 shuili-system/src/main/java/com/kms/yxgh/common/mapper/VideoWarningMapper.java create mode 100644 shuili-system/src/main/java/com/kms/yxgh/common/service/VideoWarningService.java create mode 100644 sql/sy/v1.2.0/全量脚本/statistic.sql diff --git a/shuili-system/src/main/java/com/kms/common/utils/BaseEntityUtils.java b/shuili-system/src/main/java/com/kms/common/utils/BaseEntityUtils.java index 7108afac..57501a99 100644 --- a/shuili-system/src/main/java/com/kms/common/utils/BaseEntityUtils.java +++ b/shuili-system/src/main/java/com/kms/common/utils/BaseEntityUtils.java @@ -7,31 +7,40 @@ import com.shuili.common.utils.StringUtils; public class BaseEntityUtils { //添加更新人 - public static void preUpdate(BaseEntity be){ + public static void preUpdate(BaseEntity be) { be.preUpdate(); - SysUser user = UserUtils.getUser(); - if(StringUtils.isNotNull(user)){ - be.setUpdateUid(user.getId()); + try { + SysUser user = UserUtils.getUser(); + if (StringUtils.isNotNull(user)) { + be.setUpdateUid(user.getId()); + } + } catch (Exception ignored) { } } //添加创建人 - public static void preInsert(BaseEntity be){ + public static void preInsert(BaseEntity be) { be.preInsert(); - SysUser user = UserUtils.getUser(); - if(StringUtils.isNotNull(user)){ - be.setCreateUid(user.getId()); - be.setUpdateUid(user.getId()); + try { + SysUser user = UserUtils.getUser(); + if (StringUtils.isNotNull(user)) { + be.setCreateUid(user.getId()); + be.setUpdateUid(user.getId()); + } + } catch (Exception ignored) { } } /** * 添加创建人 */ - public static void addCreateBy(BaseEntity be){ - SysUser user = UserUtils.getUser(); - if(StringUtils.isNotNull(user)){ - be.setCreateUid(user.getId()); + public static void addCreateBy(BaseEntity be) { + try { + SysUser user = UserUtils.getUser(); + if (StringUtils.isNotNull(user)) { + be.setCreateUid(user.getId()); + } + } catch (Exception ignored) { } } } diff --git a/shuili-system/src/main/java/com/kms/common/utils/UserUtils.java b/shuili-system/src/main/java/com/kms/common/utils/UserUtils.java index 6dfe7037..cd8b99ea 100644 --- a/shuili-system/src/main/java/com/kms/common/utils/UserUtils.java +++ b/shuili-system/src/main/java/com/kms/common/utils/UserUtils.java @@ -1,11 +1,11 @@ package com.kms.common.utils; import cn.dev33.satoken.stp.StpUtil; +import com.kms.framework.web.service.SysPermissionService; +import com.kms.system.service.SysUserService; import com.shuili.common.core.domain.entity.SysUser; import com.shuili.common.utils.SpringUtils; import com.shuili.common.utils.StringUtils; -import com.kms.framework.web.service.SysPermissionService; -import com.kms.system.service.SysUserService; import java.util.Set; @@ -15,15 +15,15 @@ public class UserUtils { private static SysPermissionService sysPermissionService = null; - private static SysUserService getUserService(){ - if(userService == null){ + private static SysUserService getUserService() { + if (userService == null) { userService = SpringUtils.getBean(SysUserService.class); } - return userService; + return userService; } - private static SysPermissionService getSysPermissionService(){ - if(sysPermissionService == null){ + private static SysPermissionService getSysPermissionService() { + if (sysPermissionService == null) { sysPermissionService = SpringUtils.getBean(SysPermissionService.class); } return sysPermissionService; @@ -33,17 +33,16 @@ public class UserUtils { try { String loginId = StpUtil.getLoginId("-1"); - if(StringUtils.isNotEmpty(loginId)) { + if (StringUtils.isNotEmpty(loginId)) { return getUserService().getWithRedis(loginId); // return getUserService().selectUserById(loginId); } - } catch (Exception e) { - e.printStackTrace(); + } catch (Exception ignored) { } return null; } - public static Set getPermissions(){ + public static Set getPermissions() { SysUser user = getUser(); return sysPermissionService.getMenuPermission(user); } diff --git a/shuili-system/src/main/java/com/kms/yxgh/common/controller/VideoWarningController.java b/shuili-system/src/main/java/com/kms/yxgh/common/controller/VideoWarningController.java new file mode 100644 index 00000000..addb068c --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yxgh/common/controller/VideoWarningController.java @@ -0,0 +1,35 @@ +package com.kms.yxgh.common.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.kms.yxgh.base.Response; +import com.kms.yxgh.common.dto.VideoWarningDto; +import com.kms.yxgh.common.dto.WarningQueDto; +import com.kms.yxgh.common.service.VideoWarningService; +import com.shuili.common.core.domain.SearchParam; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.*; + + +@RestController +@AllArgsConstructor +@RequestMapping("/run/api/video/warning") +@Api(tags = "运行管理视频预警相关") +public class VideoWarningController { + + private final VideoWarningService warningService; + + @PostMapping("/list") + @ApiOperation("预警列表") + public IPage list(@RequestBody SearchParam sp) { + return warningService.selectPage(sp); + } + + @GetMapping("/{id}") + @ApiOperation("预警详情") + public Response detail(@PathVariable String id) { + return Response.ok(warningService.detail(id)); + } + +} diff --git a/shuili-system/src/main/java/com/kms/yxgh/common/controller/WarningDataController.java b/shuili-system/src/main/java/com/kms/yxgh/common/controller/WarningDataController.java new file mode 100644 index 00000000..b9587e9d --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yxgh/common/controller/WarningDataController.java @@ -0,0 +1,21 @@ +package com.kms.yxgh.common.controller; + +import io.swagger.annotations.Api; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName: WarningDataController + * @Description: TODO + * @Date: 2024/3/24 下午9:27 + * * + * @author: hxh + * @version: 1.0 + */ +@RestController +@AllArgsConstructor +@RequestMapping("/run/api/indicator") +@Api(tags = "运行管理运行指标相关") +public class WarningDataController { +} diff --git a/shuili-system/src/main/java/com/kms/yxgh/common/domain/MonitoringData.java b/shuili-system/src/main/java/com/kms/yxgh/common/domain/MonitoringData.java new file mode 100644 index 00000000..dd50d2d3 --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yxgh/common/domain/MonitoringData.java @@ -0,0 +1,58 @@ +package com.kms.yxgh.common.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.kms.yxgh.base.SyBaseEntity; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.util.Date; + +/** + * @ClassName: MonitoringData + * @Description: TODO + * @Date: 2024/3/24 下午7:14 + * * + * @author: hxh + * @version: 1.0 + */ +@TableName("bs_sgc_stc_jc") +@Data +@ApiModel("监测数据表") +public class MonitoringData extends SyBaseEntity { + // 测站编码 + private String stcd; + // 上游水位 + private Float upstreamLevel; + // 下游水位 + private Float downstreamLevel; + // 开度 + private Float opening; + // 过闸流量 + private Float gateFlow; + // 雨量 + private Float rainFall; + // 绕渗透压 + private Float bypassOsmoticPressure; + // 渗透压计高程 + private Float osmoticPressureGaugeElevation; + // 闸机扬压力 + private Float boostPressure; + // 水闸接缝 + private Float seam; + // 裂缝开合度 + private Float crackOpeningDegree; + // 闸墩变形x + private Float deformationX; + // 闸墩变形y + private Float deformationY; + // 闸机油温 + private Float oilTemperature; + // 采集时间 + private Date collectionTime; + + private Integer year; + + @TableField(exist = false) + private String remark; +} diff --git a/shuili-system/src/main/java/com/kms/yxgh/common/domain/MonitoringStation.java b/shuili-system/src/main/java/com/kms/yxgh/common/domain/MonitoringStation.java new file mode 100644 index 00000000..9248571f --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yxgh/common/domain/MonitoringStation.java @@ -0,0 +1,30 @@ +package com.kms.yxgh.common.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.kms.yxgh.base.SyBaseEntity; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * @ClassName: MonitoringStation + * @Description: TODO + * @Date: 2024/3/24 下午6:28 + * * + * @author: hxh + * @version: 1.0 + */ +@TableName("bs_sgc_stc_cz") +@Data +@ApiModel("测站表") +public class MonitoringStation extends SyBaseEntity { + + + private String stcd; + private String stcdName; + private String code; + private String type; + + @TableField(exist = false) + private String remark; +} diff --git a/shuili-system/src/main/java/com/kms/yxgh/common/domain/VideoWarning.java b/shuili-system/src/main/java/com/kms/yxgh/common/domain/VideoWarning.java new file mode 100644 index 00000000..da874ff0 --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yxgh/common/domain/VideoWarning.java @@ -0,0 +1,35 @@ +package com.kms.yxgh.common.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.kms.yxgh.base.SyBaseEntity; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.util.Date; + +/** + * @ClassName: VideoWarning + * @Description: TODO + * @Date: 2024/3/24 下午6:25 + * * + * @author: hxh + * @version: 1.0 + */ +@TableName("bs_sgc_stc_spfx") +@Data +@ApiModel("视频分析预警") +public class VideoWarning extends SyBaseEntity { + + + private String code; + + private Integer type; + + private String name; + + private Date warningTime; + + @TableField(exist = false) + private String remark; +} diff --git a/shuili-system/src/main/java/com/kms/yxgh/common/dto/VideoWarningDto.java b/shuili-system/src/main/java/com/kms/yxgh/common/dto/VideoWarningDto.java new file mode 100644 index 00000000..7c2f44dd --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yxgh/common/dto/VideoWarningDto.java @@ -0,0 +1,44 @@ +package com.kms.yxgh.common.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @ClassName: VideoWarningDto + * @Description: TODO + * @Date: 2024/3/24 下午7:24 + * * + * @author: hxh + * @version: 1.0 + */ + +@ApiModel("视频预警") +@Data +public class VideoWarningDto { + + @ApiModelProperty(value = "id") + private String id; + @ApiModelProperty(value = "对象编码") + private String code; + + @ApiModelProperty(value = "对象名称") + private String objName; + + @ApiModelProperty(value = "对象类型") + private Integer type; + + @ApiModelProperty(value = "预警名称") + private String name; + + @ApiModelProperty(value = "预警地点") + private String location; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @ApiModelProperty(value = "预警时间") + private Date warningTime; + +} diff --git a/shuili-system/src/main/java/com/kms/yxgh/common/job/Job.java b/shuili-system/src/main/java/com/kms/yxgh/common/job/Job.java new file mode 100644 index 00000000..5298ef30 --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yxgh/common/job/Job.java @@ -0,0 +1,137 @@ +package com.kms.yxgh.common.job; + +import cn.hutool.core.date.DateField; +import cn.hutool.core.util.RandomUtil; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.kms.yg.df.domain.BsSgcDfJbxx; +import com.kms.yg.df.mapper.BsSgcDfJbxxMapper; +import com.kms.yg.sz.domain.BsSgcSzGcda; +import com.kms.yg.sz.mapper.BsSgcSzGcdaMapper; +import com.kms.yxgh.common.domain.MonitoringData; +import com.kms.yxgh.common.domain.MonitoringStation; +import com.kms.yxgh.common.domain.VideoWarning; +import com.kms.yxgh.common.mapper.MonitoringDataMapper; +import com.kms.yxgh.common.mapper.MonitoringStationMapper; +import com.kms.yxgh.common.mapper.VideoWarningMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import java.time.ZoneId; +import java.util.Date; +import java.util.List; + +/** + * @ClassName: Job + * @Description: TODO + * @Date: 2024/3/24 下午8:06 + * * + * @author: hxh + * @version: 1.0 + */ +//开启spring定时任务 +@EnableScheduling +@Component +public class Job { + + @Value("${job.isRunning:false}") + private Boolean isRunning; + + @Autowired + private BsSgcDfJbxxMapper bsSgcDfJbxxMapper; + + @Autowired + private BsSgcSzGcdaMapper bsSgcSzJbxxMapper; + + @Autowired + private VideoWarningMapper videoWarningMapper; + + @Autowired + private MonitoringDataMapper monitoringDataMapper; + + @Autowired + private MonitoringStationMapper monitoringStationMapper; + + @Scheduled(cron = "0 0/5 * * * ?") + public void run() { + if (isRunning) { + List dfList = dfList(); + List szList = szList(); + try { + insert(dfList.get(RandomUtil.randomInt(dfList.size())).getDikeCode(), 1); + } catch (Exception ignored) { + } + try { + insert(szList.get(RandomUtil.randomInt(szList.size())).getWagaCode(), 2); + } catch (Exception ignored) { + } + try { + initMonitoringData(); + } catch (Exception ignored) { + + } + } + } + + private void initMonitoringData() { + List monitoringStationList = monitoringStationList(); + int size = RandomUtil.randomInt(2, 4); + for (int i = 0; i < size; i++) { + MonitoringStation monitoringStation = monitoringStationList.get(RandomUtil.randomInt(monitoringStationList.size())); + MonitoringData monitoringData = new MonitoringData(); + monitoringData.setStcd(monitoringStation.getStcd()); + monitoringData.setUpstreamLevel((float) RandomUtil.randomDouble(0, 100)); + monitoringData.setDownstreamLevel((float) RandomUtil.randomDouble(0, 100)); + monitoringData.setOpening((float) RandomUtil.randomDouble(0, 100)); + monitoringData.setGateFlow((float) RandomUtil.randomDouble(0, 100)); + monitoringData.setRainFall((float) RandomUtil.randomDouble(0, 100)); + monitoringData.setBypassOsmoticPressure((float) RandomUtil.randomDouble(0, 100)); + monitoringData.setOsmoticPressureGaugeElevation((float) RandomUtil.randomDouble(0, 100)); + monitoringData.setBoostPressure((float) RandomUtil.randomDouble(0, 100)); + monitoringData.setSeam((float) RandomUtil.randomDouble(0, 100)); + monitoringData.setCrackOpeningDegree((float) RandomUtil.randomDouble(0, 100)); + monitoringData.setDeformationX((float) RandomUtil.randomDouble(0, 100)); + monitoringData.setDeformationY((float) RandomUtil.randomDouble(0, 100)); + monitoringData.setOilTemperature((float) RandomUtil.randomDouble(0, 100)); + monitoringData.setCollectionTime(new Date()); + monitoringData.setYear(monitoringData.getCollectionTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDate().getYear()); + monitoringDataMapper.insert(monitoringData); + } + + } + + private void insert(String code, Integer type) { + VideoWarning videoWarning = new VideoWarning(); + videoWarning.setCode(code); + videoWarning.setType(type); + videoWarning.setName(warningName()); + videoWarning.setWarningTime(RandomUtil.randomDate(new Date(), DateField.SECOND, 1, 60)); + videoWarningMapper.insert(videoWarning); + } + + private List monitoringStationList() { + return monitoringStationMapper.selectList(null); + } + + private String warningName() { + String[] dfWarningName = {"岸边违规侵占", "水面漂浮物聚集", "降雨天气识别", "违规下水游泳"}; + return dfWarningName[RandomUtil.randomInt(dfWarningName.length)]; + } + + + private List dfList() { + Wrapper wrapper = Wrappers.lambdaQuery() + .isNull(BsSgcDfJbxx::getExprDate); + return bsSgcDfJbxxMapper.selectList(wrapper); + } + + private List szList() { + Wrapper wrapper = Wrappers.lambdaQuery() + .isNull(BsSgcSzGcda::getExprDate); + return bsSgcSzJbxxMapper.selectList(wrapper); + } + +} diff --git a/shuili-system/src/main/java/com/kms/yxgh/common/mapper/MonitoringDataMapper.java b/shuili-system/src/main/java/com/kms/yxgh/common/mapper/MonitoringDataMapper.java new file mode 100644 index 00000000..ae4cf914 --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yxgh/common/mapper/MonitoringDataMapper.java @@ -0,0 +1,18 @@ +package com.kms.yxgh.common.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.kms.yxgh.common.domain.MonitoringData; +import org.springframework.stereotype.Repository; + +/** + * @ClassName: MonitoringDataMapper + * @Description: TODO + * @Date: 2024/3/24 下午7:18 + * * + * @author: hxh + * @version: 1.0 + */ + +@Repository +public interface MonitoringDataMapper extends BaseMapper { +} diff --git a/shuili-system/src/main/java/com/kms/yxgh/common/mapper/MonitoringStationMapper.java b/shuili-system/src/main/java/com/kms/yxgh/common/mapper/MonitoringStationMapper.java new file mode 100644 index 00000000..22b09b56 --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yxgh/common/mapper/MonitoringStationMapper.java @@ -0,0 +1,17 @@ +package com.kms.yxgh.common.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.kms.yxgh.common.domain.MonitoringStation; +import org.springframework.stereotype.Repository; + +/** + * @ClassName: MonitoringStationMapper + * @Description: TODO + * @Date: 2024/3/24 下午7:19 + * * + * @author: hxh + * @version: 1.0 + */ +@Repository +public interface MonitoringStationMapper extends BaseMapper { +} diff --git a/shuili-system/src/main/java/com/kms/yxgh/common/mapper/VideoWarningMapper.java b/shuili-system/src/main/java/com/kms/yxgh/common/mapper/VideoWarningMapper.java new file mode 100644 index 00000000..aaccfeff --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yxgh/common/mapper/VideoWarningMapper.java @@ -0,0 +1,55 @@ +package com.kms.yxgh.common.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.kms.yxgh.common.domain.VideoWarning; +import com.kms.yxgh.common.dto.VideoWarningDto; +import com.kms.yxgh.common.dto.WarningQueDto; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; +import org.springframework.stereotype.Repository; + +/** + * @ClassName: VideoWarningMapper + * @Description: TODO + * @Date: 2024/3/24 下午7:20 + * * + * @author: hxh + * @version: 1.0 + */ + +@Repository +public interface VideoWarningMapper extends BaseMapper { + @Select("") + IPage search(Page page, @Param("dto") WarningQueDto dto); + + @Select("") + VideoWarningDto detail(@Param("id") String id); +} diff --git a/shuili-system/src/main/java/com/kms/yxgh/common/service/VideoWarningService.java b/shuili-system/src/main/java/com/kms/yxgh/common/service/VideoWarningService.java new file mode 100644 index 00000000..43e694d8 --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yxgh/common/service/VideoWarningService.java @@ -0,0 +1,62 @@ +package com.kms.yxgh.common.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.kms.yxgh.common.domain.VideoWarning; +import com.kms.yxgh.common.dto.VideoWarningDto; +import com.kms.yxgh.common.dto.WarningQueDto; +import com.kms.yxgh.common.mapper.VideoWarningMapper; +import com.shuili.common.core.domain.SearchParam; +import com.shuili.common.utils.StringUtils; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.Calendar; +import java.util.Date; +import java.util.Optional; + +/** + * @ClassName: videoWarningService + * @Description: TODO + * @Date: 2024/3/24 下午7:22 + * * + * @author: hxh + * @version: 1.0 + */ +@Service +@RequiredArgsConstructor +public class VideoWarningService { + private final VideoWarningMapper videoWarningMapper; + + public IPage selectPage(SearchParam sp) { + Page page = new Page<>(sp.getPageNum(), sp.getPageSize()); + WarningQueDto data = Optional.ofNullable(sp.getData()).orElse(new WarningQueDto()); + if (StringUtils.isNotBlank(data.getAdcd())) { + data.setAdcd(remove00(data.getAdcd())); + } + if (data.getFromTime() != null && data.getStartTime() == null) { + data.setStartTime(getBeforeTime(data.getFromTime())); + } + return videoWarningMapper.search(page, data); + } + + private String remove00(String str) { + if (str.endsWith("00")) { + return str.substring(0, str.length() - 2); + } else if (str.endsWith("0000")) { + return str.substring(0, str.length() - 4); + } + return str; + } + + //计算指定小时数前的时间 + private Date getBeforeTime(Integer fromTime) { + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.HOUR, -fromTime); + return calendar.getTime(); + } + + public VideoWarningDto detail(String id) { + return videoWarningMapper.detail(id); + } +} diff --git a/sql/sy/v1.2.0/全量脚本/statistic.sql b/sql/sy/v1.2.0/全量脚本/statistic.sql new file mode 100644 index 00000000..738b9df6 --- /dev/null +++ b/sql/sy/v1.2.0/全量脚本/statistic.sql @@ -0,0 +1,56 @@ +SET NAMES utf8mb4; + +CREATE TABLE `bs_sgc_stc_jc` ( + `ID` int NOT NULL AUTO_INCREMENT COMMENT '监测id', + `STCD` varchar(255) COLLATE utf8mb4_general_ci COMMENT '测站编码', + `UPSTREAM_LEVEL` float NULL DEFAULT NULL COMMENT '上游水位', + `DOWNSTREAM_LEVEL` float NULL DEFAULT NULL COMMENT '下游水位', + `OPENING` float NULL DEFAULT NULL COMMENT '开度', + `GATE_FLOW` float NULL DEFAULT NULL COMMENT '过闸流量', + `RAIN_FALL` float NULL DEFAULT NULL COMMENT '雨量', + `BYPASS_OSMOTIC_PRESSURE` float NULL DEFAULT NULL COMMENT '绕渗透压', + `OSMOTIC_PRESSURE_GAUGE_ELEVATION` float NULL DEFAULT NULL COMMENT '渗透压计高程', + `BOOST_PRESSURE` float NULL DEFAULT NULL COMMENT '闸机扬压力', + `SEAM` float NULL DEFAULT NULL COMMENT '水闸接缝', + `CRACK_OPENING_DEGREE` float NULL DEFAULT NULL COMMENT '裂缝开合度', + `DEFORMATION_X` float NULL DEFAULT NULL COMMENT '闸墩变形x', + `DEFORMATION_Y` float NULL DEFAULT NULL COMMENT '闸墩变形y', + `OIL_TEMPERATURE` float NULL DEFAULT NULL COMMENT '闸机油温', + `YEAR` int NOT NULL COMMENT '年份', + `COLLECTION_TIME` datetime DEFAULT NULL COMMENT '采集时间', + `CREATE_UID` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人', + `CREATE_TIME` datetime DEFAULT NULL COMMENT '创建时间', + `UPDATE_UID` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '最近修改人', + `UPDATE_TIME` datetime DEFAULT NULL COMMENT '最近修改时间', + PRIMARY KEY (`ID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='监测数据表'; + +CREATE TABLE `bs_sgc_stc_cz` ( + `ID` int NOT NULL AUTO_INCREMENT COMMENT 'id', + `STCD` varchar(255) COLLATE utf8mb4_general_ci COMMENT '测站编码', + `STCD_NAME` varchar(255) COLLATE utf8mb4_general_ci COMMENT '测站名称', + `CODE` varchar(255) COLLATE utf8mb4_general_ci COMMENT '对象编码', + `TYPE` int NULL DEFAULT NULL COMMENT '类型', + `CREATE_UID` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人', + `CREATE_TIME` datetime DEFAULT NULL COMMENT '创建时间', + `UPDATE_UID` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '最近修改人', + `UPDATE_TIME` datetime DEFAULT NULL COMMENT '最近修改时间', + PRIMARY KEY (`ID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='测站表'; + +CREATE TABLE `bs_sgc_stc_spfx` ( + `ID` int NOT NULL AUTO_INCREMENT COMMENT '编号', + `CODE` varchar(255) COLLATE utf8mb4_general_ci COMMENT '对象编码', + `TYPE` int NULL DEFAULT NULL COMMENT '类型', + `NAME` varchar(100) DEFAULT NULL COMMENT '名称', + `WARNING_TIME` datetime DEFAULT NULL COMMENT '创建时间', + `CREATE_UID` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人', + `CREATE_TIME` datetime DEFAULT NULL COMMENT '创建时间', + `UPDATE_UID` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '最近修改人', + `UPDATE_TIME` datetime DEFAULT NULL COMMENT '最近修改时间', + PRIMARY KEY (`ID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='视频分析表'; + + + +