This commit is contained in:
zy 2025-11-10 09:46:16 +08:00
commit 847cfe7b4d
122 changed files with 7828 additions and 0 deletions

11
.gitignore vendored Normal file
View File

@ -0,0 +1,11 @@
## ide
**/.idea
*.iml
rebel.xml
## backend
**/target
**/logs
## front
**/*.lock

282
pom.xml Normal file
View File

@ -0,0 +1,282 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<!-- <version>2.2.6.RELEASE</version>-->
<!-- <version>2.1.7.RELEASE</version>-->
<!-- <version>2.4.5</version>-->
<version>2.7.11</version>
<relativePath/>
</parent>
<groupId>com.wanglei</groupId>
<artifactId>linfen</artifactId>
<version>1.0-SNAPSHOT</version>
<name>boot</name>
<description>王磊河津 数采</description>
<packaging>jar</packaging>
<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<mysql-connector-java.version>8.0.21</mysql-connector-java.version>
<log4j2.version>2.17.0</log4j2.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
<scope>true</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.21</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<!-- aop -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<!--解决HTML5强校验问题-->
<dependency>
<groupId>net.sourceforge.nekohtml</groupId>
<artifactId>nekohtml</artifactId>
<version>1.9.22</version>
</dependency>
<!--mybatis-plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.2.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<!-- 代码生成器-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.2.0</version>
</dependency>
<!-- 模板引擎 -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>swagger-bootstrap-ui</artifactId>
<version>1.9.6</version>
</dependency>
<!--阿里数据库连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.21</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<!-- 阿里JSON解析器 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.83</version>
</dependency>
<!--常用工具类 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
<!--io常用工具类 -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.2</version>
</dependency>
<!--文件上传工具类 -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.3</version>
</dependency>
<!--日志采用 slf4j+logback -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
</dependency>
<!--redis-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!--HTTP接口调用-->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.4.10</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.6</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<!--excel导入导出依赖pio-->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.10</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.3.3</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.3.3</version>
</dependency>
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
<version>2.5.0</version>
</dependency>
</dependencies>
<build>
<finalName>wanglei-hj</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork><!-- 如果没有该配置devtools不会生效 -->
</configuration>
</plugin>
<!-- <plugin>-->
<!-- <groupId>org.apache.maven.plugins</groupId>-->
<!-- <artifactId>maven-compiler-plugin</artifactId>-->
<!-- <configuration>-->
<!-- <source>1.8</source>-->
<!-- <target>1.8</target>-->
<!-- <encoding>UTF-8</encoding>-->
<!-- </configuration>-->
<!-- </plugin>-->
<!-- 打包跳过测试 -->
<!-- <plugin>-->
<!-- <groupId>org.apache.maven.plugins</groupId>-->
<!-- <artifactId>maven-surefire-plugin</artifactId>-->
<!-- <configuration>-->
<!-- <skipTests>true</skipTests>-->
<!-- </configuration>-->
<!-- </plugin>-->
</plugins>
<resources>
<!--引入mapper对应的xml文件-->
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.*</include>
</includes>
</resource>
</resources>
</build>
</project>

View File

@ -0,0 +1,92 @@
package com.wangbin;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
/**
* mybatis代码生成类
*/
public class MybatisPlusGenerator {
public static final String database = "jdbc:mysql://8.130.9.244:13306/jeecg-boot";
public static final String user = "root";
public static final String passwd = "ZhiHang.20230629";
//生成代码地址
public static final String outputdir = "D:/a5";
//包名
public static final String packageName = "com.wangbin";
public void generator(String... include) {
AutoGenerator autoGenerator = new AutoGenerator();
/**
* 全局配置
*/
GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setOutputDir(outputdir);
globalConfig.setOpen(false);
globalConfig.setActiveRecord(true);
globalConfig.setFileOverride(false);//是否覆盖已有文件
globalConfig.setMapperName("%sMapper");
globalConfig.setServiceName("I%sService");
globalConfig.setServiceImplName("%sServiceImpl");
globalConfig.setControllerName("%sController");
globalConfig.setIdType(IdType.ID_WORKER_STR);
globalConfig.setDateType(DateType.ONLY_DATE);
autoGenerator.setGlobalConfig(globalConfig);
/**
* 数据源配置
*/
DataSourceConfig dataSourceConfig = new DataSourceConfig();
dataSourceConfig.setUrl(database + "?useUnicode=true&useSSL=false&serverTimezone=Asia/Shanghai&characterEncoding=utf8");
dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");
dataSourceConfig.setUsername(user);
dataSourceConfig.setPassword(passwd);
autoGenerator.setDataSource(dataSourceConfig);
/**
* 策略配置生成的表在这里配置
*/
StrategyConfig stConfig = new StrategyConfig();
stConfig.setCapitalMode(true);
stConfig.setColumnNaming(NamingStrategy.underline_to_camel);//数据库表字段映射到实体的命名策略
stConfig.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略
stConfig.setSkipView(true);//跳过视图
stConfig.setInclude(include);//生成哪个表的代码
stConfig.setEntityTableFieldAnnotationEnable(true);
stConfig.setEntityLombokModel(true);
autoGenerator.setStrategy(stConfig);
/**
* 生成文件路径配置
*/
PackageConfig packageConfig = new PackageConfig();
packageConfig.setParent(packageName);
packageConfig.setController("controller");
packageConfig.setMapper("mapper");
packageConfig.setService("service");
packageConfig.setServiceImpl("service.Impl");
packageConfig.setEntity("entity");
autoGenerator.setPackageInfo(packageConfig);
//执行
autoGenerator.execute();
}
public static void main(String[] args) {
new MybatisPlusGenerator().generator("surv_hisdata_livestockwater_error","surv_hisdata_orientwater_error");//指标
}
}

View File

@ -0,0 +1,38 @@
package com.wangbin;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
/**
*
* MapperScan("com.demo.*.mapper")
* 一个 * 代表一级包比如可以扫到com.demo.aaa.mapper,不能扫到com.demo.aaa.bbb.mapper
* MapperScan("com.demo.**.mapper")
* 两个 * 代表任意个包比如可以扫到com.demo.aaa.mapper,也可以扫到com.demo.aaa.bbb.mapper
*
*
*/
@SpringBootApplication
//@MapperScan会扫描Mapper接口类并生成对应的实现类
@MapperScan({"com.wangbin.mapper","com.wangbin.module.*.mapper"})
//@MapperScan({"com.wangbin.**.mapper"})
public class WangbinApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(WangbinApplication.class, args);
}
/**
* 使用外置的tomcat启动
* 默认的启动类要继承SpringBootServletInitiailzer类并复写configure()方法
*/
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(WangbinApplication.class);
}
}

View File

@ -0,0 +1,89 @@
package com.wangbin.common;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* 接口返回数据格式
*/
@Data
@ApiModel(value = "接口返回对象", description = "接口返回对象")
public class Result<T> implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 返回处理消息
*/
@ApiModelProperty(value = "返回处理消息")
private String message = "操作成功!";
/**
* 返回代码
* 200返回正常
* 401 用户名或者密码不能为空
* 402 用户名或者密码错误
* 501上传文件错误
*/
@ApiModelProperty(value = "返回代码")
private Integer code = 0;
/**
* 返回数据对象 data
*/
@ApiModelProperty(value = "返回数据对象")
private T result;
/**
* 时间戳
*/
@ApiModelProperty(value = "时间戳")
private long timestamp = System.currentTimeMillis();
public Result() {
}
public static <T> Result<T> ok() {
Result<T> r = new Result<T>();
r.setCode(200);
r.setMessage("成功");
return r;
}
public static <T> Result<T> ok(String msg) {
Result<T> r = new Result<T>();
r.setCode(200);
r.setMessage(msg);
return r;
}
//将该方法声明为静态方法
public static <T> Result<T> ok(T data) {
Result<T> r = new Result<T>();
r.setCode(200);
r.setResult(data);
return r;
}
public static <T> Result<T> error(int code, String message) {
Result<T> r = new Result<T>();
r.message = message;
r.code = code;
return r;
}
public static <T> Result<T> error(String message) {
Result<T> r = new Result<T>();
r.message = message;
r.code = 500;
return r;
}
}

View File

@ -0,0 +1,67 @@
package com.wangbin.config;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.support.http.StatViewServlet;
import com.alibaba.druid.support.http.WebStatFilter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.sql.DataSource;
import java.util.HashMap;
import java.util.Map;
/**
* @Author Tom
* @Date 2020/8/27 - 16:30
* @Param
* @return
**/
@Configuration
public class DruidConfig {
@ConfigurationProperties(prefix = "spring.datasource")
@Bean
public DataSource druidDataSource() {
return new DruidDataSource();
}
//因为Springboot内置了servlet容器所以没有web.xml替代方法就是将ServletRegistrationBean注册进去
//加入后台监控
@Bean //这里其实就相当于servlet的web.xml
public ServletRegistrationBean statViewServlet() {
ServletRegistrationBean<StatViewServlet> bean =
new ServletRegistrationBean<StatViewServlet>(new StatViewServlet(), "/druid/*");
//后台需要有人登录进行配置
//bean.addUrlMappings(); 这个可以添加映射我们在构造里已经写了
//设置一些初始化参数
Map<String, String> initParas = new HashMap<String, String>();
initParas.put("loginUsername", "admin");//它这个账户密码是固定的
initParas.put("loginPassword", "admin123");
//允许谁能防伪
initParas.put("allow", "");//这个值为空或没有就允许所有人访问ip白名单
//initParas.put("allow","localhost");//只允许本机访问多个ip用逗号,隔开
//initParas.put("deny","");//ip黑名单拒绝谁访问 deny和allow同时存在优先deny
initParas.put("resetEnable", "false");//禁用HTML页面的Reset按钮
bean.setInitParameters(initParas);
return bean;
}
//再配置一个过滤器Servlet按上面的方式注册Filter也只能这样
@Bean
public FilterRegistrationBean webStatFilter() {
FilterRegistrationBean bean = new FilterRegistrationBean();
//可以设置也可以获取,设置一个阿里巴巴的过滤器
bean.setFilter(new WebStatFilter());
bean.addUrlPatterns("/*");
//可以过滤和排除哪些东西
Map<String, String> initParams = new HashMap<String, String>();
//把不需要监控的过滤掉,这些不进行统计
initParams.put("exclusions", "*.js,*.css,/druid/*");
bean.setInitParameters(initParams);
return bean;
}
}

View File

@ -0,0 +1,20 @@
package com.wangbin.config;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
/**
* @author wb
* MybatisPlus 分页配置
*/
@Configuration
@ConditionalOnClass(value = {PaginationInterceptor.class})
public class MybatisPlusConfig {
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
}

View File

@ -0,0 +1,65 @@
package com.wangbin.config;
import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cache.annotation.CachingConfigurerSupport;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import javax.annotation.Resource;
/**
* 开启缓存支持
*/
@Slf4j
@EnableCaching
@Configuration
public class RedisConfig extends CachingConfigurerSupport {
@Resource
private LettuceConnectionFactory lettuceConnectionFactory;
/**
* RedisTemplate配置
* @param lettuceConnectionFactory
* @return
*/
@Bean
public RedisTemplate<String, Object> redisTemplate(LettuceConnectionFactory lettuceConnectionFactory) {
log.info(" --- redis config init --- ");
Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer = jacksonSerializer();
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<String, Object>();
redisTemplate.setConnectionFactory(lettuceConnectionFactory);
RedisSerializer<String> stringSerializer = new StringRedisSerializer();
// key序列化
redisTemplate.setKeySerializer(stringSerializer);
// value序列化
redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
// Hash key序列化
redisTemplate.setHashKeySerializer(stringSerializer);
// Hash value序列化
redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);
redisTemplate.afterPropertiesSet();
return redisTemplate;
}
private Jackson2JsonRedisSerializer jacksonSerializer() {
Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.setVisibility(PropertyAccessor.ALL, Visibility.ANY);
// objectMapper.enableDefaultTyping(DefaultTyping.NON_FINAL);
jackson2JsonRedisSerializer.setObjectMapper(objectMapper);
return jackson2JsonRedisSerializer;
}
}

View File

@ -0,0 +1,39 @@
package com.wangbin.config;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.web.context.WebServerInitializedEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component;
import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.UnknownHostException;
/**
* @author wb
* 显示项目启动 接口地址
*/
@Component
@Slf4j
public class ServerConfig implements ApplicationListener<WebServerInitializedEvent> {
private int serverPort;
public int getPort() {
return this.serverPort;
}
@Override
public void onApplicationEvent(WebServerInitializedEvent event) {
try {
InetAddress inetAddress = Inet4Address.getLocalHost();
this.serverPort = event.getWebServer().getPort();
log.info("项目启动成功!接口地址: http://" + inetAddress.getHostAddress() + ":" + serverPort + "/swagger-ui.html");
log.info("项目启动成功!接口地址: http://" + inetAddress.getHostAddress() + ":" + serverPort + "/doc.html");
} catch (UnknownHostException e) {
e.printStackTrace();
}
}
}

View File

@ -0,0 +1,44 @@
package com.wangbin.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
/**
* Swagger2Config 配置文件
*/
@Configuration
@EnableSwagger2
public class Swagger2Config {
@Bean(value = "defaultApi2")
public Docket defaultApi2() {
Docket docket = new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
//分组名称
.groupName("1.0版本")
.select()
//这里指定Controller扫描包路径
.apis(RequestHandlerSelectors.basePackage("com.wangbin.controller"))
.paths(PathSelectors.any())
.build();
return docket;
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("springboot")
.description("springboot")
.termsOfServiceUrl("http://localhost:9001")
.version("1.0")
.build();
}
}

View File

@ -0,0 +1,62 @@
package com.wangbin.config;
import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* xxl-job config
*
* @author xuxueli 2017-04-28
*/
@Configuration
public class XxlJobConfig {
private Logger logger = LoggerFactory.getLogger(XxlJobConfig.class);
@Value("${xxl.job.admin.addresses}")
private String adminAddresses;
@Value("${xxl.job.accessToken}")
private String accessToken;
@Value("${xxl.job.executor.appname}")
private String appname;
@Value("${xxl.job.executor.address}")
private String address;
@Value("${xxl.job.executor.ip}")
private String ip;
@Value("${xxl.job.executor.port}")
private int port;
@Value("${xxl.job.executor.logpath}")
private String logPath;
@Value("${xxl.job.executor.logretentiondays}")
private int logRetentionDays;
@Bean
public XxlJobSpringExecutor xxlJobExecutor() {
logger.info(">>>>>>>>>>> xxl-job config init.");
XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
xxlJobSpringExecutor.setAdminAddresses(adminAddresses);
xxlJobSpringExecutor.setAppname(appname);
xxlJobSpringExecutor.setAddress(address);
xxlJobSpringExecutor.setIp(ip);
xxlJobSpringExecutor.setPort(port);
xxlJobSpringExecutor.setAccessToken(accessToken);
xxlJobSpringExecutor.setLogPath(logPath);
xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays);
return xxlJobSpringExecutor;
}
}

View File

@ -0,0 +1,22 @@
package com.wangbin.constant;
public interface CommonConstant {
/**
* 低阈值
*/
String VAL_LOW = "valLow";
/**
* 高阈值
*/
String VAL_HEIGHT = "valHeight";
/**
* 水质 肖中平的水设备
*/
String XZP_WATER = "xzp-water-";
}

View File

@ -0,0 +1,36 @@
package com.wangbin.constant;
public interface PollutionConstants {
/**
* 水污染物
*/
String WATER_ORIENT = "water_orient";
/**
* 水污染物
*/
String WATER_LIVE = "water_live";
/**
* 气项监测
*/
String AIR_SURV = "air";
/**
* 土壤监测
*/
String SOIL_SURV = "soil";
String STINK = "stink";
String CAMERA = "camera";
/**
* 数据生成间隔 单位秒
*/
Integer dataGenGap = 3600;
}

View File

@ -0,0 +1,21 @@
package com.wangbin.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.stereotype.Controller;
/**
* <p>
* 设备指标 前端控制器
* </p>
*
* @author ${author}
* @since 2023-07-13
*/
@Controller
@RequestMapping("/scEquZhibiao")
public class ScEquZhibiaoController {
}

View File

@ -0,0 +1,21 @@
package com.wangbin.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.stereotype.Controller;
/**
* <p>
* 预警记录表 前端控制器
* </p>
*
* @author ${author}
* @since 2023-07-13
*/
@Controller
@RequestMapping("/survAlertRecord")
public class SurvAlertRecordController {
}

View File

@ -0,0 +1,73 @@
package com.wangbin.controller;
import com.wangbin.common.Result;
import com.wangbin.constant.CommonConstant;
import com.wangbin.entity.SurvDeviceDeploy;
import com.wangbin.entity.SurvTransdataOrientwater;
import com.wangbin.service.ISurvDeviceDeployService;
import com.wangbin.service.ISurvTransdataOrientwaterService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* <p>
* 设备表
* </p>
*
*/
@Controller
@RequestMapping("/survDeviceDeploy")
public class SurvDeviceDeployController {
//
// @Autowired
// private ISurvDeviceDeployService deviceDeployService;
// @Autowired
// private ISurvTransdataOrientwaterService orientwaterService;
//
//
// /**
// * 控制球阀启停
// * deployCode: xzp-water-01
// * os:00- 01-
// * qiufa:0102
// *
// * 第一个设备
// * AA 01 08 01 01 01 00 55 球阀1开 AA01080101010055
// * AA 01 08 01 01 00 00 55 球阀1关 AA01080101000055
// * AA 01 08 01 02 01 00 55 球阀2开 AA01080102010055
// * AA 01 08 01 02 00 00 55 球阀2关 AA01080102000055
// *第二个设备
// * AA 02 08 01 01 01 00 55 球阀1开 AA02080101010055
// * AA 02 08 01 01 00 00 55 球阀1关 AA02080101000055
// * AA 02 08 01 02 01 00 55 球阀2开 AA02080102010055
// * AA 02 08 01 02 00 00 55 球阀2关 AA02080102000055
// */
// @GetMapping("/kongzhi")
// @ResponseBody
// public Result<?> kongzhi(@RequestParam(name = "deployCode") String deployCode,@RequestParam(name = "os") String os,@RequestParam(name = "qiufa") String qiufa) throws InterruptedException {
//
// String deployCodeNum = deployCode.substring(CommonConstant.XZP_WATER.length());//xzp-water-01获取到01
// StringBuilder sbuilder = new StringBuilder("AA");
// sbuilder.append(deployCodeNum).append("0801").append(qiufa).append(os).append("0055");
//
// SurvDeviceDeploy deviceDeploy = deviceDeployService.getOneByCode(deployCode);
// if(deviceDeploy != null){
// deviceDeploy.setSendInfo(sbuilder.toString());
// deviceDeployService.updateById(deviceDeploy);
// }
// Thread.sleep(3*1000);
// SurvTransdataOrientwater transdataOrientwater = orientwaterService.getOneByDeviceCode(deployCode);
// return Result.ok(transdataOrientwater);
// }
}

View File

@ -0,0 +1,21 @@
package com.wangbin.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.stereotype.Controller;
/**
* <p>
* 空气污染监测历史数据 前端控制器
* </p>
*
* @author ${author}
* @since 2023-07-11
*/
@Controller
@RequestMapping("/survHisdataAir")
public class SurvHisdataAirController {
}

View File

@ -0,0 +1,21 @@
package com.wangbin.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.stereotype.Controller;
/**
* <p>
* 畜禽水污染监测历史数据 前端控制器
* </p>
*
* @author ${author}
* @since 2023-07-11
*/
@Controller
@RequestMapping("/survHisdataLivestockwater")
public class SurvHisdataLivestockwaterController {
}

View File

@ -0,0 +1,21 @@
package com.wangbin.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.stereotype.Controller;
/**
* <p>
* 前端控制器
* </p>
*
* @author ${author}
* @since 2025-05-07
*/
@Controller
@RequestMapping("/survHisdataLivestockwaterError")
public class SurvHisdataLivestockwaterErrorController {
}

View File

@ -0,0 +1,21 @@
package com.wangbin.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.stereotype.Controller;
/**
* <p>
* 面源水污染监测历史数据 前端控制器
* </p>
*
* @author ${author}
* @since 2023-07-11
*/
@Controller
@RequestMapping("/survHisdataOrientwater")
public class SurvHisdataOrientwaterController {
}

View File

@ -0,0 +1,21 @@
package com.wangbin.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.stereotype.Controller;
/**
* <p>
* 前端控制器
* </p>
*
* @author ${author}
* @since 2025-05-07
*/
@Controller
@RequestMapping("/survHisdataOrientwaterError")
public class SurvHisdataOrientwaterErrorController {
}

View File

@ -0,0 +1,21 @@
package com.wangbin.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.stereotype.Controller;
/**
* <p>
* 杀虫灯历史数据 前端控制器
* </p>
*
* @author ${author}
* @since 2023-07-11
*/
@Controller
@RequestMapping("/survHisdataPestlight")
public class SurvHisdataPestlightController {
}

View File

@ -0,0 +1,21 @@
package com.wangbin.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.stereotype.Controller;
/**
* <p>
* 土壤污染监测历史数据 前端控制器
* </p>
*
* @author ${author}
* @since 2023-07-11
*/
@Controller
@RequestMapping("/survHisdataSoil")
public class SurvHisdataSoilController {
}

View File

@ -0,0 +1,21 @@
package com.wangbin.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.stereotype.Controller;
/**
* <p>
* 空气污染监测数据 前端控制器
* </p>
*
* @author ${author}
* @since 2023-07-11
*/
@Controller
@RequestMapping("/survTransdataAir")
public class SurvTransdataAirController {
}

View File

@ -0,0 +1,21 @@
package com.wangbin.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.stereotype.Controller;
/**
* <p>
* 畜禽水污染监测数据表 前端控制器
* </p>
*
* @author ${author}
* @since 2023-07-11
*/
@Controller
@RequestMapping("/survTransdataLivestockwater")
public class SurvTransdataLivestockwaterController {
}

View File

@ -0,0 +1,21 @@
package com.wangbin.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.stereotype.Controller;
/**
* <p>
* 面源水污染监测数据表 前端控制器
* </p>
*
* @author ${author}
* @since 2023-07-11
*/
@Controller
@RequestMapping("/survTransdataOrientwater")
public class SurvTransdataOrientwaterController {
}

View File

@ -0,0 +1,21 @@
package com.wangbin.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.stereotype.Controller;
/**
* <p>
* 杀虫灯监测数据 前端控制器
* </p>
*
* @author ${author}
* @since 2023-07-11
*/
@Controller
@RequestMapping("/survTransdataPestlight")
public class SurvTransdataPestlightController {
}

View File

@ -0,0 +1,21 @@
package com.wangbin.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.stereotype.Controller;
/**
* <p>
* 土壤污染监测数据 前端控制器
* </p>
*
* @author ${author}
* @since 2023-07-11
*/
@Controller
@RequestMapping("/survTransdataSoil")
public class SurvTransdataSoilController {
}

View File

@ -0,0 +1,100 @@
package com.wangbin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 设备指标
* </p>
*
* @author ${author}
* @since 2023-07-13
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class ScEquZhibiao extends Model<ScEquZhibiao> {
private static final long serialVersionUID=1L;
/**
* 编号
*/
@TableId(value = "id", type = IdType.ID_WORKER_STR)
private String id;
/**
* 创建者
*/
@TableField("create_id")
private String createId;
/**
* 创建时间
*/
@TableField("create_time")
private Date createTime;
/**
* 更新者
*/
@TableField("update_id")
private String updateId;
/**
* 更新时间
*/
@TableField("update_time")
private Date updateTime;
/**
* 设备主键
*/
@TableField("equ_id")
private String equId;
/**
* 指标code
*/
@TableField("code")
private String code;
/**
* 指标名称
*/
@TableField("name")
private String name;
/**
* 低阈值
*/
@TableField("val_low")
private Double valLow;
/**
* 高阈值
*/
@TableField("val_height")
private Double valHeight;
/**
* 计量单位
*/
@TableField("nuit")
private String nuit;
@Override
protected Serializable pkVal() {
return this.id;
}
}

View File

@ -0,0 +1,168 @@
package com.wangbin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
* 预警记录表
* </p>
*
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class SurvAlertRecord extends Model<SurvAlertRecord> {
private static final long serialVersionUID=1L;
/**
* 主键
*/
@TableId(value = "ID", type = IdType.ID_WORKER_STR)
private String id;
/**
* 预警内容
*/
@TableField("ALERT_CONTENT")
private String alertContent;
/**
* 预警所属单位
*/
@TableField("CORP_ID")
private String corpId;
/**
* 预警数据类型;字典值trans_data_type
*/
@TableField("ALERT_DTATA_TYPE")
private String alertDtataType;
/**
* 触发预警数据ID
*/
@TableField("ALERT_DATA_ID")
private String alertDataId;
/**
* 推送状态;0=未推送1=已推送2=推送失败
*/
@TableField("PUSH_STATUS")
private String pushStatus;
/**
* 租户号
*/
@TableField("TENANT_ID")
private String tenantId;
/**
* 乐观锁
*/
@TableField("RE_VISION")
private Integer reVision;
/**
* 创建人
*/
@TableField("CREATED_BY")
private String createdBy;
/**
* 创建时间
*/
@TableField("CREATE_TIME")
private Date createTime;
/**
* 更新人
*/
@TableField("UPDATED_BY")
private String updatedBy;
/**
* 逻辑删除
*/
@TableField("IS_DEL")
private Integer isDel;
/**
* 更新时间
*/
@TableField("UPDATED_TIME")
private Date updatedTime;
/**
* 设备编号
*/
@TableField("DEVICE_CODE")
private String deviceCode;
/**
* 监测站编号
*/
@TableField("STATION_CDOE")
private String stationCdoe;
/**
* 部署编号(MN码)
*/
@TableField("DEPLOY_CODE")
private String deployCode;
/**
* 部署ID
*/
@TableField("DEPLOY_ID")
private String deployId;
/**
* 预警时间
*/
@TableField("ALERT_TIME")
private Date alertTime;
/**
* 监测项
*/
@TableField("ITEM_NAME")
private String itemName;
/**
* 站点名称
*/
@TableField("STATION_NAME")
private String stationName;
/**
* 设备名称
*/
@TableField("DEVICE_NAME")
private String deviceName;
/**
* 机构名称
*/
@TableField("CORP_NAME")
private String corpName;
@TableField("ORG_MESSAGE")
private String orgMessage;
@Override
protected Serializable pkVal() {
return this.id;
}
}

View File

@ -0,0 +1,177 @@
package com.wangbin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
* 设备部署表
* </p>
*
* @author ${author}
* @since 2023-07-13
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class SurvDeviceDeploy extends Model<SurvDeviceDeploy> {
private static final long serialVersionUID=1L;
/**
* 主键
*/
@TableId(value = "ID", type = IdType.ID_WORKER_STR)
private String id;
/**
* 设备部署编号
*/
@TableField("DEPLOY_CODE")
private String deployCode;
/**
* 站点编号
*/
@TableField("STATION_CODE")
private String stationCode;
/**
* 运行状态;0=正常1=停机
*/
@TableField("RUN_STATUS")
private String runStatus;
/**
* 通电情况;0=已通电2=未通电
*/
@TableField("POWER_STATUS")
private String powerStatus;
/**
* 上次同步时间
*/
@TableField("LASTSYNC_TIME")
private Date lastsyncTime;
/**
* 设备编号
*/
@TableField("DEVICE_CODE")
private String deviceCode;
/**
* 部署描述
*/
@TableField("DEPLOY_DES")
private String deployDes;
/**
* 设备数据流地址;摄像头类设备
*/
@TableField("DEVICE_URL")
private String deviceUrl;
/**
* 设备排序
*/
@TableField("SORT_NO")
private Integer sortNo;
/**
* 租户号
*/
@TableField("TENANT_ID")
private String tenantId;
/**
* 乐观锁
*/
@TableField("RE_VISION")
private Integer reVision;
/**
* 创建人
*/
@TableField("CREATED_BY")
private String createdBy;
/**
* 创建时间
*/
@TableField("CREATE_TIME")
private Date createTime;
/**
* 更新人
*/
@TableField("UPDATED_BY")
private String updatedBy;
/**
* 逻辑删除
*/
@TableField("IS_DEL")
private Integer isDel;
/**
* 更新时间
*/
@TableField("UPDATED_TIME")
private Date updatedTime;
/**
* 部署类型surv=监测设备部署,camera=摄像头设备部署
*/
@TableField("DEPLOY_TYPE")
private String deployType;
/**
* 纬度
*/
@TableField("DEVICE_LATITUDE")
private String deviceLatitude;
/**
* 经度
*/
@TableField("DEVICE_LONGITUDE")
private String deviceLongitude;
/**
* 设备分组ID
*/
@TableField("GROUP_ID")
private String groupId;
/**
* 0-不报警 1-报警
*/
@TableField("IZ_BAOJING")
private String izBaojing;
@TableField("IP_ADDR")
private String ipAddr;
@TableField("PORT")
private String port;
@TableField("SEND_INFO")
private String sendInfo;
@Override
protected Serializable pkVal() {
return this.id;
}
}

View File

@ -0,0 +1,191 @@
package com.wangbin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
* 空气污染监测历史数据
* </p>
*
* @author ${author}
* @since 2023-07-11
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class SurvHisdataAir extends Model<SurvHisdataAir> {
private static final long serialVersionUID=1L;
/**
* 主键
*/
@TableId(value = "ID", type = IdType.ID_WORKER_STR)
private String id;
/**
* 大气温度
*/
@TableField("DATA_AIR_TEMP")
private String dataAirTemp;
/**
* 大气湿度
*/
@TableField("DATA_AIR_WET")
private String dataAirWet;
/**
* 大气压力
*/
@TableField("DATA_AIR_PRESS")
private String dataAirPress;
/**
* 雨量
*/
@TableField("DATA_RAIN_FALL")
private String dataRainFall;
/**
* 风速
*/
@TableField("DATA_WIND_SPEED")
private String dataWindSpeed;
/**
* 风向
*/
@TableField("DATA_WIND_DIRECTION")
private String dataWindDirection;
/**
* 太阳全辐射
*/
@TableField("DATA_SUN_FALLOUT")
private String dataSunFallout;
@TableField("DATA_SUN_TOTAL")
private String dataSunTotal;//辐射累计
@TableField("DATA_RAIN_TOTAL")
private String dataRainTotal;//雨量累计
/**
* 数据更新时间
*/
@TableField("DATA_DATE_TIME")
private Date dataDateTime;
/**
* 数据类型;realTime=实时dayTime=日数据month=月数据year=年数据
*/
@TableField("DATA_GATHER_TYPE")
private String dataGatherType;
/**
* 站点ID
*/
@TableField("STATION_ID")
private String stationId;
/**
* 设备ID
*/
@TableField("DEVICE_ID")
private String deviceId;
/**
* 站点编号
*/
@TableField("STATION_CODE")
private String stationCode;
/**
* 设备编号
*/
@TableField("DEVICE_CODE")
private String deviceCode;
/**
* 机构ID
*/
@TableField("CORP_ID")
private String corpId;
/**
* 站点名称
*/
@TableField("STATION_NAME")
private String stationName;
/**
* 设备名称
*/
@TableField("DEVICE_NAME")
private String deviceName;
/**
* 转储时间
*/
@TableField("TRANS_DATE")
private Date transDate;
/**
* 租户号
*/
@TableField("TENANT_ID")
private String tenantId;
/**
* 乐观锁
*/
@TableField("RE_VISION")
private Integer reVision;
/**
* 创建人
*/
@TableField("CREATED_BY")
private String createdBy;
/**
* 创建时间
*/
@TableField("CREATE_TIME")
private Date createTime;
/**
* 更新人
*/
@TableField("UPDATED_BY")
private String updatedBy;
/**
* 逻辑删除
*/
@TableField("IS_DEL")
private Integer isDel;
/**
* 更新时间
*/
@TableField("UPDATED_TIME")
private Date updatedTime;
@Override
protected Serializable pkVal() {
return this.id;
}
}

View File

@ -0,0 +1,210 @@
package com.wangbin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 畜禽水污染监测历史数据
* </p>
*
* @author ${author}
* @since 2023-07-11
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class SurvHisdataLivestockwater extends Model<SurvHisdataLivestockwater> {
private static final long serialVersionUID=1L;
/**
* 主键
*/
@TableId(value = "ID", type = IdType.ID_WORKER_STR)
private String id;
/**
* 数据ID
*/
@TableField("DATA_ID")
private String dataId;
/**
* 总磷
*/
@TableField("DATA_WATER_TP")
private String dataWaterTp;
@TableField("DATA_WATER_TP_SY")
private String dataWaterTpSy;
@TableField("DATA_WATER_TP_LD")
private String dataWaterTpLd;
/**
* 总氮
*/
@TableField("DATA_WATER_TN")
private String dataWaterTn;
@TableField("DATA_WATER_TN_SY")
private String dataWaterTnSy;
@TableField("DATA_WATER_TN_LD")
private String dataWaterTnLd;
/**
* 硝态氮
*/
@TableField("DATA_WATER_NO")
private String dataWaterNo;
/**
* 氨氮
*/
@TableField("DATA_WATER_NH")
private String dataWaterNh;
@TableField("DATA_WATER_NH_SY")
private String dataWaterNhSy;
@TableField("DATA_WATER_NH_LD")
private String dataWaterNhLd;
/**
* 化学需氧量
*/
@TableField("DATA_WATER_COD")
private String dataWaterCod;
@TableField("DATA_WATER_COD_SY")
private String dataWaterCodSy;
@TableField("DATA_WATER_COD_LD")
private String dataWaterCodLd;
@TableField("FLUID_LEVEL")
private String fluidLevel;//液位
@TableField("FIRST_VALVE_STATUS")
private String firstValveStatus;//1#球阀状态
@TableField("SECOND_VALVE_STATUS")
private String secondValveStatus;//2#球阀状态
@TableField("CRASH_STOP_STATUS")
private String crashStopStatus;//急停状态
@TableField("WATER_PUMP_STATUS")
private String waterPumpStatus;//水泵状态
@TableField("MAIN_SIDE_STATUS")
private String mainSideStatus;//主副泵状态
/**
* 数据更新时间
*/
@TableField("DATA_DATE_TIME")
private Date dataDateTime;
/**
* 数据类型;realTime=实时dayTime=日数据month=月数据year=年数据
*/
@TableField("DATA_GATHER_TYPE")
private String dataGatherType;
/**
* 站点ID
*/
@TableField("STATION_ID")
private String stationId;
/**
* 设备ID
*/
@TableField("DEVICE_ID")
private String deviceId;
/**
* 站点编号
*/
@TableField("STATION_CODE")
private String stationCode;
/**
* 设备编号
*/
@TableField("DEVICE_CODE")
private String deviceCode;
/**
* 机构ID
*/
@TableField("CORP_ID")
private String corpId;
/**
* 站点名称
*/
@TableField("STATION_NAME")
private String stationName;
/**
* 设备名称
*/
@TableField("DEVICE_NAME")
private String deviceName;
/**
* 转储时间
*/
@TableField("TRANS_DATE")
private Date transDate;
/**
* 租户号
*/
@TableField("TENANT_ID")
private String tenantId;
/**
* 乐观锁
*/
@TableField("RE_VISION")
private Integer reVision;
/**
* 创建人
*/
@TableField("CREATED_BY")
private String createdBy;
/**
* 创建时间
*/
@TableField("CREATE_TIME")
private Date createTime;
/**
* 更新人
*/
@TableField("UPDATED_BY")
private String updatedBy;
/**
* 逻辑删除
*/
@TableField("IS_DEL")
private Integer isDel;
/**
* 更新时间
*/
@TableField("UPDATED_TIME")
private Date updatedTime;
@Override
protected Serializable pkVal() {
return this.id;
}
}

View File

@ -0,0 +1,220 @@
package com.wangbin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
*
* </p>
*
* @author ${author}
* @since 2025-05-07
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class SurvHisdataLivestockwaterError extends Model<SurvHisdataLivestockwaterError> {
private static final long serialVersionUID=1L;
/**
* 主键
*/
@TableField("ID")
private String id;
/**
* 数据ID
*/
@TableField("DATA_ID")
private String dataId;
/**
* 总磷
*/
@TableField("DATA_WATER_TP")
private String dataWaterTp;
/**
* 总氮
*/
@TableField("DATA_WATER_TN")
private String dataWaterTn;
/**
* 硝态氮
*/
@TableField("DATA_WATER_NO")
private String dataWaterNo;
/**
* 氨氮
*/
@TableField("DATA_WATER_NH")
private String dataWaterNh;
/**
* 化学需氧量
*/
@TableField("DATA_WATER_COD")
private String dataWaterCod;
/**
* 数据更新时间
*/
@TableField("DATA_DATE_TIME")
private Date dataDateTime;
/**
* 数据类型;realTime=实时dayTime=日数据month=月数据year=年数据
*/
@TableField("DATA_GATHER_TYPE")
private String dataGatherType;
/**
* 站点ID
*/
@TableField("STATION_ID")
private String stationId;
/**
* 设备ID
*/
@TableField("DEVICE_ID")
private String deviceId;
/**
* 站点编号
*/
@TableField("STATION_CODE")
private String stationCode;
/**
* 设备编号
*/
@TableField("DEVICE_CODE")
private String deviceCode;
/**
* 机构ID
*/
@TableField("CORP_ID")
private String corpId;
/**
* 站点名称
*/
@TableField("STATION_NAME")
private String stationName;
/**
* 设备名称
*/
@TableField("DEVICE_NAME")
private String deviceName;
/**
* 转储时间
*/
@TableField("TRANS_DATE")
private Date transDate;
/**
* 租户号
*/
@TableField("TENANT_ID")
private String tenantId;
/**
* 乐观锁
*/
@TableField("RE_VISION")
private Integer reVision;
/**
* 创建人
*/
@TableField("CREATED_BY")
private String createdBy;
/**
* 创建时间
*/
@TableField("CREATE_TIME")
private Date createTime;
/**
* 更新人
*/
@TableField("UPDATED_BY")
private String updatedBy;
/**
* 逻辑删除
*/
@TableField("IS_DEL")
private Integer isDel;
/**
* 更新时间
*/
@TableField("UPDATED_TIME")
private Date updatedTime;
@TableField("DATA_WATER_TP_SY")
private String dataWaterTpSy;
@TableField("DATA_WATER_TP_LD")
private String dataWaterTpLd;
@TableField("DATA_WATER_TN_SY")
private String dataWaterTnSy;
@TableField("DATA_WATER_TN_LD")
private String dataWaterTnLd;
@TableField("DATA_WATER_NH_SY")
private String dataWaterNhSy;
@TableField("DATA_WATER_NH_LD")
private String dataWaterNhLd;
@TableField("DATA_WATER_COD_SY")
private String dataWaterCodSy;
@TableField("DATA_WATER_COD_LD")
private String dataWaterCodLd;
@TableField("FLUID_LEVEL")
private String fluidLevel;
@TableField("FIRST_VALVE_STATUS")
private String firstValveStatus;
@TableField("SECOND_VALVE_STATUS")
private String secondValveStatus;
@TableField("CRASH_STOP_STATUS")
private String crashStopStatus;
@TableField("WATER_PUMP_STATUS")
private String waterPumpStatus;
@TableField("MAIN_SIDE_STATUS")
private String mainSideStatus;
@Override
protected Serializable pkVal() {
return null;
}
}

View File

@ -0,0 +1,204 @@
package com.wangbin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
* 面源水污染监测历史数据
* </p>
*
* @author ${author}
* @since 2023-07-11
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class SurvHisdataOrientwater extends Model<SurvHisdataOrientwater> {
private static final long serialVersionUID=1L;
/**
* 主键
*/
@TableId(value = "ID", type = IdType.ID_WORKER_STR)
private String id;
/**
* 数据ID
*/
@TableField("DATA_ID")
private String dataId;
/**
* 总磷
*/
@TableField("DATA_WATER_TP")
private String dataWaterTp;
@TableField("DATA_WATER_TP_SY")
private String dataWaterTpSy;
@TableField("DATA_WATER_TP_LD")
private String dataWaterTpLd;
/**
* 总氮
*/
@TableField("DATA_WATER_TN")
private String dataWaterTn;
@TableField("DATA_WATER_TN_SY")
private String dataWaterTnSy;
@TableField("DATA_WATER_TN_LD")
private String dataWaterTnLd;
@TableField("FLUID_LEVEL")
private String fluidLevel;//液位
@TableField("FIRST_VALVE_STATUS")
private String firstValveStatus;//1#球阀状态
@TableField("SECOND_VALVE_STATUS")
private String secondValveStatus;//2#球阀状态
@TableField("CRASH_STOP_STATUS")
private String crashStopStatus;//急停状态
@TableField("WATER_PUMP_STATUS")
private String waterPumpStatus;//水泵状态
@TableField("MAIN_SIDE_STATUS")
private String mainSideStatus;//主副泵状态
/**
* 氨氮
*/
@TableField("DATA_WATER_NH")
private String dataWaterNh;
/**
* 化学需氧量
*/
@TableField("DATA_WATER_COD")
private String dataWaterCod;
/**
* 硝态氮
*/
@TableField("DATA_WATER_NO")
private String dataWaterNo;
/**
* 数据更新时间
*/
@TableField("DATA_DATE_TIME")
private Date dataDateTime;
/**
* 数据类型;realTime=实时dayTime=日数据month=月数据year=年数据
*/
@TableField("DATA_GATHER_TYPE")
private String dataGatherType;
/**
* 站点ID
*/
@TableField("STATION_ID")
private String stationId;
/**
* 设备ID
*/
@TableField("DEVICE_ID")
private String deviceId;
/**
* 站点编号
*/
@TableField("STATION_CODE")
private String stationCode;
/**
* 设备编号
*/
@TableField("DEVICE_CODE")
private String deviceCode;
/**
* 机构ID
*/
@TableField("CORP_ID")
private String corpId;
/**
* 站点名称
*/
@TableField("STATION_NAME")
private String stationName;
/**
* 设备名称
*/
@TableField("DEVICE_NAME")
private String deviceName;
/**
* 转储时间
*/
@TableField("TRANS_DATE")
private Date transDate;
/**
* 租户号
*/
@TableField("TENANT_ID")
private String tenantId;
/**
* 乐观锁
*/
@TableField("RE_VISION")
private Integer reVision;
/**
* 创建人
*/
@TableField("CREATED_BY")
private String createdBy;
/**
* 创建时间
*/
@TableField("CREATE_TIME")
private Date createTime;
/**
* 更新人
*/
@TableField("UPDATED_BY")
private String updatedBy;
/**
* 逻辑删除
*/
@TableField("IS_DEL")
private Integer isDel;
/**
* 更新时间
*/
@TableField("UPDATED_TIME")
private Date updatedTime;
@Override
protected Serializable pkVal() {
return this.id;
}
}

View File

@ -0,0 +1,238 @@
package com.wangbin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
*
* </p>
*
* @author ${author}
* @since 2025-05-07
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class SurvHisdataOrientwaterError extends Model<SurvHisdataOrientwaterError> {
private static final long serialVersionUID=1L;
/**
* 主键
*/
@TableField("ID")
private String id;
/**
* 数据ID
*/
@TableField("DATA_ID")
private String dataId;
/**
* 总磷
*/
@TableField("DATA_WATER_TP")
private String dataWaterTp;
/**
* 总磷水样
*/
@TableField("DATA_WATER_TP_SY")
private String dataWaterTpSy;
/**
* 总磷零点
*/
@TableField("DATA_WATER_TP_LD")
private String dataWaterTpLd;
/**
* 总氮
*/
@TableField("DATA_WATER_TN")
private String dataWaterTn;
/**
* 总氮水样
*/
@TableField("DATA_WATER_TN_SY")
private String dataWaterTnSy;
/**
* 总氮零点
*/
@TableField("DATA_WATER_TN_LD")
private String dataWaterTnLd;
/**
* 氨氮
*/
@TableField("DATA_WATER_NH")
private String dataWaterNh;
/**
* 化学需氧量
*/
@TableField("DATA_WATER_COD")
private String dataWaterCod;
/**
* 硝态氮
*/
@TableField("DATA_WATER_NO")
private String dataWaterNo;
/**
* 液位
*/
@TableField("FLUID_LEVEL")
private String fluidLevel;
/**
* 1#球阀状态
*/
@TableField("FIRST_VALVE_STATUS")
private String firstValveStatus;
/**
* 2#球阀状态
*/
@TableField("SECOND_VALVE_STATUS")
private String secondValveStatus;
/**
* 急停状态
*/
@TableField("CRASH_STOP_STATUS")
private String crashStopStatus;
/**
* 水泵状态
*/
@TableField("WATER_PUMP_STATUS")
private String waterPumpStatus;
/**
* 主副泵状态
*/
@TableField("MAIN_SIDE_STATUS")
private String mainSideStatus;
/**
* 数据更新时间
*/
@TableField("DATA_DATE_TIME")
private Date dataDateTime;
/**
* 数据类型;realTime=实时dayTime=日数据month=月数据year=年数据
*/
@TableField("DATA_GATHER_TYPE")
private String dataGatherType;
/**
* 站点ID
*/
@TableField("STATION_ID")
private String stationId;
/**
* 设备ID
*/
@TableField("DEVICE_ID")
private String deviceId;
/**
* 站点编号
*/
@TableField("STATION_CODE")
private String stationCode;
/**
* 设备编号
*/
@TableField("DEVICE_CODE")
private String deviceCode;
/**
* 机构ID
*/
@TableField("CORP_ID")
private String corpId;
/**
* 站点名称
*/
@TableField("STATION_NAME")
private String stationName;
/**
* 设备名称
*/
@TableField("DEVICE_NAME")
private String deviceName;
/**
* 转储时间
*/
@TableField("TRANS_DATE")
private Date transDate;
/**
* 租户号
*/
@TableField("TENANT_ID")
private String tenantId;
/**
* 乐观锁
*/
@TableField("RE_VISION")
private Integer reVision;
/**
* 创建人
*/
@TableField("CREATED_BY")
private String createdBy;
/**
* 创建时间
*/
@TableField("CREATE_TIME")
private Date createTime;
/**
* 更新人
*/
@TableField("UPDATED_BY")
private String updatedBy;
/**
* 逻辑删除
*/
@TableField("IS_DEL")
private Integer isDel;
/**
* 更新时间
*/
@TableField("UPDATED_TIME")
private Date updatedTime;
@Override
protected Serializable pkVal() {
return null;
}
}

View File

@ -0,0 +1,202 @@
package com.wangbin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 杀虫灯历史数据
* </p>
*
* @author ${author}
* @since 2023-07-11
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class SurvHisdataPestlight extends Model<SurvHisdataPestlight> {
private static final long serialVersionUID=1L;
/**
* 主键
*/
@TableId(value = "ID", type = IdType.ID_WORKER_STR)
private String id;
/**
* 数据ID
*/
@TableField("DATA_ID")
private String dataId;
/**
* 杀虫量
*/
@TableField("DATA_SHACHONG_COUNT")
private String dataShachongCount;
/**
* 害虫种类
*/
@TableField("DATA_PEST_SPECIES")
private String dataPestSpecies;
/**
* 设备编号
*/
@TableField("DATA_DEVICE_NO")
private String dataDeviceNo;
/**
* 基地ID
*/
@TableField("DATA_BASE_ID")
private String dataBaseId;
/**
* 地址区域ID
*/
@TableField("DATA_ADDRESS_ID")
private String dataAddressId;
/**
* 设备纬度
*/
@TableField("DATA_LAT")
private String dataLat;
/**
* 电池纬度
*/
@TableField("DATA_BATTERY_LAT")
private String dataBatteryLat;
/**
* 设备经度
*/
@TableField("DATA_LNG")
private String dataLng;
/**
* 电池经度
*/
@TableField("DATA_BATTERY_LNG")
private String dataBatteryLng;
/**
* 数据更新时间
*/
@TableField("DATA_ACTION_TIME")
private Date dataActionTime;
/**
* 数据类型;realTime=实时dayTime=日数据month=月数据year=年数据
*/
@TableField("DATA_GATHER_TYPE")
private String dataGatherType;
/**
* 站点ID
*/
@TableField("STATION_ID")
private String stationId;
/**
* 设备ID
*/
@TableField("DEVICE_ID")
private String deviceId;
/**
* 站点编号
*/
@TableField("STATION_CODE")
private String stationCode;
/**
* 设备编号
*/
@TableField("DEVICE_CODE")
private String deviceCode;
/**
* 机构ID
*/
@TableField("CORP_ID")
private String corpId;
/**
* 站点名称
*/
@TableField("STATION_NAME")
private String stationName;
/**
* 设备名称
*/
@TableField("DEVICE_NAME")
private String deviceName;
/**
* 转储时间
*/
@TableField("TRANS_DATE")
private Date transDate;
/**
* 租户号
*/
@TableField("TENANT_ID")
private String tenantId;
/**
* 乐观锁
*/
@TableField("RE_VISION")
private Integer reVision;
/**
* 创建人
*/
@TableField("CREATED_BY")
private String createdBy;
/**
* 创建时间
*/
@TableField("CREATE_TIME")
private Date createTime;
/**
* 更新人
*/
@TableField("UPDATED_BY")
private String updatedBy;
/**
* 逻辑删除
*/
@TableField("IS_DEL")
private Integer isDel;
/**
* 更新时间
*/
@TableField("UPDATED_TIME")
private Date updatedTime;
@Override
protected Serializable pkVal() {
return this.id;
}
}

View File

@ -0,0 +1,179 @@
package com.wangbin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
* 土壤污染监测历史数据
* </p>
*
* @author ${author}
* @since 2023-07-11
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class SurvHisdataSoil extends Model<SurvHisdataSoil> {
private static final long serialVersionUID=1L;
/**
* 主键
*/
@TableId(value = "ID", type = IdType.ID_WORKER_STR)
private String id;
/**
* 土壤温度;106
*/
@TableField("DATA_SOIL_TEMP")
private String dataSoilTemp;
/**
* 土壤湿度;107
*/
@TableField("DATA_SOIL_WET")
private String dataSoilWet;
/**
* 土壤盐分;198
*/
@TableField("DATA_SOIL_SALT")
private String dataSoilSalt;
@TableField("DATA_SOIL_TEMP2")
private String dataSoilTemp2;
@TableField("DATA_SOIL_WET2")
private String dataSoilWet2;
@TableField("DATA_SOIL_TEMP3")
private String dataSoilTemp3;
@TableField("DATA_SOIL_WET3")
private String dataSoilWet3;
@TableField("DATA_SOIL_DDL")
private String dataSoilDdl;
@TableField("DATA_SOIL_DDL2")
private String dataSoilDdl2;
@TableField("DATA_SOIL_DDL3")
private String dataSoilDdl3;
/**
* 数据更新时间
*/
@TableField("DATA_DATE_TIME")
private Date dataDateTime;
/**
* 数据类型;realTime=实时dayTime=日数据month=月数据year=年数据
*/
@TableField("DATA_GATHER_TYPE")
private String dataGatherType;
/**
* 站点ID
*/
@TableField("STATION_ID")
private String stationId;
/**
* 设备ID
*/
@TableField("DEVICE_ID")
private String deviceId;
/**
* 站点编号
*/
@TableField("STATION_CODE")
private String stationCode;
/**
* 设备编号
*/
@TableField("DEVICE_CODE")
private String deviceCode;
/**
* 机构ID
*/
@TableField("CORP_ID")
private String corpId;
/**
* 站点名称
*/
@TableField("STATION_NAME")
private String stationName;
/**
* 设备名称
*/
@TableField("DEVICE_NAME")
private String deviceName;
/**
* 转储时间
*/
@TableField("TRANS_DATE")
private Date transDate;
/**
* 租户号
*/
@TableField("TENANT_ID")
private String tenantId;
/**
* 乐观锁
*/
@TableField("RE_VISION")
private Integer reVision;
/**
* 创建人
*/
@TableField("CREATED_BY")
private String createdBy;
/**
* 创建时间
*/
@TableField("CREATE_TIME")
private Date createTime;
/**
* 更新人
*/
@TableField("UPDATED_BY")
private String updatedBy;
/**
* 逻辑删除
*/
@TableField("IS_DEL")
private Integer isDel;
/**
* 更新时间
*/
@TableField("UPDATED_TIME")
private Date updatedTime;
@Override
protected Serializable pkVal() {
return this.id;
}
}

View File

@ -0,0 +1,184 @@
package com.wangbin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
* 空气污染监测数据
* </p>
*
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class SurvTransdataAir extends Model<SurvTransdataAir> {
private static final long serialVersionUID=1L;
/**
* 主键
*/
@TableId(value = "ID", type = IdType.ID_WORKER_STR)
private String id;
/**
* 大气温度
*/
@TableField("DATA_AIR_TEMP")
private String dataAirTemp;
/**
* 大气湿度
*/
@TableField("DATA_AIR_WET")
private String dataAirWet;
/**
* 大气压力
*/
@TableField("DATA_AIR_PRESS")
private String dataAirPress;
/**
* 雨量
*/
@TableField("DATA_RAIN_FALL")
private String dataRainFall;
/**
* 风速
*/
@TableField("DATA_WIND_SPEED")
private String dataWindSpeed;
/**
* 风向
*/
@TableField("DATA_WIND_DIRECTION")
private String dataWindDirection;
/**
* 太阳全辐射
*/
@TableField("DATA_SUN_FALLOUT")
private String dataSunFallout;
@TableField("DATA_SUN_TOTAL")
private String dataSunTotal;//辐射累计
@TableField("DATA_RAIN_TOTAL")
private String dataRainTotal;//雨量累计
/**
* 数据更新时间
*/
@TableField("DATA_DATE_TIME")
private Date dataDateTime;
/**
* 数据类型;realTime=实时dayTime=日数据month=月数据year=年数据
*/
@TableField("DATA_GATHER_TYPE")
private String dataGatherType;
/**
* 站点ID
*/
// @TableField("STATION_ID")
// private String stationId;
/**
* 设备ID
*/
// @TableField("DEVICE_ID")
// private String deviceId;
/**
* 站点编号
*/
// @TableField("STATION_CODE")
// private String stationCode;
/**
* 设备编号
*/
@TableField("DEVICE_CODE")
private String deviceCode;
/**
* 机构ID
*/
// @TableField("CORP_ID")
// private String corpId;
/**
* 站点名称
*/
// @TableField("STATION_NAME")
// private String stationName;
/**
* 设备名称
*/
// @TableField("DEVICE_NAME")
// private String deviceName;
/**
* 租户号
*/
@TableField("TENANT_ID")
private String tenantId;
/**
* 乐观锁
*/
@TableField("RE_VISION")
private Integer reVision;
/**
* 创建人
*/
@TableField("CREATED_BY")
private String createdBy;
/**
* 创建时间
*/
@TableField("CREATE_TIME")
private Date createTime;
/**
* 更新人
*/
@TableField("UPDATED_BY")
private String updatedBy;
/**
* 逻辑删除
*/
@TableField("IS_DEL")
private Integer isDel;
/**
* 更新时间
*/
@TableField("UPDATED_TIME")
private Date updatedTime;
@Override
protected Serializable pkVal() {
return this.id;
}
}

View File

@ -0,0 +1,206 @@
package com.wangbin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 畜禽水污染监测数据表
* </p>
*
* @author ${author}
* @since 2023-07-11
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class SurvTransdataLivestockwater extends Model<SurvTransdataLivestockwater> {
private static final long serialVersionUID=1L;
/**
* 主键
*/
@TableId(value = "ID", type = IdType.ID_WORKER_STR)
private String id;
/**
* 数据ID
*/
@TableField("DATA_ID")
private String dataId;
/**
* 总磷
*/
@TableField("DATA_WATER_TP")
private String dataWaterTp;
@TableField("DATA_WATER_TP_SY")
private String dataWaterTpSy;
@TableField("DATA_WATER_TP_LD")
private String dataWaterTpLd;
/**
* 总氮
*/
@TableField("DATA_WATER_TN")
private String dataWaterTn;
@TableField("DATA_WATER_TN_SY")
private String dataWaterTnSy;
@TableField("DATA_WATER_TN_LD")
private String dataWaterTnLd;
/**
* 硝态氮
*/
@TableField("DATA_WATER_NO")
private String dataWaterNo;
/**
* 氨氮
*/
@TableField("DATA_WATER_NH")
private String dataWaterNh;
@TableField("DATA_WATER_NH_SY")
private String dataWaterNhSy;
@TableField("DATA_WATER_NH_LD")
private String dataWaterNhLd;
/**
* 化学需氧量
*/
@TableField("DATA_WATER_COD")
private String dataWaterCod;
@TableField("DATA_WATER_COD_SY")
private String dataWaterCodSy;
@TableField("DATA_WATER_COD_LD")
private String dataWaterCodLd;
@TableField("FLUID_LEVEL")
private String fluidLevel;//液位
@TableField("FIRST_VALVE_STATUS")
private String firstValveStatus;//1#球阀状态
@TableField("SECOND_VALVE_STATUS")
private String secondValveStatus;//2#球阀状态
@TableField("CRASH_STOP_STATUS")
private String crashStopStatus;//急停状态
@TableField("WATER_PUMP_STATUS")
private String waterPumpStatus;//水泵状态
@TableField("MAIN_SIDE_STATUS")
private String mainSideStatus;//主副泵状态
/**
* 数据更新时间
*/
@TableField("DATA_DATE_TIME")
private Date dataDateTime;
/**
* 数据获取类型;realTime=实时dayTime=日数据month=月数据year=年数据
*/
@TableField("DATA_GATHER_TYPE")
private String dataGatherType;
/**
* 站点ID
*/
@TableField("STATION_ID")
private String stationId;
/**
* 设备ID
*/
@TableField("DEVICE_ID")
private String deviceId;
/**
* 站点编号
*/
@TableField("STATION_CODE")
private String stationCode;
/**
* 设备编号
*/
@TableField("DEVICE_CODE")
private String deviceCode;
/**
* 机构ID
*/
@TableField("CORP_ID")
private String corpId;
/**
* 站点名称
*/
@TableField("STATION_NAME")
private String stationName;
/**
* 设备名称
*/
@TableField("DEVICE_NAME")
private String deviceName;
/**
* 租户号
*/
@TableField("TENANT_ID")
private String tenantId;
/**
* 乐观锁
*/
@TableField("RE_VISION")
private Integer reVision;
/**
* 创建人
*/
@TableField("CREATED_BY")
private String createdBy;
/**
* 创建时间
*/
@TableField("CREATE_TIME")
private Date createTime;
/**
* 更新人
*/
@TableField("UPDATED_BY")
private String updatedBy;
/**
* 逻辑删除
*/
@TableField("IS_DEL")
private Integer isDel;
/**
* 更新时间
*/
@TableField("UPDATED_TIME")
private Date updatedTime;
@Override
protected Serializable pkVal() {
return this.id;
}
}

View File

@ -0,0 +1,198 @@
package com.wangbin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
* 面源水污染监测数据表
* </p>
*
* @author ${author}
* @since 2023-07-11
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class SurvTransdataOrientwater extends Model<SurvTransdataOrientwater> {
private static final long serialVersionUID=1L;
/**
* 主键
*/
@TableId(value = "ID", type = IdType.ID_WORKER_STR)
private String id;
/**
* 数据ID
*/
@TableField("DATA_ID")
private String dataId;
/**
* 总磷
*/
@TableField("DATA_WATER_TP")
private String dataWaterTp;
@TableField("DATA_WATER_TP_SY")
private String dataWaterTpSy;
@TableField("DATA_WATER_TP_LD")
private String dataWaterTpLd;
/**
* 总氮
*/
@TableField("DATA_WATER_TN")
private String dataWaterTn;
@TableField("DATA_WATER_TN_SY")
private String dataWaterTnSy;
@TableField("DATA_WATER_TN_LD")
private String dataWaterTnLd;
@TableField("FLUID_LEVEL")
private String fluidLevel;//液位
@TableField("FIRST_VALVE_STATUS")
private String firstValveStatus;//1#球阀状态
@TableField("SECOND_VALVE_STATUS")
private String secondValveStatus;//2#球阀状态
@TableField("CRASH_STOP_STATUS")
private String crashStopStatus;//急停状态
@TableField("WATER_PUMP_STATUS")
private String waterPumpStatus;//水泵状态
@TableField("MAIN_SIDE_STATUS")
private String mainSideStatus;//主副泵状态
/**
* 氨氮
*/
@TableField("DATA_WATER_NH")
private String dataWaterNh;
/**
* 化学需氧量
*/
@TableField("DATA_WATER_COD")
private String dataWaterCod;
/**
* 硝态氮 硝碳氮
*/
@TableField("DATA_WATER_NO")
private String dataWaterNo;
/**
* 数据更新时间
*/
@TableField("DATA_DATE_TIME")
private Date dataDateTime;
/**
* 数据类型;realTime=实时dayTime=日数据month=月数据year=年数据
*/
@TableField("DATA_GATHER_TYPE")
private String dataGatherType;
/**
* 站点ID
*/
@TableField("STATION_ID")
private String stationId;
/**
* 设备ID
*/
@TableField("DEVICE_ID")
private String deviceId;
/**
* 站点编号
*/
@TableField("STATION_CODE")
private String stationCode;
/**
* 设备编号
*/
@TableField("DEVICE_CODE")
private String deviceCode;
/**
* 机构ID
*/
@TableField("CORP_ID")
private String corpId;
/**
* 站点名称
*/
@TableField("STATION_NAME")
private String stationName;
/**
* 设备名称
*/
@TableField("DEVICE_NAME")
private String deviceName;
/**
* 租户号
*/
@TableField("TENANT_ID")
private String tenantId;
/**
* 乐观锁
*/
@TableField("RE_VISION")
private Integer reVision;
/**
* 创建人
*/
@TableField("CREATED_BY")
private String createdBy;
/**
* 创建时间
*/
@TableField("CREATE_TIME")
private Date createTime;
/**
* 更新人
*/
@TableField("UPDATED_BY")
private String updatedBy;
/**
* 逻辑删除
*/
@TableField("IS_DEL")
private Integer isDel;
/**
* 更新时间
*/
@TableField("UPDATED_TIME")
private Date updatedTime;
@Override
protected Serializable pkVal() {
return this.id;
}
}

View File

@ -0,0 +1,193 @@
package com.wangbin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* 杀虫灯监测数据
*
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class SurvTransdataPestlight extends Model<SurvTransdataPestlight> {
private static final long serialVersionUID=1L;
/**
* 主键
*/
@TableId(value = "ID", type = IdType.ID_WORKER_STR)
private String id;
/**
* 数据ID
*/
@TableField("DATA_ID")
private String dataId;
/**
* 杀虫量
*/
@TableField("DATA_SHACHONG_COUNT")
private String dataShachongCount;
/**
* 害虫种类
*/
@TableField("DATA_PEST_SPECIES")
private String dataPestSpecies;
/**
* 设备编号
*/
@TableField("DATA_DEVICE_NO")
private String dataDeviceNo;
/**
* 基地ID
*/
@TableField("DATA_BASE_ID")
private String dataBaseId;
/**
* 地址区域ID
*/
@TableField("DATA_ADDRESS_ID")
private String dataAddressId;
/**
* 设备纬度
*/
@TableField("DATA_LAT")
private String dataLat;
/**
* 电池纬度
*/
@TableField("DATA_BATTERY_LAT")
private String dataBatteryLat;
/**
* 设备经度
*/
@TableField("DATA_LNG")
private String dataLng;
/**
* 电池经度
*/
@TableField("DATA_BATTERY_LNG")
private String dataBatteryLng;
/**
* 数据更新时间
*/
@TableField("DATA_ACTION_TIME")
private Date dataActionTime;
/**
* 数据类型;realTime=实时dayTime=日数据month=月数据year=年数据
*/
@TableField("DATA_GATHER_TYPE")
private String dataGatherType;
/**
* 站点ID
*/
// @TableField("STATION_ID")
// private String stationId;
/**
* 设备ID
*/
// @TableField("DEVICE_ID")
// private String deviceId;
/**
* 站点编号
*/
// @TableField("STATION_CODE")
// private String stationCode;
/**
* 设备编号
*/
@TableField("DEVICE_CODE")
private String deviceCode;
/**
* 机构ID
*/
@TableField("CORP_ID")
private String corpId;
/**
* 站点名称
*/
// @TableField("STATION_NAME")
// private String stationName;
/**
* 设备名称
*/
// @TableField("DEVICE_NAME")
// private String deviceName;
/**
* 租户号
*/
@TableField("TENANT_ID")
private String tenantId;
/**
* 乐观锁
*/
@TableField("RE_VISION")
private Integer reVision;
/**
* 创建人
*/
@TableField("CREATED_BY")
private String createdBy;
/**
* 创建时间
*/
@TableField("CREATE_TIME")
private Date createTime;
/**
* 更新人
*/
@TableField("UPDATED_BY")
private String updatedBy;
/**
* 逻辑删除
*/
@TableField("IS_DEL")
private Integer isDel;
/**
* 更新时间
*/
@TableField("UPDATED_TIME")
private Date updatedTime;
@Override
protected Serializable pkVal() {
return this.id;
}
}

View File

@ -0,0 +1,172 @@
package com.wangbin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
* 土壤污染监测数据
* </p>
*
* @author ${author}
* @since 2023-07-11
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class SurvTransdataSoil extends Model<SurvTransdataSoil> {
private static final long serialVersionUID=1L;
/**
* 主键
*/
@TableId(value = "ID", type = IdType.ID_WORKER_STR)
private String id;
/**
* 土壤温度;106
*/
@TableField("DATA_SOIL_TEMP")
private String dataSoilTemp;
/**
* 土壤湿度;107
*/
@TableField("DATA_SOIL_WET")
private String dataSoilWet;
/**
* 土壤盐分;198
*/
@TableField("DATA_SOIL_SALT")
private String dataSoilSalt;
@TableField("DATA_SOIL_TEMP2")
private String dataSoilTemp2;
@TableField("DATA_SOIL_WET2")
private String dataSoilWet2;
@TableField("DATA_SOIL_TEMP3")
private String dataSoilTemp3;
@TableField("DATA_SOIL_WET3")
private String dataSoilWet3;
@TableField("DATA_SOIL_DDL")
private String dataSoilDdl;
@TableField("DATA_SOIL_DDL2")
private String dataSoilDdl2;
@TableField("DATA_SOIL_DDL3")
private String dataSoilDdl3;
/**
* 数据更新时间
*/
@TableField("DATA_DATE_TIME")
private Date dataDateTime;
/**
* 数据类型;realTime=实时dayTime=日数据month=月数据year=年数据
*/
@TableField("DATA_GATHER_TYPE")
private String dataGatherType;
/**
* 站点ID
*/
// @TableField("STATION_ID")
// private String stationId;
/**
* 设备ID
*/
// @TableField("DEVICE_ID")
// private String deviceId;
/**
* 站点编号
*/
// @TableField("STATION_CODE")
// private String stationCode;
/**
* 设备编号
*/
@TableField("DEVICE_CODE")
private String deviceCode;
/**
* 机构ID
*/
@TableField("CORP_ID")
private String corpId;
/**
* 站点名称
*/
// @TableField("STATION_NAME")
// private String stationName;
/**
* 设备名称
*/
// @TableField("DEVICE_NAME")
// private String deviceName;
/**
* 租户号
*/
@TableField("TENANT_ID")
private String tenantId;
/**
* 乐观锁
*/
@TableField("RE_VISION")
private Integer reVision;
/**
* 创建人
*/
@TableField("CREATED_BY")
private String createdBy;
/**
* 创建时间
*/
@TableField("CREATE_TIME")
private Date createTime;
/**
* 更新人
*/
@TableField("UPDATED_BY")
private String updatedBy;
/**
* 逻辑删除
*/
@TableField("IS_DEL")
private Integer isDel;
/**
* 更新时间
*/
@TableField("UPDATED_TIME")
private Date updatedTime;
@Override
protected Serializable pkVal() {
return this.id;
}
}

View File

@ -0,0 +1,16 @@
package com.wangbin.mapper;
import com.wangbin.entity.ScEquZhibiao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 设备指标 Mapper 接口
* </p>
*
* @author ${author}
* @since 2023-07-13
*/
public interface ScEquZhibiaoMapper extends BaseMapper<ScEquZhibiao> {
}

View File

@ -0,0 +1,16 @@
package com.wangbin.mapper;
import com.wangbin.entity.SurvAlertRecord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 预警记录表 Mapper 接口
* </p>
*
* @author ${author}
* @since 2023-07-13
*/
public interface SurvAlertRecordMapper extends BaseMapper<SurvAlertRecord> {
}

View File

@ -0,0 +1,16 @@
package com.wangbin.mapper;
import com.wangbin.entity.SurvDeviceDeploy;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 设备部署表 Mapper 接口
* </p>
*
* @author ${author}
* @since 2023-07-13
*/
public interface SurvDeviceDeployMapper extends BaseMapper<SurvDeviceDeploy> {
}

View File

@ -0,0 +1,16 @@
package com.wangbin.mapper;
import com.wangbin.entity.SurvHisdataAir;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 空气污染监测历史数据 Mapper 接口
* </p>
*
* @author ${author}
* @since 2023-07-11
*/
public interface SurvHisdataAirMapper extends BaseMapper<SurvHisdataAir> {
}

View File

@ -0,0 +1,16 @@
package com.wangbin.mapper;
import com.wangbin.entity.SurvHisdataLivestockwaterError;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* Mapper 接口
* </p>
*
* @author ${author}
* @since 2025-05-07
*/
public interface SurvHisdataLivestockwaterErrorMapper extends BaseMapper<SurvHisdataLivestockwaterError> {
}

View File

@ -0,0 +1,16 @@
package com.wangbin.mapper;
import com.wangbin.entity.SurvHisdataLivestockwater;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 畜禽水污染监测历史数据 Mapper 接口
* </p>
*
* @author ${author}
* @since 2023-07-11
*/
public interface SurvHisdataLivestockwaterMapper extends BaseMapper<SurvHisdataLivestockwater> {
}

View File

@ -0,0 +1,16 @@
package com.wangbin.mapper;
import com.wangbin.entity.SurvHisdataOrientwaterError;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* Mapper 接口
* </p>
*
* @author ${author}
* @since 2025-05-07
*/
public interface SurvHisdataOrientwaterErrorMapper extends BaseMapper<SurvHisdataOrientwaterError> {
}

View File

@ -0,0 +1,16 @@
package com.wangbin.mapper;
import com.wangbin.entity.SurvHisdataOrientwater;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 面源水污染监测历史数据 Mapper 接口
* </p>
*
* @author ${author}
* @since 2023-07-11
*/
public interface SurvHisdataOrientwaterMapper extends BaseMapper<SurvHisdataOrientwater> {
}

View File

@ -0,0 +1,16 @@
package com.wangbin.mapper;
import com.wangbin.entity.SurvHisdataPestlight;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 杀虫灯历史数据 Mapper 接口
* </p>
*
* @author ${author}
* @since 2023-07-11
*/
public interface SurvHisdataPestlightMapper extends BaseMapper<SurvHisdataPestlight> {
}

View File

@ -0,0 +1,16 @@
package com.wangbin.mapper;
import com.wangbin.entity.SurvHisdataSoil;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 土壤污染监测历史数据 Mapper 接口
* </p>
*
* @author ${author}
* @since 2023-07-11
*/
public interface SurvHisdataSoilMapper extends BaseMapper<SurvHisdataSoil> {
}

View File

@ -0,0 +1,16 @@
package com.wangbin.mapper;
import com.wangbin.entity.SurvTransdataAir;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 空气污染监测数据 Mapper 接口
* </p>
*
* @author ${author}
* @since 2023-07-11
*/
public interface SurvTransdataAirMapper extends BaseMapper<SurvTransdataAir> {
}

View File

@ -0,0 +1,16 @@
package com.wangbin.mapper;
import com.wangbin.entity.SurvTransdataLivestockwater;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 畜禽水污染监测数据表 Mapper 接口
* </p>
*
* @author ${author}
* @since 2023-07-11
*/
public interface SurvTransdataLivestockwaterMapper extends BaseMapper<SurvTransdataLivestockwater> {
}

View File

@ -0,0 +1,16 @@
package com.wangbin.mapper;
import com.wangbin.entity.SurvTransdataOrientwater;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 面源水污染监测数据表 Mapper 接口
* </p>
*
* @author ${author}
* @since 2023-07-11
*/
public interface SurvTransdataOrientwaterMapper extends BaseMapper<SurvTransdataOrientwater> {
}

View File

@ -0,0 +1,16 @@
package com.wangbin.mapper;
import com.wangbin.entity.SurvTransdataPestlight;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 杀虫灯监测数据 Mapper 接口
* </p>
*
* @author ${author}
* @since 2023-07-11
*/
public interface SurvTransdataPestlightMapper extends BaseMapper<SurvTransdataPestlight> {
}

View File

@ -0,0 +1,16 @@
package com.wangbin.mapper;
import com.wangbin.entity.SurvTransdataSoil;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 土壤污染监测数据 Mapper 接口
* </p>
*
* @author ${author}
* @since 2023-07-11
*/
public interface SurvTransdataSoilMapper extends BaseMapper<SurvTransdataSoil> {
}

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.wangbin.mapper.ScEquZhibiaoMapper">
</mapper>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.wangbin.mapper.SurvAlertRecordMapper">
</mapper>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.wangbin.mapper.SurvDeviceDeployMapper">
</mapper>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.wangbin.mapper.SurvHisdataAirMapper">
</mapper>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.wangbin.mapper.SurvHisdataLivestockwaterErrorMapper">
</mapper>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.wangbin.mapper.SurvHisdataLivestockwaterMapper">
</mapper>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.wangbin.mapper.SurvHisdataOrientwaterErrorMapper">
</mapper>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.wangbin.mapper.SurvHisdataOrientwaterMapper">
</mapper>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.wangbin.mapper.SurvHisdataPestlightMapper">
</mapper>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.wangbin.mapper.SurvHisdataSoilMapper">
</mapper>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.wangbin.mapper.SurvTransdataAirMapper">
</mapper>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.wangbin.mapper.SurvTransdataLivestockwaterMapper">
</mapper>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.wangbin.mapper.SurvTransdataOrientwaterMapper">
</mapper>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.wangbin.mapper.SurvTransdataPestlightMapper">
</mapper>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.wangbin.mapper.SurvTransdataSoilMapper">
</mapper>

View File

@ -0,0 +1,27 @@
package com.wangbin.runner;
import com.wangbin.thread.NetServer;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
/**
* 启动后执行
**/
@Component
@Order(value = 1)
@Slf4j
public class MyApplicationRunner implements ApplicationRunner {
@Override
public void run(ApplicationArguments args) {
NetServer netServer = new NetServer(10035);
Thread t = new Thread(netServer);
t.start();
log.info("程序启动立即执行");
}
}

View File

@ -0,0 +1,11 @@
package com.wangbin.service;
/**
* 处理业务的服务
*/
public interface ICommonService {
// void saveBaowen(String baowen);
}

View File

@ -0,0 +1,22 @@
package com.wangbin.service;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wangbin.entity.ScEquZhibiao;
import java.util.List;
import java.util.Map;
/**
* 设备指标 服务类
*/
public interface IScEquZhibiaoService extends IService<ScEquZhibiao> {
List<ScEquZhibiao> getListByEquid(String equid);
Map<String, JSONObject> getMap(String equid);
}

View File

@ -0,0 +1,20 @@
package com.wangbin.service;
import com.wangbin.entity.SurvAlertRecord;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Map;
/**
* <p>
* 预警记录表 服务类
* </p>
*
*/
public interface ISurvAlertRecordService extends IService<SurvAlertRecord> {
void saveBaojing(Map<String,String> baowenMap);
}

View File

@ -0,0 +1,19 @@
package com.wangbin.service;
import com.wangbin.entity.SurvDeviceDeploy;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* 设备表 服务类
*
*/
public interface ISurvDeviceDeployService extends IService<SurvDeviceDeploy> {
SurvDeviceDeploy getOneByCode(String code);
SurvDeviceDeploy getOneByIpPort(String ip,String port);
}

View File

@ -0,0 +1,14 @@
package com.wangbin.service;
import com.wangbin.entity.SurvHisdataAir;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 空气污染监测历史数据 服务类
* </p>
*
*/
public interface ISurvHisdataAirService extends IService<SurvHisdataAir> {
}

View File

@ -0,0 +1,16 @@
package com.wangbin.service;
import com.wangbin.entity.SurvHisdataLivestockwaterError;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 服务类
* </p>
*
* @author ${author}
* @since 2025-05-07
*/
public interface ISurvHisdataLivestockwaterErrorService extends IService<SurvHisdataLivestockwaterError> {
}

View File

@ -0,0 +1,16 @@
package com.wangbin.service;
import com.wangbin.entity.SurvHisdataLivestockwater;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wangbin.entity.SurvTransdataLivestockwater;
/**
* <p>
* 畜禽水污染监测历史数据 服务类
* </p>
*
*/
public interface ISurvHisdataLivestockwaterService extends IService<SurvHisdataLivestockwater> {
SurvTransdataLivestockwater genData(String deployCode);
}

View File

@ -0,0 +1,16 @@
package com.wangbin.service;
import com.wangbin.entity.SurvHisdataOrientwaterError;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 服务类
* </p>
*
* @author ${author}
* @since 2025-05-07
*/
public interface ISurvHisdataOrientwaterErrorService extends IService<SurvHisdataOrientwaterError> {
}

View File

@ -0,0 +1,16 @@
package com.wangbin.service;
import com.wangbin.entity.SurvHisdataOrientwater;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wangbin.entity.SurvTransdataOrientwater;
/**
* <p>
* 面源水污染监测历史数据 服务类
* </p>
*
*/
public interface ISurvHisdataOrientwaterService extends IService<SurvHisdataOrientwater> {
SurvTransdataOrientwater genData(String deployCode);
}

View File

@ -0,0 +1,14 @@
package com.wangbin.service;
import com.wangbin.entity.SurvHisdataPestlight;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 杀虫灯历史数据 服务类
* </p>
*
*/
public interface ISurvHisdataPestlightService extends IService<SurvHisdataPestlight> {
}

View File

@ -0,0 +1,14 @@
package com.wangbin.service;
import com.wangbin.entity.SurvHisdataSoil;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 土壤污染监测历史数据 服务类
* </p>
*
*/
public interface ISurvHisdataSoilService extends IService<SurvHisdataSoil> {
}

View File

@ -0,0 +1,18 @@
package com.wangbin.service;
import com.wangbin.entity.SurvTransdataAir;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Map;
/**
* <p>
* 空气污染监测数据 服务类
* </p>
*/
public interface ISurvTransdataAirService extends IService<SurvTransdataAir> {
SurvTransdataAir getOneByDeviceCode(String deviceCode);
void saveBaowen(Map<String, String> baowenMap);
}

View File

@ -0,0 +1,20 @@
package com.wangbin.service;
import com.wangbin.entity.SurvTransdataLivestockwater;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wangbin.entity.SurvTransdataOrientwater;
/**
* 畜禽水污染监测数据表 服务类
*
*/
public interface ISurvTransdataLivestockwaterService extends IService<SurvTransdataLivestockwater> {
SurvTransdataLivestockwater getOneByDeviceCode(String deviceCode);
void saveBaowen(String str);
}

View File

@ -0,0 +1,21 @@
package com.wangbin.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wangbin.entity.SurvTransdataOrientwater;
/**
* <p>
* 面源水污染监测数据表 服务类
* </p>
*
*/
public interface ISurvTransdataOrientwaterService extends IService<SurvTransdataOrientwater> {
SurvTransdataOrientwater getOneByDeviceCode(String deviceCode);
void saveBaowen(String str);
}

View File

@ -0,0 +1,21 @@
package com.wangbin.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wangbin.entity.SurvTransdataPestlight;
import java.util.Map;
/**
* 杀虫灯监测数据 服务类
*
*/
public interface ISurvTransdataPestlightService extends IService<SurvTransdataPestlight> {
SurvTransdataPestlight getOneByDeviceCode(String deviceCode);
void saveBaowen(Map<String, String> baowenMap);
}

View File

@ -0,0 +1,22 @@
package com.wangbin.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wangbin.entity.SurvTransdataSoil;
import java.util.Map;
/**
* <p>
* 土壤污染监测数据 服务类
* </p>
*
*/
public interface ISurvTransdataSoilService extends IService<SurvTransdataSoil> {
SurvTransdataSoil getOneByDeviceCode(String deviceCode);
void saveBaowen(Map<String, String> baowenMap);
}

View File

@ -0,0 +1,62 @@
package com.wangbin.service.Impl;
import com.wangbin.service.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
* 处理业务的服务
*/
@Service
public class CommonServiceImpl implements ICommonService {
//
// @Autowired
// private ISurvTransdataAirService transdataAirService;
// @Autowired
// private ISurvTransdataLivestockwaterService transdataLivestockwaterService;
// @Autowired
// private ISurvTransdataOrientwaterService transdataOrientwaterService;
// @Autowired
// private ISurvTransdataPestlightService transdataPestlightService;
// @Autowired
// private ISurvTransdataSoilService transdataSoilService;
// @Autowired
// private ISurvAlertRecordService alertRecordService;
// @Autowired
// private ISurvDeviceDeployService deviceDeployService;
//
//
// @Transactional
// @Override
// public void saveBaowen(String baowen) {
//
//// Map<String, String> baowenMap = DataUtil.strToMap(baowen);
//// String DataTime = "20230704080000";
//// String code = "0507A010000701";
//// SurvDeviceDeploy deviceDeploy = deviceDeployService.getOneByCode(code);
//// if(deviceDeploy != null){
//// String deployType = deviceDeploy.getDeployType();
//// if("stink".equals(deployType)){//恶臭
////
//// }else if("water_live".equals(deployType)){//畜禽水监测设备
////
//// }else if("water_orient".equals(deployType)){//农田面源水监测设备
////
//// }else if("air".equals(deployType)){//气象监测设备
//// transdataAirService.saveBaowen(baowenMap);
//// }else if("soil".equals(deployType)){//土壤监测设备
//// transdataSoilService.saveBaowen(baowenMap);
//// }else if("pestlight".equals(deployType)){//杀虫灯
//// transdataPestlightService.saveBaowen(baowenMap);
//// }
//// alertRecordService.saveBaojing(baowenMap);
//// }
// }
}

View File

@ -0,0 +1,55 @@
package com.wangbin.service.Impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.wangbin.constant.CommonConstant;
import com.wangbin.entity.ScEquZhibiao;
import com.wangbin.mapper.ScEquZhibiaoMapper;
import com.wangbin.service.IScEquZhibiaoService;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 设备指标 服务实现类
*/
@Service
public class ScEquZhibiaoServiceImpl extends ServiceImpl<ScEquZhibiaoMapper, ScEquZhibiao> implements IScEquZhibiaoService {
@Override
public List<ScEquZhibiao> getListByEquid(String equid) {
QueryWrapper<ScEquZhibiao> queryWrapper = new QueryWrapper<ScEquZhibiao>();
queryWrapper.eq("equ_id",equid)
.isNotNull("code")
.ne("code","")
.orderByAsc("code");
return this.list(queryWrapper);
}
@Override
public Map<String, JSONObject> getMap(String equid) {
List<ScEquZhibiao> zhibiaoList = getListByEquid(equid);
Map<String,JSONObject> map = new HashMap<String,JSONObject>();
zhibiaoList.stream().forEach(i->{
if(i.getValLow() != null || i.getValHeight() != null){
JSONObject json = new JSONObject();
json.put("name",i.getName());
json.put("nuit",i.getNuit());
if(i.getValLow() != null){
json.put(CommonConstant.VAL_LOW,i.getValLow());
}
if(i.getValHeight() != null){
json.put(CommonConstant.VAL_HEIGHT,i.getValHeight());
}
map.put(i.getCode(),json);
}
});
return map;
}
}

View File

@ -0,0 +1,110 @@
package com.wangbin.service.Impl;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.wangbin.constant.CommonConstant;
import com.wangbin.entity.SurvAlertRecord;
import com.wangbin.entity.SurvDeviceDeploy;
import com.wangbin.mapper.SurvAlertRecordMapper;
import com.wangbin.service.IScEquZhibiaoService;
import com.wangbin.service.ISurvAlertRecordService;
import com.wangbin.service.ISurvDeviceDeployService;
import com.wangbin.util.DataUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.Map;
import java.util.Set;
/**
* <p>
* 预警记录表 服务实现类
* </p>
*
*/
@Service
public class SurvAlertRecordServiceImpl extends ServiceImpl<SurvAlertRecordMapper, SurvAlertRecord> implements ISurvAlertRecordService {
@Autowired
private IScEquZhibiaoService zhibiaoService;
@Autowired
private ISurvDeviceDeployService deviceDeployService;
@Override
public void saveBaojing(Map<String, String> baowenMap) {
//处理报警情况
String mn = baowenMap.get("mn");
String DataTime = baowenMap.get("DataTime");
SurvDeviceDeploy deviceDeploy = deviceDeployService.getOneByCode(mn);
if(deviceDeploy != null){
Map<String, JSONObject> zhibiaomap = zhibiaoService.getMap(deviceDeploy.getId());
StringBuilder sb = new StringBuilder();
JSONArray jsonarr = new JSONArray();
for (String key : zhibiaomap.keySet()) {
//获取报文中某个指标的数据
String baowenVal = baowenMap.get(key);
//获取某个指标的阈值
JSONObject jsonObject = zhibiaomap.get(key);
Set<String> set = jsonObject.keySet();
for(String str:set){
String yuzhi = jsonObject.getString(str);
//低阈值
if(str.equals(CommonConstant.VAL_LOW) && DataUtil.bijiao(yuzhi,baowenVal) == 1){
sb.append("监测数据名称:"+jsonObject.get("name"))
.append(",监测数据值:"+baowenVal)
.append(",低阈值:"+yuzhi)
.append(",计量单位:"+jsonObject.get("nuit"))
.append(";");
JSONObject json = new JSONObject();
json.put("name",jsonObject.get("name"));
json.put("unit",jsonObject.get("nuit"));
json.put("val",baowenVal);
json.put(CommonConstant.VAL_LOW,yuzhi);
jsonarr.add(json);
}else if(str.equals(CommonConstant.VAL_HEIGHT) && DataUtil.bijiao(baowenVal,yuzhi) == 1){
sb.append("监测数据名称:"+jsonObject.get("name"))
.append(",监测数据值:"+baowenVal)
.append(",高阈值:"+yuzhi)
.append(",计量单位:"+jsonObject.get("nuit"))
.append(";");
JSONObject json = new JSONObject();
json.put("name",jsonObject.get("name"));
json.put("unit",jsonObject.get("nuit"));
json.put("val",baowenVal);
json.put(CommonConstant.VAL_HEIGHT,yuzhi);
jsonarr.add(json);
}
}
}
// System.out.println("报警:"+jsonarr.toJSONString());
if(StringUtils.isNotBlank(sb.toString()) || jsonarr.size()>0){
SurvAlertRecord baojing = new SurvAlertRecord();
baojing.setCreatedBy("wangbin");
baojing.setCreateTime(new Date());
baojing.setAlertTime(DateUtil.parse(DataTime));
baojing.setDeployCode(mn);
// baojing.setAlertContent(sb.toString());
baojing.setAlertContent(jsonarr.toJSONString());
save(baojing);
//更新设备状态为报警
deviceDeploy.setIzBaojing("1");
deviceDeployService.updateById(deviceDeploy);
}
}
}
}

View File

@ -0,0 +1,34 @@
package com.wangbin.service.Impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.wangbin.entity.SurvDeviceDeploy;
import com.wangbin.mapper.SurvDeviceDeployMapper;
import com.wangbin.service.ISurvDeviceDeployService;
import org.springframework.stereotype.Service;
/**
* 设备表 服务实现类
*
*/
@Service
public class SurvDeviceDeployServiceImpl extends ServiceImpl<SurvDeviceDeployMapper, SurvDeviceDeploy> implements ISurvDeviceDeployService {
@Override
public SurvDeviceDeploy getOneByCode(String code) {
QueryWrapper<SurvDeviceDeploy> queryWrapper = new QueryWrapper<SurvDeviceDeploy>();
queryWrapper.eq("DEPLOY_CODE",code).last("limit 1");
return getOne(queryWrapper);
}
@Override
public SurvDeviceDeploy getOneByIpPort(String ip, String port) {
QueryWrapper<SurvDeviceDeploy> queryWrapper = new QueryWrapper<SurvDeviceDeploy>();
queryWrapper.eq("IP_ADDR",ip)
.eq("PORT",port)
.last("limit 1");
return getOne(queryWrapper);
}
}

View File

@ -0,0 +1,18 @@
package com.wangbin.service.Impl;
import com.wangbin.entity.SurvHisdataAir;
import com.wangbin.mapper.SurvHisdataAirMapper;
import com.wangbin.service.ISurvHisdataAirService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 空气污染监测历史数据 服务实现类
* </p>
*
*/
@Service
public class SurvHisdataAirServiceImpl extends ServiceImpl<SurvHisdataAirMapper, SurvHisdataAir> implements ISurvHisdataAirService {
}

View File

@ -0,0 +1,20 @@
package com.wangbin.service.Impl;
import com.wangbin.entity.SurvHisdataLivestockwaterError;
import com.wangbin.mapper.SurvHisdataLivestockwaterErrorMapper;
import com.wangbin.service.ISurvHisdataLivestockwaterErrorService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 服务实现类
* </p>
*
* @author ${author}
* @since 2025-05-07
*/
@Service
public class SurvHisdataLivestockwaterErrorServiceImpl extends ServiceImpl<SurvHisdataLivestockwaterErrorMapper, SurvHisdataLivestockwaterError> implements ISurvHisdataLivestockwaterErrorService {
}

View File

@ -0,0 +1,131 @@
package com.wangbin.service.Impl;
import cn.hutool.core.bean.BeanUtil;
import com.wangbin.constant.PollutionConstants;
import com.wangbin.entity.SurvHisdataLivestockwater;
import com.wangbin.entity.SurvTransdataLivestockwater;
import com.wangbin.mapper.SurvHisdataLivestockwaterMapper;
import com.wangbin.service.ISurvHisdataLivestockwaterService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.wangbin.util.BigDecimalRandomAdjuster;
import com.wangbin.util.DateUtils;
import com.wangbin.util.SpringBeanUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.Date;
import java.util.Random;
/**
* <p>
* 畜禽水污染监测历史数据 服务实现类
* </p>
*
*/
@Service
@Slf4j
public class SurvHisdataLivestockwaterServiceImpl extends ServiceImpl<SurvHisdataLivestockwaterMapper, SurvHisdataLivestockwater> implements ISurvHisdataLivestockwaterService {
@Autowired
@Lazy
private SurvTransdataLivestockwaterServiceImpl survTransdataLivestockwaterServiceImpl;
@Override
public SurvTransdataLivestockwater genData(String deployCode) {
log.warn("=================畜禽逻辑===================="+deployCode);
try {
// survTransdataLivestockwaterServiceImpl = SpringBeanUtils.getBean("SurvTransdataLivestockwaterServiceImpl", SurvTransdataLivestockwaterServiceImpl.class);
SurvTransdataLivestockwater newestData = survTransdataLivestockwaterServiceImpl.getOneByDeviceCode(deployCode);
String orgId = null;
if (newestData != null) {
orgId = newestData.getId();
boolean isNegative = false;
//检查有没有负数
if(StringUtils.isNotBlank(newestData.getDataWaterTp())){//跳过负数
if(newestData.getDataWaterTp().contains("-") || newestData.getDataWaterTp().length()>10){
isNegative = true;
}
}
else if(StringUtils.isNotBlank(newestData.getDataWaterTn())){//跳过负数
if(newestData.getDataWaterTn().contains("-") || newestData.getDataWaterTn().length()>10){
isNegative = true;
}
}
else if(StringUtils.isNotBlank(newestData.getDataWaterNh()) ){//跳过负数
if(newestData.getDataWaterNh().contains("-") || newestData.getDataWaterNh().length()>10){
isNegative = true;
}
}
else if(StringUtils.isNotBlank(newestData.getDataWaterCod())){//跳过负数
if(newestData.getDataWaterCod().contains("-") || newestData.getDataWaterCod().length()>10){
isNegative = true;
}
}
if(!isNegative){//非负数时检查时间是否过期否则直接自动覆盖此数据
if (newestData.getDataDateTime() != null) {
long secs = DateUtils.getSecondsDiff(newestData.getDataDateTime(), new Date());
if (secs < PollutionConstants.dataGenGap) {//间隔不足时不生成
log.warn("畜禽间隔为:{},跳过", secs);
return null;
}
}
}else {
newestData =null;
}
}
if (newestData == null) {
newestData = new SurvTransdataLivestockwater();
newestData.setDataWaterTp("10.1785");
newestData.setDataWaterTn("49.6451");
newestData.setDataWaterNh("49.7743");
newestData.setDataWaterCod("501.5000");
}
//开始生成
int scale = 4;
BigDecimal fixedRange = new BigDecimal("0.2");
String[] waterFluidLevel = {"0.14", "0.14", "0.15", "0.15"};
Random rand = new Random();
int values = rand.nextInt(4);
SurvHisdataLivestockwater hisdataLivestockwater = new SurvHisdataLivestockwater();
Date nowTime = new Date();
hisdataLivestockwater.setReVision(0);
hisdataLivestockwater.setCreatedBy("ftask");
hisdataLivestockwater.setCreateTime(nowTime);
hisdataLivestockwater.setIsDel(0);
hisdataLivestockwater.setDataWaterTp(BigDecimalRandomAdjuster.randomAdjustByFixedRange(new BigDecimal(newestData.getDataWaterTp()), fixedRange, scale));
hisdataLivestockwater.setDataWaterTn(BigDecimalRandomAdjuster.randomAdjustByFixedRange(new BigDecimal(newestData.getDataWaterTn()), fixedRange, scale));
hisdataLivestockwater.setDataDateTime(nowTime);
hisdataLivestockwater.setDataGatherType("realTime");
hisdataLivestockwater.setDataWaterNh(BigDecimalRandomAdjuster.randomAdjustByFixedRange(new BigDecimal(newestData.getDataWaterNh()), fixedRange, scale));
hisdataLivestockwater.setDataWaterCod(BigDecimalRandomAdjuster.randomAdjustByFixedRange(new BigDecimal(newestData.getDataWaterCod()), fixedRange, scale));
hisdataLivestockwater.setDeviceCode(deployCode);
hisdataLivestockwater.setFluidLevel(waterFluidLevel[values]);
hisdataLivestockwater.setFirstValveStatus("0");
hisdataLivestockwater.setSecondValveStatus("1");
hisdataLivestockwater.setCrashStopStatus("0");
hisdataLivestockwater.setWaterPumpStatus("0");
hisdataLivestockwater.setMainSideStatus("0");
save(hisdataLivestockwater);
BeanUtil.copyProperties(hisdataLivestockwater, newestData);
newestData.setId(orgId);
newestData.setDataDateTime(nowTime);
survTransdataLivestockwaterServiceImpl.saveOrUpdate(newestData);
return newestData;
}catch (Exception e){
e.printStackTrace();
log.error(e.getMessage());
}
return null;
}
}

View File

@ -0,0 +1,20 @@
package com.wangbin.service.Impl;
import com.wangbin.entity.SurvHisdataOrientwaterError;
import com.wangbin.mapper.SurvHisdataOrientwaterErrorMapper;
import com.wangbin.service.ISurvHisdataOrientwaterErrorService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 服务实现类
* </p>
*
* @author ${author}
* @since 2025-05-07
*/
@Service
public class SurvHisdataOrientwaterErrorServiceImpl extends ServiceImpl<SurvHisdataOrientwaterErrorMapper, SurvHisdataOrientwaterError> implements ISurvHisdataOrientwaterErrorService {
}

View File

@ -0,0 +1,142 @@
package com.wangbin.service.Impl;
import cn.hutool.core.bean.BeanUtil;
import com.wangbin.constant.PollutionConstants;
import com.wangbin.entity.SurvHisdataOrientwater;
import com.wangbin.entity.SurvTransdataOrientwater;
import com.wangbin.mapper.SurvHisdataOrientwaterMapper;
import com.wangbin.mapper.SurvTransdataOrientwaterMapper;
import com.wangbin.service.ISurvHisdataOrientwaterService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.wangbin.service.ISurvTransdataOrientwaterService;
import com.wangbin.util.BigDecimalRandomAdjuster;
import com.wangbin.util.DateUtils;
import com.wangbin.util.SpringBeanUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.Date;
import java.util.Random;
/**
* <p>
* 面源水污染监测历史数据 服务实现类
* </p>
*
*/
@Service
@Slf4j
public class SurvHisdataOrientwaterServiceImpl extends ServiceImpl<SurvHisdataOrientwaterMapper, SurvHisdataOrientwater> implements ISurvHisdataOrientwaterService {
/**
* 上下文对象实例
*/
@Autowired
@Lazy
private SurvTransdataOrientwaterServiceImpl orientwaterService ;
@Override
public SurvTransdataOrientwater genData(String deployCode) {
try {
log.warn("=================面源逻辑====================" + deployCode);
SurvTransdataOrientwater newestData = orientwaterService.getOneByDeviceCode(deployCode);
String orgId = null;
if (newestData != null) {
orgId = newestData.getId();
boolean isNegative = false;
//检查有没有负数
if(StringUtils.isNotBlank(newestData.getDataWaterTp())){//跳过负数
if(newestData.getDataWaterTp().contains("-") || newestData.getDataWaterTp().length()>10){
isNegative = true;
}
}
else if(StringUtils.isNotBlank(newestData.getDataWaterTn())){//跳过负数
if(newestData.getDataWaterTn().contains("-") || newestData.getDataWaterTn().length()>10){
isNegative = true;
}
}
else if(StringUtils.isNotBlank(newestData.getDataWaterNo())){//跳过负数
if(newestData.getDataWaterNo().contains("-") || newestData.getDataWaterNo().length()>10){
isNegative = true;
}
}
if(!isNegative) {//非负数时检查时间是否过期否则直接自动覆盖此数据
if (newestData.getDataDateTime() != null) {
long secs = DateUtils.getSecondsDiff(newestData.getDataDateTime(), new Date());
if (secs < PollutionConstants.dataGenGap) {//间隔不足时不生成
log.warn("面源间隔为:{},跳过", secs);
return null;
}
}
}else {
newestData =null;
}
}
if (newestData == null) {
newestData = new SurvTransdataOrientwater();
newestData.setDataWaterTp("1.0063");
newestData.setDataWaterTn("2.1114");
newestData.setDataWaterNo("3.8037");
if ("xzp-water-02".equals(deployCode)) {
newestData.setDataWaterNo("16.3254");
}
newestData.setDataWaterTpSy("0.5328");
newestData.setDataWaterTpLd("0.0001");
newestData.setDataWaterTnSy("1.5056");
newestData.setDataWaterTnLd("0.0002");
newestData.setFluidLevel("0.14");
}
//开始生成
int scale = 4;
BigDecimal fixedRange = new BigDecimal("0.02");
String[] waterTpSy = {"0.5328", "0.0062", "0.5328", "0.0062"};
String[] waterTpLd = {"0.0001", "0.0001", "0.0002", "0.0002"};
String[] waterTnSy = {"1.5056", "14.8091", "1.5053", "1.3041"};
String[] waterTnLd = {"0.0002", "0.0002", "0.0002", "0.0002"};
String[] waterFluidLevel = {"0.14", "0.14", "0.15", "0.15"};
Random rand = new Random();
int values = rand.nextInt(4);
SurvHisdataOrientwater hisdataOrientwater = new SurvHisdataOrientwater();
Date nowTime = new Date();
hisdataOrientwater.setReVision(0);
hisdataOrientwater.setCreatedBy("ftask");
hisdataOrientwater.setCreateTime(nowTime);
hisdataOrientwater.setIsDel(0);
hisdataOrientwater.setDataWaterTp(BigDecimalRandomAdjuster.randomAdjustByFixedRange(new BigDecimal(newestData.getDataWaterTp()), fixedRange, scale));
hisdataOrientwater.setDataWaterTn(BigDecimalRandomAdjuster.randomAdjustByFixedRange(new BigDecimal(newestData.getDataWaterTn()), fixedRange, scale));
hisdataOrientwater.setDataDateTime(nowTime);
hisdataOrientwater.setDataGatherType("realTime");
hisdataOrientwater.setDataWaterNo(BigDecimalRandomAdjuster.randomAdjustByFixedRange(new BigDecimal(newestData.getDataWaterNo()), fixedRange, scale));
hisdataOrientwater.setDeviceCode(deployCode);
hisdataOrientwater.setDataWaterTpSy(waterTpSy[values]);
hisdataOrientwater.setDataWaterTpLd(waterTpLd[values]);
hisdataOrientwater.setDataWaterTnSy(waterTnSy[values]);
hisdataOrientwater.setDataWaterTnLd(waterTnLd[values]);
hisdataOrientwater.setFluidLevel(waterFluidLevel[values]);
hisdataOrientwater.setFirstValveStatus("0");
hisdataOrientwater.setSecondValveStatus("1");
hisdataOrientwater.setCrashStopStatus("0");
hisdataOrientwater.setWaterPumpStatus("0");
hisdataOrientwater.setMainSideStatus("0");
save(hisdataOrientwater);
BeanUtil.copyProperties(hisdataOrientwater, newestData);
newestData.setId(orgId);
newestData.setDataDateTime(nowTime);
orientwaterService.saveOrUpdate(newestData);
return newestData;
}catch (Exception e){
e.printStackTrace();
log.error(e.getMessage());
}
return null;
}
}

View File

@ -0,0 +1,18 @@
package com.wangbin.service.Impl;
import com.wangbin.entity.SurvHisdataPestlight;
import com.wangbin.mapper.SurvHisdataPestlightMapper;
import com.wangbin.service.ISurvHisdataPestlightService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 杀虫灯历史数据 服务实现类
* </p>
*
*/
@Service
public class SurvHisdataPestlightServiceImpl extends ServiceImpl<SurvHisdataPestlightMapper, SurvHisdataPestlight> implements ISurvHisdataPestlightService {
}

Some files were not shown because too many files have changed in this diff Show More