diff --git a/module-common/pom.xml b/module-common/pom.xml
new file mode 100644
index 0000000..3c6409d
--- /dev/null
+++ b/module-common/pom.xml
@@ -0,0 +1,27 @@
+
+
+ 4.0.0
+
+
+ com.gunshi
+ gunshi-project-hsz-parent
+ 1.0-SNAPSHOT
+ ../parent/pom.xml
+
+
+ gunshi-project-hsz-common
+ 1.0-SNAPSHOT
+
+
+
+ org.projectlombok
+ lombok
+
+
+ com.baomidou
+ mybatis-plus
+
+
+
\ No newline at end of file
diff --git a/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/JcskByBMapper.java b/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/JcskByBMapper.java
new file mode 100644
index 0000000..1505275
--- /dev/null
+++ b/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/JcskByBMapper.java
@@ -0,0 +1,11 @@
+package com.gunshi.project.hsz.common.mapper;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gunshi.project.hsz.common.model.JcskByB;
+import org.apache.ibatis.annotations.Mapper;
+
+@DS("tsg")
+@Mapper
+public interface JcskByBMapper extends BaseMapper {
+}
\ No newline at end of file
diff --git a/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/JcskByRMapper.java b/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/JcskByRMapper.java
new file mode 100644
index 0000000..31705e3
--- /dev/null
+++ b/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/JcskByRMapper.java
@@ -0,0 +1,12 @@
+package com.gunshi.project.hsz.common.mapper;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gunshi.project.hsz.common.model.JcskByR;
+import org.apache.ibatis.annotations.Mapper;
+
+@DS("tsg")
+@Mapper
+public interface JcskByRMapper extends BaseMapper {
+
+}
\ No newline at end of file
diff --git a/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/JcskGnssBMapper.java b/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/JcskGnssBMapper.java
new file mode 100644
index 0000000..d9535ae
--- /dev/null
+++ b/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/JcskGnssBMapper.java
@@ -0,0 +1,11 @@
+package com.gunshi.project.hsz.common.mapper;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gunshi.project.hsz.common.model.JcskGnssB;
+import org.apache.ibatis.annotations.Mapper;
+
+@DS("tsg")
+@Mapper
+public interface JcskGnssBMapper extends BaseMapper {
+}
\ No newline at end of file
diff --git a/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/JcskGnssRMapper.java b/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/JcskGnssRMapper.java
new file mode 100644
index 0000000..e88904e
--- /dev/null
+++ b/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/JcskGnssRMapper.java
@@ -0,0 +1,11 @@
+package com.gunshi.project.hsz.common.mapper;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gunshi.project.hsz.common.model.JcskGnssR;
+import org.apache.ibatis.annotations.Mapper;
+
+@DS("tsg")
+@Mapper
+public interface JcskGnssRMapper extends BaseMapper {
+}
\ No newline at end of file
diff --git a/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/JcskSlBMapper.java b/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/JcskSlBMapper.java
new file mode 100644
index 0000000..67bafc3
--- /dev/null
+++ b/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/JcskSlBMapper.java
@@ -0,0 +1,11 @@
+package com.gunshi.project.hsz.common.mapper;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gunshi.project.hsz.common.model.JcskSlB;
+import org.apache.ibatis.annotations.Mapper;
+
+@DS("tsg")
+@Mapper
+public interface JcskSlBMapper extends BaseMapper {
+}
\ No newline at end of file
diff --git a/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/JcskSlRMapper.java b/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/JcskSlRMapper.java
new file mode 100644
index 0000000..93ccf0a
--- /dev/null
+++ b/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/JcskSlRMapper.java
@@ -0,0 +1,11 @@
+package com.gunshi.project.hsz.common.mapper;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gunshi.project.hsz.common.model.JcskSlR;
+import org.apache.ibatis.annotations.Mapper;
+
+@DS("tsg")
+@Mapper
+public interface JcskSlRMapper extends BaseMapper {
+}
\ No newline at end of file
diff --git a/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/JcskSyBMapper.java b/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/JcskSyBMapper.java
new file mode 100644
index 0000000..3426169
--- /dev/null
+++ b/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/JcskSyBMapper.java
@@ -0,0 +1,11 @@
+package com.gunshi.project.hsz.common.mapper;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gunshi.project.hsz.common.model.JcskSyB;
+import org.apache.ibatis.annotations.Mapper;
+
+@DS("tsg")
+@Mapper
+public interface JcskSyBMapper extends BaseMapper {
+}
\ No newline at end of file
diff --git a/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/JcskSyRMapper.java b/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/JcskSyRMapper.java
new file mode 100644
index 0000000..ec57fa8
--- /dev/null
+++ b/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/JcskSyRMapper.java
@@ -0,0 +1,11 @@
+package com.gunshi.project.hsz.common.mapper;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gunshi.project.hsz.common.model.JcskSyR;
+import org.apache.ibatis.annotations.Mapper;
+
+@DS("tsg")
+@Mapper
+public interface JcskSyRMapper extends BaseMapper {
+}
\ No newline at end of file
diff --git a/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/StFlowRMapper.java b/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/StFlowRMapper.java
new file mode 100644
index 0000000..aa2e827
--- /dev/null
+++ b/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/StFlowRMapper.java
@@ -0,0 +1,10 @@
+package com.gunshi.project.hsz.common.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gunshi.project.hsz.common.model.StFlowR;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface StFlowRMapper extends BaseMapper {
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/gunshi/project/hsz/mapper/StStbprpBElemMapper.java b/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/StStbprpBElemMapper.java
similarity index 72%
rename from src/main/java/com/gunshi/project/hsz/mapper/StStbprpBElemMapper.java
rename to module-common/src/main/java/com/gunshi/project/hsz/common/mapper/StStbprpBElemMapper.java
index d18c6e1..869cc38 100644
--- a/src/main/java/com/gunshi/project/hsz/mapper/StStbprpBElemMapper.java
+++ b/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/StStbprpBElemMapper.java
@@ -1,7 +1,7 @@
-package com.gunshi.project.hsz.mapper;
+package com.gunshi.project.hsz.common.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.gunshi.project.hsz.model.StStbprpBElem;
+import com.gunshi.project.hsz.common.model.StStbprpBElem;
import org.apache.ibatis.annotations.Mapper;
/**
diff --git a/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/StStbprpBMapper.java b/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/StStbprpBMapper.java
new file mode 100644
index 0000000..984447a
--- /dev/null
+++ b/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/StStbprpBMapper.java
@@ -0,0 +1,32 @@
+package com.gunshi.project.hsz.common.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gunshi.project.hsz.common.model.StStbprpB;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+/**
+ * 描述: sttp 以水利标准来
+ * author: xusan
+ * date: 2024-07-08 15:44:08
+ */
+@Mapper
+public interface StStbprpBMapper extends BaseMapper {
+
+
+ @Select("""
+ select * from public.st_stbprp_b b
+ join public.st_stbprp_b_elem e
+ on b.stcd = e.stcd
+ where e.elem='drp'
+ """)
+ List getPptnStations();
+
+ @Select("""
+ select * from public.st_stbprp_b b
+ where b.sttp='RR'
+ """)
+ List getRsvrStations();
+}
\ No newline at end of file
diff --git a/module-common/src/main/java/com/gunshi/project/hsz/common/model/JcskByB.java b/module-common/src/main/java/com/gunshi/project/hsz/common/model/JcskByB.java
new file mode 100644
index 0000000..522414b
--- /dev/null
+++ b/module-common/src/main/java/com/gunshi/project/hsz/common/model/JcskByB.java
@@ -0,0 +1,211 @@
+package com.gunshi.project.hsz.common.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.gunshi.db.annotation.IgnoreAutoMapperAndDao;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 白蚁设备表实体类
+ * 数据源为WaterDevice
+ * 与r表通过device_id关联
+ * @see com.gunshi.project.hsz.datasync.entity.jcsk.WaterDevice
+ */
+@Data
+@TableName("jcsk_by_b")
+@IgnoreAutoMapperAndDao
+public class JcskByB {
+ /**
+ * 主键
+ */
+ @TableField("id")
+ private Integer id;
+
+ /**
+ * 设备名称
+ */
+ @TableField("name")
+ private String name;
+
+ /**
+ * 设备编码
+ */
+ @TableField("code")
+ private String code;
+
+ /**
+ * 站点接入编码
+ */
+ @TableField("mn_no")
+ private String mnNo;
+
+ /**
+ * 厂家id
+ */
+ @TableField("factory_id")
+ private Integer factoryId;
+
+ /**
+ * 服务站点id
+ */
+ @TableField("station_id")
+ private Integer stationId;
+
+ /**
+ * 服务站点名称
+ */
+ @TableField("station_name")
+ private String stationName;
+
+ /**
+ * 创建时间
+ */
+ @TableField("created_at")
+ private Integer createdAt;
+
+ /**
+ * 创建人id
+ */
+ @TableField("created_user")
+ private Integer createdUser;
+
+ /**
+ * 修改时间
+ */
+ @TableField("updated_at")
+ private Integer updatedAt;
+
+ /**
+ * 修改人id
+ */
+ @TableField("updated_user")
+ private Integer updatedUser;
+
+ /**
+ * 状态
+ */
+ @TableField("status")
+ private Integer status;
+
+ /**
+ * 纬度
+ */
+ @TableField("lat")
+ private BigDecimal lat;
+
+ /**
+ * 经度
+ */
+ @TableField("lon")
+ private BigDecimal lon;
+
+ /**
+ * 省份id
+ */
+ @TableField("province_id")
+ private Long provinceId;
+
+ /**
+ * 省份名称
+ */
+ @TableField("province_name")
+ private String provinceName;
+
+ /**
+ * 城市id
+ */
+ @TableField("city_id")
+ private Long cityId;
+
+ /**
+ * 城市名称
+ */
+ @TableField("city_name")
+ private String cityName;
+
+ /**
+ * 区域名称
+ */
+ @TableField("area_name")
+ private String areaName;
+
+ /**
+ * 区域id
+ */
+ @TableField("area_id")
+ private Long areaId;
+
+ /**
+ * 设备类型
+ */
+ @TableField("type")
+ private Integer type;
+
+ /**
+ * 设备类型详情
+ */
+ @TableField("send_type")
+ private String sendType;
+
+ /**
+ * 联系人
+ */
+ @TableField("contact")
+ private String contact;
+
+ /**
+ * 联系电话
+ */
+ @TableField("telephone")
+ private String telephone;
+
+ /**
+ * 流域
+ */
+ @TableField("river")
+ private String river;
+
+ /**
+ * 安装地点
+ */
+ @TableField("address")
+ private String address;
+
+ /**
+ * 产品型号
+ */
+ @TableField("model")
+ private String model;
+
+ /**
+ * 备注
+ */
+ @TableField("remark")
+ private String remark;
+
+ /**
+ * 通信方式
+ */
+ @TableField("communication_type")
+ private Integer communicationType;
+
+ /**
+ * 设备图片
+ */
+ @TableField("image_url")
+ private String imageUrl;
+
+ /**
+ * 设备视频流地址的ip
+ */
+ @TableField("video_ip")
+ private String videoIp;
+
+ /**
+ * 设备视频id
+ */
+ @TableField("video_id")
+ private String videoId;
+}
\ No newline at end of file
diff --git a/module-common/src/main/java/com/gunshi/project/hsz/common/model/JcskByR.java b/module-common/src/main/java/com/gunshi/project/hsz/common/model/JcskByR.java
new file mode 100644
index 0000000..7747f4f
--- /dev/null
+++ b/module-common/src/main/java/com/gunshi/project/hsz/common/model/JcskByR.java
@@ -0,0 +1,109 @@
+package com.gunshi.project.hsz.common.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.gunshi.db.annotation.IgnoreAutoMapperAndDao;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * 白蚁数据表实体类
+ * 数据源为WaterDataTermites
+ * nmNo = JcskByB.
+ * @see com.gunshi.project.hsz.datasync.entity.jcsk.WaterDataTermites
+ */
+@Data
+@TableName("jcsk_by_r")
+@IgnoreAutoMapperAndDao
+public class JcskByR {
+ /**
+ * 设备编码
+ */
+ @TableField("mn_no")
+ private String mnNo;
+
+ /**
+ * 白蚁蚁情状态,有白蚁入侵为1
+ */
+ @TableField("status")
+ private Integer status;
+
+ /**
+ * 白蚁设备电量
+ */
+ @TableField("electricity")
+ private Integer electricity;
+
+ /**
+ * 白蚁设备安装的点位顺序
+ */
+ @TableField("\"order\"")
+ private String order;
+
+ /**
+ * 创建时间
+ */
+ @TableField("created_at")
+ private LocalDateTime createdAt;
+
+ /**
+ * 观测时间
+ */
+ @TableField("ob_time")
+ private String obTime;
+
+ /**
+ * 观测时间2
+ */
+ @TableField("ob_date")
+ private LocalDateTime obDate;
+
+ /**
+ * 主键id
+ */
+ @TableField("id")
+ private Integer id;
+
+ /**
+ * 水库id
+ */
+ @TableField("station_id")
+ private Integer stationId;
+
+ /**
+ * 站点名称
+ */
+ @TableField("station_name")
+ private String stationName;
+
+ /**
+ * 设备id
+ */
+ @TableField("device_id")
+ private Integer deviceId;
+
+ /**
+ * 设备名称
+ */
+ @TableField("device_name")
+ private String deviceName;
+
+ /**
+ * 任务状态
+ */
+ @TableField("task_status")
+ private String taskStatus;
+
+ /**
+ * 任务id
+ */
+ @TableField("task_id")
+ private String taskId;
+
+ /**
+ * 接收类型
+ */
+ @TableField("receive_type")
+ private Short receiveType;
+}
\ No newline at end of file
diff --git a/module-common/src/main/java/com/gunshi/project/hsz/common/model/JcskGnssB.java b/module-common/src/main/java/com/gunshi/project/hsz/common/model/JcskGnssB.java
new file mode 100644
index 0000000..23eb635
--- /dev/null
+++ b/module-common/src/main/java/com/gunshi/project/hsz/common/model/JcskGnssB.java
@@ -0,0 +1,53 @@
+package com.gunshi.project.hsz.common.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.gunshi.db.annotation.IgnoreAutoMapperAndDao;
+import lombok.Data;
+
+/**
+ * 位移设备表
+ * 数据源为AttWyCdBase
+ * 与r表通过rscd加cd关联
+ * @see com.gunshi.project.hsz.datasync.entity.jcsk.AttWyCdBase
+ */
+@Data
+@TableName("jcsk_gnss_b")
+@IgnoreAutoMapperAndDao
+public class JcskGnssB {
+ /**
+ * 测点编码
+ */
+ @TableField("cd")
+ private String cd;
+
+ /**
+ * 测点名称
+ */
+ @TableField("cd_nm")
+ private String cdNm;
+
+ /**
+ * 桩号
+ */
+ @TableField("ch")
+ private String ch;
+
+ /**
+ * 测点类型(sl/wy/sy)
+ */
+ @TableField("cd_type")
+ private String cdType;
+
+ /**
+ * 水库编码
+ */
+ @TableField("res_cd")
+ private String resCd;
+
+ /**
+ * 设备状态
+ */
+ @TableField("device_status")
+ private String deviceStatus;
+}
\ No newline at end of file
diff --git a/module-common/src/main/java/com/gunshi/project/hsz/common/model/JcskGnssR.java b/module-common/src/main/java/com/gunshi/project/hsz/common/model/JcskGnssR.java
new file mode 100644
index 0000000..13da77e
--- /dev/null
+++ b/module-common/src/main/java/com/gunshi/project/hsz/common/model/JcskGnssR.java
@@ -0,0 +1,67 @@
+package com.gunshi.project.hsz.common.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.gunshi.db.annotation.IgnoreAutoMapperAndDao;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * 位移数据表
+ * 数据源为AttMqttCalcData
+ * @see com.gunshi.project.hsz.datasync.entity.jcsk.AttMqttCalcData
+ */
+@Data
+@TableName("jcsk_gnss_r")
+@IgnoreAutoMapperAndDao
+public class JcskGnssR {
+ /**
+ * 水库编码设备编码
+ */
+ @TableField("res_cd")
+ private String resCd;
+
+ /**
+ * 测点编码
+ */
+ @TableField("cd")
+ private String cd;
+
+ /**
+ * e方向变形值,单位(mm)
+ */
+ @TableField("de")
+ private BigDecimal de;
+
+ /**
+ * n方向变形值,单位(mm)
+ */
+ @TableField("dn")
+ private BigDecimal dn;
+
+ /**
+ * u方向变形值,单位(mm)
+ */
+ @TableField("du")
+ private BigDecimal du;
+
+ /**
+ * 站点高程
+ */
+ @TableField("alt")
+ private BigDecimal alt;
+
+ /**
+ * 监测时间
+ */
+ @TableField("tm")
+ private LocalDateTime tm;
+
+ /**
+ * 更新时间
+ */
+ @TableField("update_tm")
+ private LocalDateTime updateTm;
+}
\ No newline at end of file
diff --git a/module-common/src/main/java/com/gunshi/project/hsz/common/model/JcskSlB.java b/module-common/src/main/java/com/gunshi/project/hsz/common/model/JcskSlB.java
new file mode 100644
index 0000000..ffb5e1e
--- /dev/null
+++ b/module-common/src/main/java/com/gunshi/project/hsz/common/model/JcskSlB.java
@@ -0,0 +1,111 @@
+package com.gunshi.project.hsz.common.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.gunshi.db.annotation.IgnoreAutoMapperAndDao;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ * 渗流测点表实体类
+ * 数据源为DsmSpgSpqnmp
+ * 与r表通过rscd,stcd,mpcd关联
+ * @see com.gunshi.project.hsz.datasync.entity.jcsk.DsmSpgSpqnmp
+ */
+@Data
+@TableName("jcsk_sl_b")
+@IgnoreAutoMapperAndDao
+public class JcskSlB {
+ /**
+ * 水库代码
+ */
+ @TableField("rscd")
+ private String rscd;
+
+ /**
+ * 水工建筑物编号
+ */
+ @TableField("hycncd")
+ private String hycncd;
+
+ /**
+ * 测点编号
+ */
+ @TableField("mpcd")
+ private String mpcd;
+
+ /**
+ * rtu编号
+ */
+ @TableField("stcd")
+ private String stcd;
+
+ /**
+ * 桩号
+ */
+ @TableField("ch")
+ private String ch;
+
+ /**
+ * 轴距,单位m
+ */
+ @TableField("ofax")
+ private BigDecimal ofax;
+
+ /**
+ * 高程,单位m
+ */
+ @TableField("el")
+ private BigDecimal el;
+
+ /**
+ * 安装日期
+ */
+ @TableField("indt")
+ private LocalDate indt;
+
+ /**
+ * 仪器编号
+ */
+ @TableField("dvcd")
+ private String dvcd;
+
+ /**
+ * 经度
+ */
+ @TableField("lgtd")
+ private BigDecimal lgtd;
+
+ /**
+ * 纬度
+ */
+ @TableField("lttd")
+ private BigDecimal lttd;
+
+ /**
+ * 备注
+ */
+ @TableField("rm")
+ private String rm;
+
+ /**
+ * 资料更新时间
+ */
+ @TableField("dtuptm")
+ private LocalDateTime dtuptm;
+
+ /**
+ * 断面
+ */
+ @TableField("dm")
+ private String dm;
+
+ /**
+ * 是否填报
+ */
+ @TableField("is_tb")
+ private String isTb;
+}
\ No newline at end of file
diff --git a/module-common/src/main/java/com/gunshi/project/hsz/common/model/JcskSlR.java b/module-common/src/main/java/com/gunshi/project/hsz/common/model/JcskSlR.java
new file mode 100644
index 0000000..86b5715
--- /dev/null
+++ b/module-common/src/main/java/com/gunshi/project/hsz/common/model/JcskSlR.java
@@ -0,0 +1,63 @@
+package com.gunshi.project.hsz.common.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.gunshi.db.annotation.IgnoreAutoMapperAndDao;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * 渗流数据表实体类
+ * 数据源为DsmSpgSpqnNormal
+ * @see com.gunshi.project.hsz.datasync.entity.jcsk.DsmSpgSpqn
+ */
+@Data
+@TableName("jcsk_sl_r")
+@IgnoreAutoMapperAndDao
+public class JcskSlR {
+ /**
+ * 水库代码
+ */
+ @TableField("rscd")
+ private String rscd;
+
+
+ /**
+ * 水工建筑物编号
+ */
+ @TableField("hycncd")
+ private String hycncd;
+
+ /**
+ * 测点编号
+ */
+ @TableField("mpcd")
+ private String mpcd;
+
+ /**
+ * 测量时间
+ */
+ @TableField("mstm")
+ private LocalDateTime mstm;
+
+ /**
+ * 温度,单位℃
+ */
+ @TableField("tm")
+ private BigDecimal tm;
+
+ /**
+ * 渗流量,单位l/s
+ */
+ @TableField("spqn")
+ private BigDecimal spqn;
+
+ /**
+ * 标准水温渗流量,单位l/s
+ */
+ @TableField("stspqn")
+ private BigDecimal stspqn;
+
+}
\ No newline at end of file
diff --git a/module-common/src/main/java/com/gunshi/project/hsz/common/model/JcskSyB.java b/module-common/src/main/java/com/gunshi/project/hsz/common/model/JcskSyB.java
new file mode 100644
index 0000000..3d2a743
--- /dev/null
+++ b/module-common/src/main/java/com/gunshi/project/hsz/common/model/JcskSyB.java
@@ -0,0 +1,135 @@
+package com.gunshi.project.hsz.common.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.gunshi.db.annotation.IgnoreAutoMapperAndDao;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ * 渗压测点表
+ * 数据源为DsmSpgSpprmp
+ * 与r表通过rscd,stcd,mpcd关联
+ * @see com.gunshi.project.hsz.datasync.entity.jcsk.DsmSpgSpprmp
+ */
+@Data
+@TableName("jcsk_sy_b")
+@IgnoreAutoMapperAndDao
+public class JcskSyB {
+ /**
+ * 水库代码
+ */
+ @TableField("rscd")
+ private String rscd;
+
+ /**
+ * rtu编码
+ */
+ @TableField("stcd")
+ private String stcd;
+
+ /**
+ * 水工建筑物编号
+ */
+ @TableField("hycncd")
+ private String hycncd;
+
+ /**
+ * 测点编号
+ */
+ @TableField("mpcd")
+ private String mpcd;
+
+ /**
+ * 桩号
+ */
+ @TableField("ch")
+ private String ch;
+
+ /**
+ * 轴距,单位m
+ */
+ @TableField("ofax")
+ private BigDecimal ofax;
+
+ /**
+ * 高程,单位m
+ */
+ @TableField("el")
+ private BigDecimal el;
+
+ /**
+ * 监测类型
+ */
+ @TableField("msps")
+ private String msps;
+
+ /**
+ * 透水段底高程,单位m
+ */
+ @TableField("pmbtel")
+ private BigDecimal pmbtel;
+
+ /**
+ * 透水段顶高程,单位m
+ */
+ @TableField("pmtpel")
+ private BigDecimal pmtpel;
+
+ /**
+ * 坝面高程
+ */
+ @TableField("dsel")
+ private BigDecimal dsel;
+
+ /**
+ * 安装日期
+ */
+ @TableField("indt")
+ private LocalDate indt;
+
+ /**
+ * 仪器编号
+ */
+ @TableField("dvcd")
+ private String dvcd;
+
+ /**
+ * 经度
+ */
+ @TableField("lgtd")
+ private BigDecimal lgtd;
+
+ /**
+ * 纬度
+ */
+ @TableField("lttd")
+ private BigDecimal lttd;
+
+ /**
+ * 备注
+ */
+ @TableField("rm")
+ private String rm;
+
+ /**
+ * 资料更新时间
+ */
+ @TableField("dtuptm")
+ private LocalDateTime dtuptm;
+
+ /**
+ * 断面
+ */
+ @TableField("dm")
+ private String dm;
+
+ /**
+ * 是否填报
+ */
+ @TableField("is_tb")
+ private String isTb;
+}
\ No newline at end of file
diff --git a/module-common/src/main/java/com/gunshi/project/hsz/common/model/JcskSyR.java b/module-common/src/main/java/com/gunshi/project/hsz/common/model/JcskSyR.java
new file mode 100644
index 0000000..3963884
--- /dev/null
+++ b/module-common/src/main/java/com/gunshi/project/hsz/common/model/JcskSyR.java
@@ -0,0 +1,67 @@
+package com.gunshi.project.hsz.common.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.gunshi.db.annotation.IgnoreAutoMapperAndDao;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * 渗压数据表实体类
+ * 数据源为DsmSpgSpprNormal
+ * @see com.gunshi.project.hsz.datasync.entity.jcsk.DsmSpgSppr
+ */
+@Data
+@TableName("jcsk_sy_r")
+@IgnoreAutoMapperAndDao
+public class JcskSyR {
+ /**
+ * 水库代码
+ */
+ @TableField("rscd")
+ private String rscd;
+
+ /**
+ * rtu编码
+ */
+ @TableField("stcd")
+ private String stcd;
+
+ /**
+ * 水工建筑物编号
+ */
+ @TableField("hycncd")
+ private String hycncd;
+
+ /**
+ * 测点编号
+ */
+ @TableField("mpcd")
+ private String mpcd;
+
+ /**
+ * 测量时间
+ */
+ @TableField("mstm")
+ private LocalDateTime mstm;
+
+ /**
+ * 温度
+ */
+ @TableField("tm")
+ private BigDecimal tm;
+
+ /**
+ * 渗流压力水位,单位m
+ */
+ @TableField("spprwl")
+ private BigDecimal spprwl;
+
+ /**
+ * 更新时间
+ */
+ @TableField("update_tm")
+ private LocalDateTime updateTm;
+}
\ No newline at end of file
diff --git a/module-common/src/main/java/com/gunshi/project/hsz/common/model/StFlowR.java b/module-common/src/main/java/com/gunshi/project/hsz/common/model/StFlowR.java
new file mode 100644
index 0000000..db1bdf5
--- /dev/null
+++ b/module-common/src/main/java/com/gunshi/project/hsz/common/model/StFlowR.java
@@ -0,0 +1,67 @@
+package com.gunshi.project.hsz.common.model;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.gunshi.db.annotation.IgnoreAutoMapperAndDao;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * @author lyf
+ * @since 2025-10-16
+ */
+@Data
+@TableName("st_flow_r")
+@IgnoreAutoMapperAndDao
+public class StFlowR {
+
+ /**
+ * 主键id
+ */
+ @TableId(value = "id", type = IdType.NONE)
+ private Integer id;
+
+ /**
+ * 测站编码
+ */
+ @TableField("stcd")
+ private String stcd;
+
+ /**
+ * 观测时间
+ */
+ @TableField("tm")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private LocalDateTime tm;
+
+ /**
+ * 入库流量,单位m³/s
+ */
+ @TableField("inq")
+ private BigDecimal inq;
+
+ /**
+ * 瞬时流量,单位m³/s
+ */
+ @TableField("q")
+ private BigDecimal q;
+
+ /**
+ * 出库流量,单位m³/s
+ */
+ @TableField("otq")
+ private BigDecimal otq;
+
+ /**
+ * 创建时间
+ */
+ @TableField("crtime")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private LocalDateTime crtime;
+
+}
diff --git a/src/main/java/com/gunshi/project/hsz/model/StStbprpB.java b/module-common/src/main/java/com/gunshi/project/hsz/common/model/StStbprpB.java
similarity index 98%
rename from src/main/java/com/gunshi/project/hsz/model/StStbprpB.java
rename to module-common/src/main/java/com/gunshi/project/hsz/common/model/StStbprpB.java
index 12ad653..3b5d0f4 100644
--- a/src/main/java/com/gunshi/project/hsz/model/StStbprpB.java
+++ b/module-common/src/main/java/com/gunshi/project/hsz/common/model/StStbprpB.java
@@ -1,4 +1,4 @@
-package com.gunshi.project.hsz.model;
+package com.gunshi.project.hsz.common.model;
import com.baomidou.mybatisplus.annotation.IdType;
@@ -6,9 +6,10 @@ import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
+import com.gunshi.db.annotation.IgnoreAutoMapperAndDao;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
@@ -25,6 +26,7 @@ import java.util.Date;
@Schema(description="sttp 以水利标准来")
@Data
@TableName("public.st_stbprp_b")
+@IgnoreAutoMapperAndDao
public class StStbprpB implements Serializable {
diff --git a/src/main/java/com/gunshi/project/hsz/model/StStbprpBElem.java b/module-common/src/main/java/com/gunshi/project/hsz/common/model/StStbprpBElem.java
similarity index 92%
rename from src/main/java/com/gunshi/project/hsz/model/StStbprpBElem.java
rename to module-common/src/main/java/com/gunshi/project/hsz/common/model/StStbprpBElem.java
index 373ee12..0b875ae 100644
--- a/src/main/java/com/gunshi/project/hsz/model/StStbprpBElem.java
+++ b/module-common/src/main/java/com/gunshi/project/hsz/common/model/StStbprpBElem.java
@@ -1,10 +1,11 @@
-package com.gunshi.project.hsz.model;
+package com.gunshi.project.hsz.common.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
+import com.gunshi.db.annotation.IgnoreAutoMapperAndDao;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
@@ -20,6 +21,7 @@ import java.io.Serializable;
@Schema(description="测站监测值类型")
@Data
@TableName("public.st_stbprp_b_elem")
+@IgnoreAutoMapperAndDao
public class StStbprpBElem implements Serializable {
diff --git a/src/main/java/com/gunshi/project/hsz/validate/markers/Delete.java b/module-common/src/main/java/com/gunshi/project/hsz/common/validate/markers/Delete.java
similarity index 65%
rename from src/main/java/com/gunshi/project/hsz/validate/markers/Delete.java
rename to module-common/src/main/java/com/gunshi/project/hsz/common/validate/markers/Delete.java
index 0d91caf..5efcdb7 100644
--- a/src/main/java/com/gunshi/project/hsz/validate/markers/Delete.java
+++ b/module-common/src/main/java/com/gunshi/project/hsz/common/validate/markers/Delete.java
@@ -1,4 +1,4 @@
-package com.gunshi.project.hsz.validate.markers;
+package com.gunshi.project.hsz.common.validate.markers;
/**
* 类描述
diff --git a/src/main/java/com/gunshi/project/hsz/validate/markers/Insert.java b/module-common/src/main/java/com/gunshi/project/hsz/common/validate/markers/Insert.java
similarity index 65%
rename from src/main/java/com/gunshi/project/hsz/validate/markers/Insert.java
rename to module-common/src/main/java/com/gunshi/project/hsz/common/validate/markers/Insert.java
index e07ffbe..36200be 100644
--- a/src/main/java/com/gunshi/project/hsz/validate/markers/Insert.java
+++ b/module-common/src/main/java/com/gunshi/project/hsz/common/validate/markers/Insert.java
@@ -1,4 +1,4 @@
-package com.gunshi.project.hsz.validate.markers;
+package com.gunshi.project.hsz.common.validate.markers;
/**
* 类描述
diff --git a/src/main/java/com/gunshi/project/hsz/validate/markers/Query.java b/module-common/src/main/java/com/gunshi/project/hsz/common/validate/markers/Query.java
similarity index 65%
rename from src/main/java/com/gunshi/project/hsz/validate/markers/Query.java
rename to module-common/src/main/java/com/gunshi/project/hsz/common/validate/markers/Query.java
index 0936b69..713da6d 100644
--- a/src/main/java/com/gunshi/project/hsz/validate/markers/Query.java
+++ b/module-common/src/main/java/com/gunshi/project/hsz/common/validate/markers/Query.java
@@ -1,4 +1,4 @@
-package com.gunshi.project.hsz.validate.markers;
+package com.gunshi.project.hsz.common.validate.markers;
/**
* 类描述
diff --git a/src/main/java/com/gunshi/project/hsz/validate/markers/QueryPage.java b/module-common/src/main/java/com/gunshi/project/hsz/common/validate/markers/QueryPage.java
similarity index 66%
rename from src/main/java/com/gunshi/project/hsz/validate/markers/QueryPage.java
rename to module-common/src/main/java/com/gunshi/project/hsz/common/validate/markers/QueryPage.java
index 3ad6c6d..d44abb5 100644
--- a/src/main/java/com/gunshi/project/hsz/validate/markers/QueryPage.java
+++ b/module-common/src/main/java/com/gunshi/project/hsz/common/validate/markers/QueryPage.java
@@ -1,4 +1,4 @@
-package com.gunshi.project.hsz.validate.markers;
+package com.gunshi.project.hsz.common.validate.markers;
/**
* 类描述
diff --git a/src/main/java/com/gunshi/project/hsz/validate/markers/QueryTimeRange.java b/module-common/src/main/java/com/gunshi/project/hsz/common/validate/markers/QueryTimeRange.java
similarity index 67%
rename from src/main/java/com/gunshi/project/hsz/validate/markers/QueryTimeRange.java
rename to module-common/src/main/java/com/gunshi/project/hsz/common/validate/markers/QueryTimeRange.java
index 745dfcc..69fcb38 100644
--- a/src/main/java/com/gunshi/project/hsz/validate/markers/QueryTimeRange.java
+++ b/module-common/src/main/java/com/gunshi/project/hsz/common/validate/markers/QueryTimeRange.java
@@ -1,4 +1,4 @@
-package com.gunshi.project.hsz.validate.markers;
+package com.gunshi.project.hsz.common.validate.markers;
/**
* 类描述
diff --git a/src/main/java/com/gunshi/project/hsz/validate/markers/Update.java b/module-common/src/main/java/com/gunshi/project/hsz/common/validate/markers/Update.java
similarity index 65%
rename from src/main/java/com/gunshi/project/hsz/validate/markers/Update.java
rename to module-common/src/main/java/com/gunshi/project/hsz/common/validate/markers/Update.java
index 73d4af8..5411813 100644
--- a/src/main/java/com/gunshi/project/hsz/validate/markers/Update.java
+++ b/module-common/src/main/java/com/gunshi/project/hsz/common/validate/markers/Update.java
@@ -1,4 +1,4 @@
-package com.gunshi.project.hsz.validate.markers;
+package com.gunshi.project.hsz.common.validate.markers;
/**
* 类描述
diff --git a/src/main/resources/mapper/StStbprpBElemMapper.xml b/module-common/src/main/resources/mapper/StStbprpBElemMapper.xml
similarity index 66%
rename from src/main/resources/mapper/StStbprpBElemMapper.xml
rename to module-common/src/main/resources/mapper/StStbprpBElemMapper.xml
index b2f3018..f2230bb 100644
--- a/src/main/resources/mapper/StStbprpBElemMapper.xml
+++ b/module-common/src/main/resources/mapper/StStbprpBElemMapper.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/src/main/resources/mapper/StStbprpBMapper.xml b/module-common/src/main/resources/mapper/StStbprpBMapper.xml
similarity index 68%
rename from src/main/resources/mapper/StStbprpBMapper.xml
rename to module-common/src/main/resources/mapper/StStbprpBMapper.xml
index 2738eba..455ebf9 100644
--- a/src/main/resources/mapper/StStbprpBMapper.xml
+++ b/module-common/src/main/resources/mapper/StStbprpBMapper.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/parent/pom.xml b/parent/pom.xml
index 742d699..fe3c582 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -20,6 +20,9 @@
黑石咀水库系统 - 父级POM
+
+ ../module-common
+
21
21
@@ -44,6 +47,12 @@
+
+ com.gunshi
+ gunshi-project-hsz-common
+ 1.0-SNAPSHOT
+
+
com.gunshi
@@ -131,6 +140,11 @@
+
+ com.baomidou
+ mybatis-plus
+ ${mybatis-plus.version}
+
com.baomidou
mybatis-plus-spring-boot3-starter
@@ -266,15 +280,6 @@
org.apache.maven.plugins
maven-jar-plugin
-
-
-
- true
- lib/
- com.gunshi.project.hsz.Main
-
-
-
@@ -285,6 +290,12 @@
nexus
Nexus public
http://local.gunshiiot.com:8081/repository/maven-public/
+
+ true
+
+
+ true
+
diff --git a/pom.xml b/pom.xml
index f2719cb..cff0836 100644
--- a/pom.xml
+++ b/pom.xml
@@ -17,9 +17,13 @@
黑石咀水库系统
-
+
+ com.gunshi
+ gunshi-project-hsz-common
+ 1.0-SNAPSHOT
+
com.gunshi
gunshi-db
@@ -145,6 +149,15 @@
org.apache.maven.plugins
maven-jar-plugin
+
+
+
+ true
+ lib/
+ com.gunshi.project.hsz.Main
+
+
+
diff --git a/service-datasync/pom.xml b/service-datasync/pom.xml
new file mode 100644
index 0000000..68db734
--- /dev/null
+++ b/service-datasync/pom.xml
@@ -0,0 +1,45 @@
+
+
+ 4.0.0
+
+
+ com.gunshi
+ gunshi-project-hsz-parent
+ 1.0-SNAPSHOT
+ ../parent/pom.xml
+
+
+ gunshi-project-hsz-datasync
+ 1.0-SNAPSHOT
+
+
+ 8.1.2.114
+
+
+
+ com.gunshi
+ gunshi-project-hsz-common
+ 1.0-SNAPSHOT
+
+
+ com.dameng
+ DmJdbcDriver18
+ ${dameng.version}
+
+
+
+ org.projectlombok
+ lombok
+
+
+ com.baomidou
+ mybatis-plus
+
+
+ org.postgresql
+ postgresql
+
+
+
\ No newline at end of file
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/Main.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/Main.java
new file mode 100644
index 0000000..d4b8792
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/Main.java
@@ -0,0 +1,26 @@
+package com.gunshi.project.hsz.datasync;
+
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.scheduling.annotation.EnableScheduling;
+
+/**
+ * 应用程序入口类
+ */
+@SpringBootApplication
+@EnableScheduling
+@MapperScan({
+ "com.gunshi.project.tsg.datasync.mapper",
+ "com.gunshi.project.tsg.datasync.mapper.jcsk",
+ "com.gunshi.project.tsg.datasync.rsvrWaterLevel",
+ "com.gunshi.project.tsg.datasync.rainfall",
+ "com.gunshi.project.tsg.datasync.gate",
+ "com.gunshi.project.tsg.datasync.riverWaterLevel",
+})
+public class Main {
+
+ public static void main(String[] args) {
+ SpringApplication.run(Main.class, args);
+ }
+}
\ No newline at end of file
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/config/SyncTaskScheduler.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/config/SyncTaskScheduler.java
new file mode 100644
index 0000000..40325a2
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/config/SyncTaskScheduler.java
@@ -0,0 +1,174 @@
+package com.gunshi.project.hsz.datasync.config;
+
+import com.gunshi.project.hsz.datasync.service.impl.SyncByRService;
+import com.gunshi.project.hsz.datasync.service.impl.SyncGnssRService;
+import com.gunshi.project.hsz.datasync.service.impl.SyncSlRService;
+import com.gunshi.project.hsz.datasync.service.impl.SyncSyRService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.ApplicationArguments;
+import org.springframework.boot.ApplicationRunner;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
+
+import java.util.concurrent.Executor;
+
+@Configuration
+@EnableScheduling
+@Slf4j
+public class SyncTaskScheduler implements ApplicationRunner {
+
+ @Autowired
+ private SyncByRService syncByRService;
+
+ @Autowired
+ private SyncGnssRService syncGnssRService;
+
+ @Autowired
+ private SyncSlRService syncSlRService;
+
+ @Autowired
+ private SyncSyRService syncSyRService;
+
+ private boolean isApplicationReady = false;
+
+ // 任务执行状态标志,确保每个任务串行执行
+ private volatile boolean isSyncByRRunning = false;
+ private volatile boolean isSyncGnssRRunning = false;
+ private volatile boolean isSyncSlRRunning = false;
+ private volatile boolean isSyncSyRRunning = false;
+
+ /**
+ * 配置定时任务线程池,确保并行执行
+ */
+ public Executor taskScheduler() {
+ ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler();
+ scheduler.setPoolSize(4); // 4个线程,每个服务一个
+ scheduler.setThreadNamePrefix("SyncTask-");
+ scheduler.initialize();
+ return scheduler;
+ }
+
+ /**
+ * 在应用启动完成后设置标志
+ */
+ @Override
+ public void run(ApplicationArguments args) {
+ isApplicationReady = true;
+ log.info("应用初始化完成,定时任务将在下次调度时开始执行");
+ }
+
+ /**
+ * 白蚁数据同步任务 - 每5分钟执行一次
+ * 确保上一次执行完毕后才会再次执行
+ */
+ @Scheduled(cron = "0 */5 * * * ?")
+ public void scheduleSyncByR() {
+ if (!isApplicationReady) {
+ return;
+ }
+
+ // 检查任务是否正在运行,如果是则跳过本次执行
+ if (isSyncByRRunning) {
+ log.info("白蚁数据同步任务正在执行中,跳过本次调度");
+ return;
+ }
+
+ try {
+ isSyncByRRunning = true; // 标记任务开始执行
+ log.info("开始执行白蚁数据同步任务");
+ syncByRService.syncData();
+ log.info("白蚁数据同步任务执行完成");
+ } catch (Exception e) {
+ log.error("白蚁数据同步任务执行异常", e);
+ } finally {
+ isSyncByRRunning = false; // 无论成功失败,都标记任务执行完毕
+ }
+ }
+
+ /**
+ * 位移数据同步任务 - 每15分钟执行一次
+ * 确保上一次执行完毕后才会再次执行
+ */
+ @Scheduled(cron = "0 */15 * * * ?")
+ public void scheduleSyncGnssR() {
+ if (!isApplicationReady) {
+ return;
+ }
+
+ // 检查任务是否正在运行,如果是则跳过本次执行
+ if (isSyncGnssRRunning) {
+ log.info("位移数据同步任务正在执行中,跳过本次调度");
+ return;
+ }
+
+ try {
+ isSyncGnssRRunning = true; // 标记任务开始执行
+ log.info("开始执行位移数据同步任务");
+ syncGnssRService.syncData();
+ log.info("位移数据同步任务执行完成");
+ } catch (Exception e) {
+ log.error("位移数据同步任务执行异常", e);
+ } finally {
+ isSyncGnssRRunning = false; // 无论成功失败,都标记任务执行完毕
+ }
+ }
+
+ /**
+ * 渗流量数据同步任务 - 每15分钟执行一次
+ * 确保上一次执行完毕后才会再次执行
+ */
+ @Scheduled(cron = "0 */15 * * * ?")
+ public void scheduleSyncSlR() {
+ if (!isApplicationReady) {
+ return;
+ }
+
+ // 检查任务是否正在运行,如果是则跳过本次执行
+ if (isSyncSlRRunning) {
+ log.info("渗流量数据同步任务正在执行中,跳过本次调度");
+ return;
+ }
+
+ try {
+ isSyncSlRRunning = true; // 标记任务开始执行
+ log.info("开始执行渗流量数据同步任务");
+ syncSlRService.syncData();
+ log.info("渗流量数据同步任务执行完成");
+ } catch (Exception e) {
+ log.error("渗流量数据同步任务执行异常", e);
+ } finally {
+ isSyncSlRRunning = false; // 无论成功失败,都标记任务执行完毕
+ }
+ }
+
+ /**
+ * 渗压数据同步任务 - 每15分钟执行一次
+ * 确保上一次执行完毕后才会再次执行
+ */
+ @Scheduled(cron = "0 */15 * * * ?")
+ public void scheduleSyncSyR() {
+ if (!isApplicationReady) {
+ return;
+ }
+
+ // 检查任务是否正在运行,如果是则跳过本次执行
+ if (isSyncSyRRunning) {
+ log.info("渗压数据同步任务正在执行中,跳过本次调度");
+ return;
+ }
+
+ try {
+ isSyncSyRRunning = true; // 标记任务开始执行
+ log.info("开始执行渗压数据同步任务");
+ syncSyRService.syncData();
+ log.info("渗压数据同步任务执行完成");
+ } catch (Exception e) {
+ log.error("渗压数据同步任务执行异常", e);
+ } finally {
+ isSyncSyRRunning = false; // 无论成功失败,都标记任务执行完毕
+ }
+ }
+}
\ No newline at end of file
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/entity/jcsk/AttMqttCalcData.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/entity/jcsk/AttMqttCalcData.java
new file mode 100644
index 0000000..c951fc6
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/entity/jcsk/AttMqttCalcData.java
@@ -0,0 +1,55 @@
+package com.gunshi.project.hsz.datasync.entity.jcsk;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.gunshi.project.hsz.common.model.JcskGnssR;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 位移数据表(数据源表)
+ * 对应数据库表:SJZT_MD.att_mqtt_calc_data_normal
+ * 数据来源:该表数据同步至jcsk_gnss_r表
+ * @see AttWyCdBase
+ * @see JcskGnssR
+ */
+@Data
+@TableName("SJZT_MD.\"att_mqtt_calc_data\"")
+public class AttMqttCalcData {
+ /**
+ * 水库编码设备编码
+ */
+ @TableField("\"station_code\"")
+ private String stationCode;
+
+ /**
+ * e方向变形值,单位(mm)
+ */
+ @TableField("\"de\"")
+ private BigDecimal de;
+
+ /**
+ * n方向变形值,单位(mm)
+ */
+ @TableField("\"dn\"")
+ private BigDecimal dn;
+
+ /**
+ * u方向变形值,单位(mm)
+ */
+ @TableField("\"du\"")
+ private BigDecimal du;
+
+ /**
+ * 站点高程
+ */
+ @TableField("\"alt\"")
+ private BigDecimal alt;
+
+ /**
+ * 解算时间
+ */
+ @TableField("\"calc_time\"")
+ private Long calcTime;
+}
\ No newline at end of file
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/entity/jcsk/AttWyCdBase.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/entity/jcsk/AttWyCdBase.java
new file mode 100644
index 0000000..364db52
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/entity/jcsk/AttWyCdBase.java
@@ -0,0 +1,53 @@
+package com.gunshi.project.hsz.datasync.entity.jcsk;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.gunshi.project.hsz.common.model.JcskGnssB;
+import lombok.Data;
+
+/**
+ * 位移设备表(数据源表)
+ * 对应数据库表:SJZT_MD.att_wy_cd_base
+ * 数据来源:该表数据同步至jcsk_gnss_b表
+ * @see JcskGnssB
+ * @see AttMqttCalcData
+ */
+@Data
+@TableName("SJZT_MD.\"att_wy_cd_base\"")
+public class AttWyCdBase {
+ /**
+ * 测点编码
+ */
+ @TableField("\"cd\"")
+ private String cd;
+
+ /**
+ * 测点名称
+ */
+ @TableField("\"cd_nm\"")
+ private String cdNm;
+
+ /**
+ * 桩号
+ */
+ @TableField("\"ch\"")
+ private String ch;
+
+ /**
+ * 测点类型(sl/wy/sy)
+ */
+ @TableField("\"cd_type\"")
+ private String cdType;
+
+ /**
+ * 水库编码
+ */
+ @TableField("\"res_cd\"")
+ private String resCd;
+
+ /**
+ * 设备状态
+ */
+ @TableField("\"device_status\"")
+ private String deviceStatus;
+}
\ No newline at end of file
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/entity/jcsk/DsmSpgSppr.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/entity/jcsk/DsmSpgSppr.java
new file mode 100644
index 0000000..804f36a
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/entity/jcsk/DsmSpgSppr.java
@@ -0,0 +1,63 @@
+package com.gunshi.project.hsz.datasync.entity.jcsk;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.gunshi.project.hsz.common.model.JcskSyR;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * 渗压数据表(数据源表)
+ * 对应数据库表:SJZT_ODS.dsm_spg_sppr_normal
+ * 数据来源:该表数据同步至jcsk_sy_r表
+ * @see DsmSpgSpprmp
+ * @see JcskSyR
+ */
+@Data
+@TableName("SJZT_ODS.\"dsm_spg_sppr\"")
+public class DsmSpgSppr {
+ /**
+ * 水库代码
+ */
+ @TableField("\"rscd\"")
+ private String rscd;
+
+ /**
+ * rtu编码
+ */
+ @TableField("\"stcd\"")
+ private String stcd;
+
+ /**
+ * 水工建筑物编号
+ */
+ @TableField("\"hycncd\"")
+ private String hycncd;
+
+ /**
+ * 测点编号
+ */
+ @TableField("\"mpcd\"")
+ private String mpcd;
+
+ /**
+ * 测量时间
+ */
+ @TableField("\"mstm\"")
+ private LocalDateTime mstm;
+
+ /**
+ * 温度
+ */
+ @TableField("\"tm\"")
+ private BigDecimal tm;
+
+ /**
+ * 渗流压力水位,单位m
+ */
+ @TableField("\"spprwl\"")
+ private BigDecimal spprwl;
+
+}
\ No newline at end of file
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/entity/jcsk/DsmSpgSpprmp.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/entity/jcsk/DsmSpgSpprmp.java
new file mode 100644
index 0000000..816a55c
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/entity/jcsk/DsmSpgSpprmp.java
@@ -0,0 +1,135 @@
+package com.gunshi.project.hsz.datasync.entity.jcsk;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.gunshi.project.hsz.common.model.JcskSyB;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ * 渗压测点表(数据源表)
+ * 对应数据库表:SJZT_ODS.dsm_spg_spprmp
+ * 数据来源:该表数据同步至jcsk_sy_b表
+ * @see JcskSyB
+ * @see DsmSpgSppr
+ */
+@Data
+@TableName("SJZT_ODS.\"dsm_spg_spprmp\"")
+public class DsmSpgSpprmp {
+ /**
+ * 水库代码
+ */
+ @TableField("\"rscd\"")
+ private String rscd;
+
+ /**
+ * rtu编码
+ */
+ @TableField("\"stcd\"")
+ private String stcd;
+
+ /**
+ * 水工建筑物编号
+ */
+ @TableField("\"hycncd\"")
+ private String hycncd;
+
+ /**
+ * 测点编号
+ */
+ @TableField("\"mpcd\"")
+ private String mpcd;
+
+ /**
+ * 桩号
+ */
+ @TableField("\"ch\"")
+ private String ch;
+
+ /**
+ * 轴距,单位m
+ */
+ @TableField("\"ofax\"")
+ private BigDecimal ofax;
+
+ /**
+ * 高程,单位m
+ */
+ @TableField("\"el\"")
+ private BigDecimal el;
+
+ /**
+ * 监测类型
+ */
+ @TableField("\"msps\"")
+ private String msps;
+
+ /**
+ * 透水段底高程,单位m
+ */
+ @TableField("\"pmbtel\"")
+ private BigDecimal pmbtel;
+
+ /**
+ * 透水段顶高程,单位m
+ */
+ @TableField("\"pmtpel\"")
+ private BigDecimal pmtpel;
+
+ /**
+ * 坝面高程
+ */
+ @TableField("\"dsel\"")
+ private BigDecimal dsel;
+
+ /**
+ * 安装日期
+ */
+ @TableField("\"indt\"")
+ private LocalDate indt;
+
+ /**
+ * 仪器编号
+ */
+ @TableField("\"dvcd\"")
+ private String dvcd;
+
+ /**
+ * 经度
+ */
+ @TableField("\"lgtd\"")
+ private BigDecimal lgtd;
+
+ /**
+ * 纬度
+ */
+ @TableField("\"lttd\"")
+ private BigDecimal lttd;
+
+ /**
+ * 备注
+ */
+ @TableField("\"rm\"")
+ private String rm;
+
+ /**
+ * 资料更新时间
+ */
+ @TableField("\"dtuptm\"")
+ private LocalDateTime dtuptm;
+
+ /**
+ * 断面
+ */
+ @TableField("\"dm\"")
+ private String dm;
+
+ /**
+ * 是否填报
+ */
+ @TableField("\"is_tb\"")
+ private String isTb;
+}
\ No newline at end of file
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/entity/jcsk/DsmSpgSpqn.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/entity/jcsk/DsmSpgSpqn.java
new file mode 100644
index 0000000..cbc9e6d
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/entity/jcsk/DsmSpgSpqn.java
@@ -0,0 +1,64 @@
+package com.gunshi.project.hsz.datasync.entity.jcsk;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.gunshi.project.hsz.common.model.JcskSlR;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * 渗流数据表(数据源表)
+ * 对应数据库表:SJZT_ODS.dsm_spg_spqn_normal
+ * 数据来源:该表数据同步至jcsk_sl_r表
+ * @see DsmSpgSpqnmp
+ * @see JcskSlR
+ */
+@Data
+@TableName("SJZT_ODS.\"dsm_spg_spqn\"")
+public class DsmSpgSpqn {
+ /**
+ * 水库代码
+ */
+ @TableField("\"rscd\"")
+ private String rscd;
+
+
+ /**
+ * 水工建筑物编号
+ */
+ @TableField("\"hycncd\"")
+ private String hycncd;
+
+ /**
+ * 测点编号
+ */
+ @TableField("\"mpcd\"")
+ private String mpcd;
+
+ /**
+ * 测量时间
+ */
+ @TableField("\"mstm\"")
+ private LocalDateTime mstm;
+
+ /**
+ * 温度,单位℃
+ */
+ @TableField("\"tm\"")
+ private BigDecimal tm;
+
+ /**
+ * 渗流量,单位l/s
+ */
+ @TableField("\"spqn\"")
+ private BigDecimal spqn;
+
+ /**
+ * 标准水温渗流量,单位l/s
+ */
+ @TableField("\"stspqn\"")
+ private BigDecimal stspqn;
+
+}
\ No newline at end of file
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/entity/jcsk/DsmSpgSpqnmp.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/entity/jcsk/DsmSpgSpqnmp.java
new file mode 100644
index 0000000..89bed3b
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/entity/jcsk/DsmSpgSpqnmp.java
@@ -0,0 +1,111 @@
+package com.gunshi.project.hsz.datasync.entity.jcsk;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.gunshi.project.hsz.common.model.JcskSlB;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ * 渗流测点表(数据源表)
+ * 对应数据库表:SJZT_ODS.dsm_spg_spqnmp
+ * 数据来源:该表数据同步至jcsk_sl_b表
+ * @see DsmSpgSpqn
+ * @see JcskSlB
+ */
+@Data
+@TableName("SJZT_ODS.\"dsm_spg_spqnmp\"")
+public class DsmSpgSpqnmp {
+ /**
+ * 水库代码
+ */
+ @TableField("\"rscd\"")
+ private String rscd;
+
+ /**
+ * 水工建筑物编号
+ */
+ @TableField("\"hycncd\"")
+ private String hycncd;
+
+ /**
+ * 测点编号
+ */
+ @TableField("\"mpcd\"")
+ private String mpcd;
+
+ /**
+ * rtu编号
+ */
+ @TableField("\"stcd\"")
+ private String stcd;
+
+ /**
+ * 桩号
+ */
+ @TableField("\"ch\"")
+ private String ch;
+
+ /**
+ * 轴距,单位m
+ */
+ @TableField("\"ofax\"")
+ private BigDecimal ofax;
+
+ /**
+ * 高程,单位m
+ */
+ @TableField("\"el\"")
+ private BigDecimal el;
+
+ /**
+ * 安装日期
+ */
+ @TableField("\"indt\"")
+ private LocalDate indt;
+
+ /**
+ * 仪器编号
+ */
+ @TableField("\"dvcd\"")
+ private String dvcd;
+
+ /**
+ * 经度
+ */
+ @TableField("\"lgtd\"")
+ private BigDecimal lgtd;
+
+ /**
+ * 纬度
+ */
+ @TableField("\"lttd\"")
+ private BigDecimal lttd;
+
+ /**
+ * 备注
+ */
+ @TableField("\"rm\"")
+ private String rm;
+
+ /**
+ * 资料更新时间
+ */
+ @TableField("\"dtuptm\"")
+ private LocalDateTime dtuptm;
+
+ /**
+ * 断面
+ */
+ @TableField("\"dm\"")
+ private String dm;
+
+ /**
+ * 是否填报
+ */
+ @TableField("\"is_tb\"")
+ private String isTb;
+}
\ No newline at end of file
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/entity/jcsk/JcskStFlowR.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/entity/jcsk/JcskStFlowR.java
new file mode 100644
index 0000000..342a273
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/entity/jcsk/JcskStFlowR.java
@@ -0,0 +1,57 @@
+package com.gunshi.project.hsz.datasync.entity.jcsk;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * @author lyf
+ * @since 2025-10-16
+ */
+@Data
+@TableName("SJZT_ODS.\"st_flow_r\"")
+public class JcskStFlowR {
+
+ /**
+ * 主键id
+ */
+ @TableId(value = "\"id\"", type = IdType.NONE)
+ private Integer id;
+
+ /**
+ * 测站编码
+ */
+ @TableField("\"stcd\"")
+ private String stcd;
+
+ /**
+ * 观测时间
+ */
+ @TableField("\"tm\"")
+ private LocalDateTime tm;
+
+ /**
+ * 入库流量,单位m³/s
+ */
+ @TableField("\"inq\"")
+ private BigDecimal inq;
+
+ /**
+ * 瞬时流量,单位m³/s
+ */
+ @TableField("\"q\"")
+ private BigDecimal q;
+
+ /**
+ * 出库流量,单位m³/s
+ */
+ @TableField("\"otq\"")
+ private BigDecimal otq;
+
+
+}
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/entity/jcsk/WaterDataTermites.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/entity/jcsk/WaterDataTermites.java
new file mode 100644
index 0000000..854b224
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/entity/jcsk/WaterDataTermites.java
@@ -0,0 +1,110 @@
+package com.gunshi.project.hsz.datasync.entity.jcsk;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.gunshi.project.hsz.common.model.JcskByR;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * 白蚁数据表(数据源表)
+ * 对应数据库表:SJZT_ODS.water_data_termites
+ * 数据来源:该表数据同步至jcsk_by_r表
+ * @see WaterDevice
+ * @see JcskByR
+ */
+@Data
+@TableName("SJZT_ODS.\"water_data_termites\"")
+public class WaterDataTermites {
+ /**
+ * 设备编码
+ */
+ @TableField("\"mn_no\"")
+ private String mnNo;
+
+ /**
+ * 白蚁蚁情状态,有白蚁入侵为1
+ */
+ @TableField("\"status\"")
+ private Integer status;
+
+ /**
+ * 白蚁设备电量
+ */
+ @TableField("\"electricity\"")
+ private Integer electricity;
+
+ /**
+ * 白蚁设备安装的点位顺序
+ */
+ @TableField("\"order\"")
+ private String order;
+
+ /**
+ * 创建时间
+ */
+ @TableField("\"created_at\"")
+ private LocalDateTime createdAt;
+
+ /**
+ * 观测时间
+ */
+ @TableField("\"ob_time\"")
+ private String obTime;
+
+ /**
+ * 观测时间2
+ */
+ @TableField("\"ob_date\"")
+ private LocalDateTime obDate;
+
+ /**
+ * 主键id
+ */
+ @TableId("\"id\"")
+ private Integer id;
+
+ /**
+ * 水库id
+ */
+ @TableField("\"station_id\"")
+ private Integer stationId;
+
+ /**
+ * 站点名称
+ */
+ @TableField("\"station_name\"")
+ private String stationName;
+
+ /**
+ * 设备id
+ */
+ @TableField("\"device_id\"")
+ private Integer deviceId;
+
+ /**
+ * 设备名称
+ */
+ @TableField("\"device_name\"")
+ private String deviceName;
+
+ /**
+ * 任务状态
+ */
+ @TableField("\"task_status\"")
+ private String taskStatus;
+
+ /**
+ * 任务id
+ */
+ @TableField("\"task_id\"")
+ private String taskId;
+
+ /**
+ * 接收类型
+ */
+ @TableField("\"receive_type\"")
+ private Short receiveType;
+}
\ No newline at end of file
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/entity/jcsk/WaterDevice.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/entity/jcsk/WaterDevice.java
new file mode 100644
index 0000000..3f695b4
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/entity/jcsk/WaterDevice.java
@@ -0,0 +1,211 @@
+package com.gunshi.project.hsz.datasync.entity.jcsk;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.gunshi.project.hsz.common.model.JcskByB;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 白蚁设备表(数据源表)
+ * 对应数据库表:SJZT_ODS.water_device
+ * 数据来源:该表数据同步至jcsk_by_b表
+ * @see JcskByB
+ * @see WaterDataTermites
+ */
+@Data
+@TableName("SJZT_ODS.\"water_device\"")
+public class WaterDevice {
+ /**
+ * 主键
+ */
+ @TableField("\"id\"")
+ private Integer id;
+
+ /**
+ * 设备名称
+ */
+ @TableField("\"name\"")
+ private String name;
+
+ /**
+ * 设备编码
+ */
+ @TableField("\"code\"")
+ private String code;
+
+ /**
+ * 站点接入编码
+ */
+ @TableField("\"mn_no\"")
+ private String mnNo;
+
+ /**
+ * 厂家id
+ */
+ @TableField("\"factory_id\"")
+ private Integer factoryId;
+
+ /**
+ * 服务站点id
+ */
+ @TableField("\"station_id\"")
+ private Integer stationId;
+
+ /**
+ * 服务站点名称
+ */
+ @TableField("\"station_name\"")
+ private String stationName;
+
+ /**
+ * 创建时间
+ */
+ @TableField("\"created_at\"")
+ private Integer createdAt;
+
+ /**
+ * 创建人id
+ */
+ @TableField("\"created_user\"")
+ private Integer createdUser;
+
+ /**
+ * 修改时间
+ */
+ @TableField("\"updated_at\"")
+ private Integer updatedAt;
+
+ /**
+ * 修改人id
+ */
+ @TableField("\"updated_user\"")
+ private Integer updatedUser;
+
+ /**
+ * 状态
+ */
+ @TableField("\"status\"")
+ private Integer status;
+
+ /**
+ * 纬度
+ */
+ @TableField("\"lat\"")
+ private BigDecimal lat;
+
+ /**
+ * 经度
+ */
+ @TableField("\"lon\"")
+ private BigDecimal lon;
+
+ /**
+ * 省份id
+ */
+ @TableField("\"province_id\"")
+ private Long provinceId;
+
+ /**
+ * 省份名称
+ */
+ @TableField("\"province_name\"")
+ private String provinceName;
+
+ /**
+ * 城市id
+ */
+ @TableField("\"city_id\"")
+ private Long cityId;
+
+ /**
+ * 城市名称
+ */
+ @TableField("\"city_name\"")
+ private String cityName;
+
+ /**
+ * 区域名称
+ */
+ @TableField("\"area_name\"")
+ private String areaName;
+
+ /**
+ * 区域id
+ */
+ @TableField("\"area_id\"")
+ private Long areaId;
+
+ /**
+ * 设备类型
+ */
+ @TableField("\"type\"")
+ private Integer type;
+
+ /**
+ * 设备类型详情
+ */
+ @TableField("\"send_type\"")
+ private String sendType;
+
+ /**
+ * 联系人
+ */
+ @TableField("\"contact\"")
+ private String contact;
+
+ /**
+ * 联系电话
+ */
+ @TableField("\"telephone\"")
+ private String telephone;
+
+ /**
+ * 流域
+ */
+ @TableField("\"river\"")
+ private String river;
+
+ /**
+ * 安装地点
+ */
+ @TableField("\"address\"")
+ private String address;
+
+ /**
+ * 产品型号
+ */
+ @TableField("\"model\"")
+ private String model;
+
+ /**
+ * 备注
+ */
+ @TableField("\"remark\"")
+ private String remark;
+
+ /**
+ * 通信方式
+ */
+ @TableField("\"communication_type\"")
+ private Integer communicationType;
+
+ /**
+ * 设备图片
+ */
+ @TableField("\"image_url\"")
+ private String imageUrl;
+
+ /**
+ * 设备视频流地址的ip
+ */
+ @TableField("\"video_ip\"")
+ private String videoIp;
+
+ /**
+ * 设备视频id
+ */
+ @TableField("\"video_id\"")
+ private String videoId;
+}
\ No newline at end of file
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/gate/GateOpeningHeight.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/gate/GateOpeningHeight.java
new file mode 100644
index 0000000..8d65ecc
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/gate/GateOpeningHeight.java
@@ -0,0 +1,33 @@
+package com.gunshi.project.hsz.datasync.gate;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * @author lyf
+ * @since 2025-10-20
+ */
+@Data
+@TableName("st_gate_r")
+public class GateOpeningHeight {
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ @TableField(value="stcd")
+ private String stcd;
+
+ @TableField(value="gtop")
+ private BigDecimal gtop;
+
+ @TableField(value="tm")
+ private LocalDateTime tm;
+
+ @TableField(value="recv_tm")
+ private LocalDateTime recvTm;
+}
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/gate/GateOpeningHeightMapper.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/gate/GateOpeningHeightMapper.java
new file mode 100644
index 0000000..c368316
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/gate/GateOpeningHeightMapper.java
@@ -0,0 +1,14 @@
+package com.gunshi.project.hsz.datasync.gate;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @author lyf
+ * @since 2025-10-20
+ */
+@DS("tsg")
+@Mapper
+public interface GateOpeningHeightMapper extends BaseMapper {
+}
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/gate/GateOpeningHeightService.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/gate/GateOpeningHeightService.java
new file mode 100644
index 0000000..4ecf5f6
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/gate/GateOpeningHeightService.java
@@ -0,0 +1,62 @@
+package com.gunshi.project.hsz.datasync.gate;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.time.LocalDateTime;
+
+/**
+ * @author lyf
+ * @since 2025-10-20
+ */
+@Service
+public class GateOpeningHeightService {
+
+ @Autowired
+ private GateOpeningHeightMapper targetMapper;
+
+ @Scheduled(cron = "0 */5 * * * ?")
+ public int syncData() {
+ LocalDateTime tm = LocalDateTime.now();
+ //抹去分和秒
+ tm = tm.withMinute(0).withSecond(0).withNano(0);
+ GateOpeningHeight target = new GateOpeningHeight();
+ BigDecimal height;
+ GateOpeningHeight exist;
+
+ target.setStcd("30111");
+ target.setTm(tm);
+ height = BigDecimal.valueOf(Math.random() * 10).setScale(0, RoundingMode.HALF_UP);
+ target.setGtop(height);
+ target.setRecvTm(tm);
+ exist = targetMapper.selectOne(
+ new LambdaQueryWrapper()
+ .eq(GateOpeningHeight::getStcd, target.getStcd())
+ .eq(GateOpeningHeight::getTm, target.getTm())
+ );
+ if (exist == null) {
+ targetMapper.insert(target);
+ }
+
+ target.setStcd("30222");
+ target.setTm(tm);
+ height = BigDecimal.valueOf(Math.random() * 10).setScale(0, RoundingMode.HALF_UP);
+ target.setGtop(height);
+ target.setRecvTm(tm);
+ exist = targetMapper.selectOne(
+ new LambdaQueryWrapper()
+ .eq(GateOpeningHeight::getStcd, target.getStcd())
+ .eq(GateOpeningHeight::getTm, target.getTm())
+ );
+ if (exist == null) {
+ targetMapper.insert(target);
+ }
+
+ return 0;
+ }
+
+}
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/mapper/StFlowRMapper.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/mapper/StFlowRMapper.java
new file mode 100644
index 0000000..e325534
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/mapper/StFlowRMapper.java
@@ -0,0 +1,15 @@
+package com.gunshi.project.hsz.datasync.mapper;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gunshi.project.hsz.common.model.StFlowR;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @author lyf
+ * @since 2025-10-16
+ */
+@DS("tsg")
+@Mapper
+public interface StFlowRMapper extends BaseMapper {
+}
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/mapper/StbprpElemMapper.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/mapper/StbprpElemMapper.java
new file mode 100644
index 0000000..9c5d1b1
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/mapper/StbprpElemMapper.java
@@ -0,0 +1,27 @@
+package com.gunshi.project.hsz.datasync.mapper;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.gunshi.project.hsz.common.model.StStbprpBElem;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+/**
+ * @author lyf
+ * @since 2025-10-16
+ */
+@DS("tsg")
+@Mapper
+public interface StbprpElemMapper {
+
+ @Select("""
+
+ """)
+ List selectByElem(@Param("elem") String elem);
+}
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/mapper/jcsk/AttMqttCalcDataNormalMapper.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/mapper/jcsk/AttMqttCalcDataNormalMapper.java
new file mode 100644
index 0000000..2f27325
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/mapper/jcsk/AttMqttCalcDataNormalMapper.java
@@ -0,0 +1,17 @@
+package com.gunshi.project.hsz.datasync.mapper.jcsk;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gunshi.project.hsz.datasync.entity.jcsk.AttMqttCalcData;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * AttMqttCalcDataNormal的Mapper接口
+ */
+@DS("jcsk")
+@Mapper
+public interface AttMqttCalcDataNormalMapper extends BaseMapper {
+
+ // 可以在这里添加自定义的SQL方法
+
+}
\ No newline at end of file
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/mapper/jcsk/AttWyCdBaseMapper.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/mapper/jcsk/AttWyCdBaseMapper.java
new file mode 100644
index 0000000..181c1da
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/mapper/jcsk/AttWyCdBaseMapper.java
@@ -0,0 +1,17 @@
+package com.gunshi.project.hsz.datasync.mapper.jcsk;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gunshi.project.hsz.datasync.entity.jcsk.AttWyCdBase;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * AttWyCdBase的Mapper接口
+ */
+@DS("jcsk")
+@Mapper
+public interface AttWyCdBaseMapper extends BaseMapper {
+
+ // 可以在这里添加自定义的SQL方法
+
+}
\ No newline at end of file
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/mapper/jcsk/DsmSpgSpprMapper.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/mapper/jcsk/DsmSpgSpprMapper.java
new file mode 100644
index 0000000..fc5d6e7
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/mapper/jcsk/DsmSpgSpprMapper.java
@@ -0,0 +1,14 @@
+package com.gunshi.project.hsz.datasync.mapper.jcsk;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gunshi.project.hsz.datasync.entity.jcsk.DsmSpgSppr;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * DsmSpgSpprNormal的Mapper接口
+ */
+@DS("jcsk")
+@Mapper
+public interface DsmSpgSpprMapper extends BaseMapper {
+}
\ No newline at end of file
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/mapper/jcsk/DsmSpgSpprmpMapper.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/mapper/jcsk/DsmSpgSpprmpMapper.java
new file mode 100644
index 0000000..b644d7e
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/mapper/jcsk/DsmSpgSpprmpMapper.java
@@ -0,0 +1,17 @@
+package com.gunshi.project.hsz.datasync.mapper.jcsk;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gunshi.project.hsz.datasync.entity.jcsk.DsmSpgSpprmp;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * DsmSpgSpprmp的Mapper接口
+ */
+@DS("jcsk")
+@Mapper
+public interface DsmSpgSpprmpMapper extends BaseMapper {
+
+ // 可以在这里添加自定义的SQL方法
+
+}
\ No newline at end of file
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/mapper/jcsk/DsmSpgSpqnMapper.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/mapper/jcsk/DsmSpgSpqnMapper.java
new file mode 100644
index 0000000..073fd8d
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/mapper/jcsk/DsmSpgSpqnMapper.java
@@ -0,0 +1,17 @@
+package com.gunshi.project.hsz.datasync.mapper.jcsk;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gunshi.project.hsz.datasync.entity.jcsk.DsmSpgSpqn;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * DsmSpgSpqnNormal的Mapper接口
+ */
+@DS("jcsk")
+@Mapper
+public interface DsmSpgSpqnMapper extends BaseMapper {
+
+ // 可以在这里添加自定义的SQL方法
+
+}
\ No newline at end of file
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/mapper/jcsk/DsmSpgSpqnmpMapper.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/mapper/jcsk/DsmSpgSpqnmpMapper.java
new file mode 100644
index 0000000..6de6e6a
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/mapper/jcsk/DsmSpgSpqnmpMapper.java
@@ -0,0 +1,17 @@
+package com.gunshi.project.hsz.datasync.mapper.jcsk;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gunshi.project.hsz.datasync.entity.jcsk.DsmSpgSpqnmp;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * DsmSpgSpqnmp的Mapper接口
+ */
+@DS("jcsk")
+@Mapper
+public interface DsmSpgSpqnmpMapper extends BaseMapper {
+
+ // 可以在这里添加自定义的SQL方法
+
+}
\ No newline at end of file
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/mapper/jcsk/JcskStFlowRMapper.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/mapper/jcsk/JcskStFlowRMapper.java
new file mode 100644
index 0000000..a7f042f
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/mapper/jcsk/JcskStFlowRMapper.java
@@ -0,0 +1,15 @@
+package com.gunshi.project.hsz.datasync.mapper.jcsk;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gunshi.project.hsz.datasync.entity.jcsk.JcskStFlowR;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @author lyf
+ * @since 2025-10-16
+ */
+@DS("jcsk")
+@Mapper
+public interface JcskStFlowRMapper extends BaseMapper {
+}
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/mapper/jcsk/WaterDataTermitesMapper.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/mapper/jcsk/WaterDataTermitesMapper.java
new file mode 100644
index 0000000..321363f
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/mapper/jcsk/WaterDataTermitesMapper.java
@@ -0,0 +1,15 @@
+package com.gunshi.project.hsz.datasync.mapper.jcsk;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gunshi.project.hsz.datasync.entity.jcsk.WaterDataTermites;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * WaterDataTermites的Mapper接口
+ */
+@DS("jcsk")
+@Mapper
+public interface WaterDataTermitesMapper extends BaseMapper {
+
+}
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/mapper/jcsk/WaterDeviceMapper.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/mapper/jcsk/WaterDeviceMapper.java
new file mode 100644
index 0000000..77bbd31
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/mapper/jcsk/WaterDeviceMapper.java
@@ -0,0 +1,17 @@
+package com.gunshi.project.hsz.datasync.mapper.jcsk;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gunshi.project.hsz.datasync.entity.jcsk.WaterDevice;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * WaterDevice的Mapper接口
+ */
+@DS("jcsk")
+@Mapper
+public interface WaterDeviceMapper extends BaseMapper {
+
+ // 可以在这里添加自定义的SQL方法
+
+}
\ No newline at end of file
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rainfall/Rainfall.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rainfall/Rainfall.java
new file mode 100644
index 0000000..bbe46d4
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rainfall/Rainfall.java
@@ -0,0 +1,47 @@
+package com.gunshi.project.hsz.datasync.rainfall;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * @author lyf
+ * @since 2025-10-20
+ */
+@Data
+@TableName("st_pptn_r")
+public class Rainfall {
+ /**
+ * 测站编码
+ */
+ @TableField("stcd")
+ private String stcd;
+
+ /**
+ * 时段降水量
+ */
+ @TableField("drp")
+ private BigDecimal drp;
+
+ /**
+ * 时间
+ */
+ @TableField("tm")
+ private LocalDateTime tm;
+
+ /**
+ * 时段长
+ */
+ @TableField("intv")
+ private BigDecimal intv;
+
+ /**
+ * 天气状况
+ */
+ @TableField("wth")
+ private String wth;
+
+}
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rainfall/RainfallMapper.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rainfall/RainfallMapper.java
new file mode 100644
index 0000000..7638cfd
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rainfall/RainfallMapper.java
@@ -0,0 +1,14 @@
+package com.gunshi.project.hsz.datasync.rainfall;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @author lyf
+ * @since 2025-10-20
+ */
+@DS("tsg")
+@Mapper
+public interface RainfallMapper extends BaseMapper {
+}
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rainfall/RainfallReal.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rainfall/RainfallReal.java
new file mode 100644
index 0000000..5c2b870
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rainfall/RainfallReal.java
@@ -0,0 +1,13 @@
+package com.gunshi.project.hsz.datasync.rainfall;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+/**
+ * @author lyf
+ * @since 2025-10-20
+ */
+@Data
+@TableName("st_pptn_r_real")
+public class RainfallReal {
+}
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rainfall/RainfallRealMapper.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rainfall/RainfallRealMapper.java
new file mode 100644
index 0000000..7e08270
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rainfall/RainfallRealMapper.java
@@ -0,0 +1,16 @@
+package com.gunshi.project.hsz.datasync.rainfall;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * @author lyf
+ * @since 2025-10-20
+ */
+@DS("tsg")
+@Mapper
+public interface RainfallRealMapper extends BaseMapper {
+ int updateReal(@Param("stcd") String stcd);
+}
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rainfall/RainfallService.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rainfall/RainfallService.java
new file mode 100644
index 0000000..ded9017
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rainfall/RainfallService.java
@@ -0,0 +1,113 @@
+package com.gunshi.project.hsz.datasync.rainfall;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.gunshi.project.hsz.common.model.StStbprpBElem;
+import com.gunshi.project.hsz.datasync.mapper.StbprpElemMapper;
+import com.gunshi.project.hsz.datasync.rainfall.datasource.JcskStPptnR;
+import com.gunshi.project.hsz.datasync.rainfall.datasource.JcskStPptnRMapper;
+import com.gunshi.project.hsz.datasync.service.SyncTableRService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.lang.NonNull;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * @author lyf
+ * @since 2025-10-20
+ */
+@Service
+public class RainfallService implements SyncTableRService {
+ @Autowired
+ private JcskStPptnRMapper sourceMapper;
+
+ @Autowired
+ private RainfallRealMapper targetRealMapper;
+
+ @Autowired
+ private RainfallMapper targetMapper;
+
+ @Autowired
+ private StbprpElemMapper stbprpMapper;
+
+ @Scheduled(cron = "0 */5 * * * ?")
+ @Override
+ public int syncData() {
+ // 获取所有降雨要素的站点
+ List stbprps = stbprpMapper.selectByElem("drp");
+
+ int cnt = 0;
+ for (StStbprpBElem StStbprpBElem : stbprps) {
+ Rainfall targetParams = new Rainfall();
+ targetParams.setStcd(StStbprpBElem.getStcd());
+
+ Rainfall latestTarget = getLatestTargetEntity(targetParams);
+ List sourceEntityList = getSourceEntityListByLatestTargetEntity(latestTarget);
+ cnt += saveToTarget(sourceEntityList);
+ }
+ return cnt;
+ }
+
+ @NonNull
+ @Override
+ public Rainfall getLatestTargetEntity(Rainfall targetParams) {
+ String stcd = targetParams.getStcd();
+
+ Rainfall target = targetMapper.selectOne(
+ new LambdaQueryWrapper()
+ .eq(Rainfall::getStcd, stcd)
+ .orderByDesc(Rainfall::getTm)
+ .last("limit 1")
+ );
+
+ if (target == null) {
+ target = new Rainfall();
+ target.setStcd(stcd);
+ target.setTm(LocalDateTime.of(2025, 10, 20, 15, 0, 0));
+ }
+
+ return target;
+ }
+
+ @Override
+ public List getSourceEntityListByLatestTargetEntity(@NonNull Rainfall targetEntity) {
+ String stcd = targetEntity.getStcd();
+ LocalDateTime tm = targetEntity.getTm();
+ return sourceMapper.selectList(
+ new LambdaQueryWrapper()
+ .gt(JcskStPptnR::getTm, tm)
+ .eq(JcskStPptnR::getStcd, stcd)
+ );
+ }
+
+ @Override
+ public int saveToTarget(List sourceEntityList) {
+ int count = 0;
+ for (JcskStPptnR sourceEntity : sourceEntityList) {
+ String stcd = sourceEntity.getStcd();
+ LocalDateTime tm = sourceEntity.getTm();
+ Rainfall existingTarget = targetMapper.selectOne(
+ new LambdaQueryWrapper()
+ .eq(Rainfall::getStcd, stcd)
+ .eq(Rainfall::getTm, tm)
+ );
+
+ if (existingTarget == null) {
+ Rainfall targetEntity = new Rainfall();
+ BeanUtils.copyProperties(sourceEntity, targetEntity);
+ targetMapper.insert(targetEntity);
+ }
+ count++;
+ }
+
+ if (!sourceEntityList.isEmpty()) {
+ JcskStPptnR sourceEntity = sourceEntityList.getFirst();
+ String stcd = sourceEntity.getStcd();
+ targetRealMapper.updateReal(stcd);
+ }
+ return count;
+ }
+}
\ No newline at end of file
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rainfall/datasource/JcskStPptnR.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rainfall/datasource/JcskStPptnR.java
new file mode 100644
index 0000000..74c0e37
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rainfall/datasource/JcskStPptnR.java
@@ -0,0 +1,46 @@
+package com.gunshi.project.hsz.datasync.rainfall.datasource;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * @author lyf
+ * @since 2025-10-20
+ */
+@Data
+@TableName("SJZT_MD.\"st_pptn_r\"")
+public class JcskStPptnR {
+ /**
+ * 测站编码
+ */
+ @TableField("\"stcd\"")
+ private String stcd;
+
+ /**
+ * 时段降水量
+ */
+ @TableField("\"drp\"")
+ private BigDecimal drp;
+
+ /**
+ * 时间
+ */
+ @TableField("\"tm\"")
+ private LocalDateTime tm;
+
+ /**
+ * 时段长
+ */
+ @TableField("\"intv\"")
+ private BigDecimal intv;
+
+ /**
+ * 天气状况
+ */
+ @TableField("\"wth\"")
+ private String wth;
+}
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rainfall/datasource/JcskStPptnRMapper.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rainfall/datasource/JcskStPptnRMapper.java
new file mode 100644
index 0000000..6561577
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rainfall/datasource/JcskStPptnRMapper.java
@@ -0,0 +1,14 @@
+package com.gunshi.project.hsz.datasync.rainfall.datasource;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @author lyf
+ * @since 2025-10-20
+ */
+@DS("jcsk")
+@Mapper
+public interface JcskStPptnRMapper extends BaseMapper {
+}
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/riverWaterLevel/RiverWaterLevel.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/riverWaterLevel/RiverWaterLevel.java
new file mode 100644
index 0000000..2305670
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/riverWaterLevel/RiverWaterLevel.java
@@ -0,0 +1,40 @@
+package com.gunshi.project.hsz.datasync.riverWaterLevel;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * @author lyf
+ * @since 2025-10-30
+ */
+@Data
+@TableName("st_river_r")
+public class RiverWaterLevel {
+ /**
+ * 测站编码
+ */
+ @TableField("stcd")
+ private String stcd;
+
+ /**
+ * 监测时间
+ */
+ @TableField("tm")
+ private LocalDateTime tm;
+
+ /**
+ * 水位
+ */
+ @TableField("z")
+ private BigDecimal z;
+
+ /**
+ * 水库水势
+ */
+ @TableField("wptn")
+ private String wptn;
+}
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/riverWaterLevel/RiverWaterLevelMapper.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/riverWaterLevel/RiverWaterLevelMapper.java
new file mode 100644
index 0000000..2bd7368
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/riverWaterLevel/RiverWaterLevelMapper.java
@@ -0,0 +1,14 @@
+package com.gunshi.project.hsz.datasync.riverWaterLevel;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @author lyf
+ * @since 2025-10-20
+ */
+@DS("tsg")
+@Mapper
+public interface RiverWaterLevelMapper extends BaseMapper {
+}
\ No newline at end of file
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/riverWaterLevel/RiverWaterLevelReal.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/riverWaterLevel/RiverWaterLevelReal.java
new file mode 100644
index 0000000..379cbbd
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/riverWaterLevel/RiverWaterLevelReal.java
@@ -0,0 +1,49 @@
+package com.gunshi.project.hsz.datasync.riverWaterLevel;
+
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+
+@Data
+@TableName("st_river_r_real")
+public class RiverWaterLevelReal {
+
+ /**
+ * stcd
+ */
+ @TableId(value = "stcd", type = IdType.AUTO)
+ private String stcd;
+
+ /**
+ * tm
+ */
+ @TableField(value = "tm")
+ private LocalDateTime tm;
+
+ /**
+ * z
+ */
+ @TableField(value = "")
+ private BigDecimal z;
+
+ /**
+ * rwptn
+ */
+ @TableField(value = "wptn")
+ private String wptn;
+
+
+ /**
+ * chtm
+ */
+ @TableField(value = "chtm")
+ private LocalDateTime chtm;
+
+}
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/riverWaterLevel/RiverWaterLevelRealMapper.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/riverWaterLevel/RiverWaterLevelRealMapper.java
new file mode 100644
index 0000000..c7fefd3
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/riverWaterLevel/RiverWaterLevelRealMapper.java
@@ -0,0 +1,14 @@
+package com.gunshi.project.hsz.datasync.riverWaterLevel;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @author lyf
+ * @since 2025-10-20
+ */
+@DS("tsg")
+@Mapper
+public interface RiverWaterLevelRealMapper extends BaseMapper {
+}
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/riverWaterLevel/RiverWaterLevelService.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/riverWaterLevel/RiverWaterLevelService.java
new file mode 100644
index 0000000..65416cd
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/riverWaterLevel/RiverWaterLevelService.java
@@ -0,0 +1,126 @@
+package com.gunshi.project.hsz.datasync.riverWaterLevel;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.gunshi.project.hsz.common.model.StStbprpBElem;
+import com.gunshi.project.hsz.datasync.mapper.StbprpElemMapper;
+import com.gunshi.project.hsz.datasync.rsvrWaterLevel.datasource.JcskStRsvrR;
+import com.gunshi.project.hsz.datasync.rsvrWaterLevel.datasource.JcskStRsvrRMapper;
+import com.gunshi.project.hsz.datasync.service.SyncTableRService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.lang.NonNull;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * @author lyf
+ * @since 2025-10-20
+ * 荆楚水库的河道水位和水库水位共用一张表
+ */
+@Service
+public class RiverWaterLevelService implements SyncTableRService {
+ @Autowired
+ private JcskStRsvrRMapper sourceMapper;
+
+ @Autowired
+ private RiverWaterLevelRealMapper targetRealMapper;
+
+ @Autowired
+ private RiverWaterLevelMapper targetMapper;
+
+ @Autowired
+ private StbprpElemMapper stbprpMapper;
+
+ @Scheduled(cron = "0 */5 * * * ?")
+ @Override
+ public int syncData() {
+ // 获取所有水库水位要素的站点
+ List stbprps = stbprpMapper.selectByElem("z");
+
+ int cnt = 0;
+ for (StStbprpBElem StStbprpBElem : stbprps) {
+ RiverWaterLevel targetParams = new RiverWaterLevel();
+ targetParams.setStcd(StStbprpBElem.getStcd());
+
+ RiverWaterLevel latestTarget = getLatestTargetEntity(targetParams);
+ List sourceEntityList = getSourceEntityListByLatestTargetEntity(latestTarget);
+ cnt += saveToTarget(sourceEntityList);
+ }
+ return cnt;
+ }
+
+ @NonNull
+ @Override
+ public RiverWaterLevel getLatestTargetEntity(RiverWaterLevel targetParams) {
+ String stcd = targetParams.getStcd();
+
+ RiverWaterLevel target = targetMapper.selectOne(
+ new LambdaQueryWrapper()
+ .eq(RiverWaterLevel::getStcd, stcd)
+ .orderByDesc(RiverWaterLevel::getTm)
+ .last("limit 1")
+ );
+
+ if (target == null) {
+ target = new RiverWaterLevel();
+ target.setStcd(stcd);
+ target.setTm(LocalDateTime.of(2025, 10, 20, 15, 0, 0));
+ }
+
+ return target;
+ }
+
+ @Override
+ public List getSourceEntityListByLatestTargetEntity(@NonNull RiverWaterLevel targetEntity) {
+ String stcd = targetEntity.getStcd();
+ LocalDateTime tm = targetEntity.getTm();
+ return sourceMapper.selectList(
+ new LambdaQueryWrapper()
+ .gt(JcskStRsvrR::getTm, tm)
+ .eq(JcskStRsvrR::getStcd, stcd)
+ );
+ }
+
+ @Override
+ public int saveToTarget(List sourceEntityList) {
+ int count = 0;
+ for (JcskStRsvrR sourceEntity : sourceEntityList) {
+ String stcd = sourceEntity.getStcd();
+ LocalDateTime tm = sourceEntity.getTm();
+ RiverWaterLevel existingTarget = targetMapper.selectOne(
+ new LambdaQueryWrapper()
+ .eq(RiverWaterLevel::getStcd, stcd)
+ .eq(RiverWaterLevel::getTm, tm)
+ );
+
+ if (existingTarget == null) {
+ RiverWaterLevel targetEntity = new RiverWaterLevel();
+ BeanUtils.copyProperties(sourceEntity, targetEntity);
+ targetEntity.setZ(sourceEntity.getRz());
+ targetEntity.setWptn(sourceEntity.getRwptn());
+ targetMapper.insert(targetEntity);
+ }
+ count++;
+ }
+
+ if (!sourceEntityList.isEmpty()) {
+ sourceEntityList.sort((o1, o2) -> o2.getTm().compareTo(o1.getTm()));
+ JcskStRsvrR sourceEntity = sourceEntityList.getFirst();
+ String stcd = sourceEntity.getStcd();
+ RiverWaterLevelReal real = targetRealMapper.selectById(stcd);
+ if (real == null) {
+ real = new RiverWaterLevelReal();
+ }
+ real.setTm(sourceEntity.getTm());
+ real.setStcd(stcd);
+ real.setZ(sourceEntity.getRz());
+ real.setWptn(sourceEntity.getRwptn());
+ real.setChtm(LocalDateTime.now());
+ targetRealMapper.insertOrUpdate(real);
+ }
+ return count;
+ }
+}
\ No newline at end of file
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rsvrWaterLevel/RsvrWaterLevel.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rsvrWaterLevel/RsvrWaterLevel.java
new file mode 100644
index 0000000..9f0e713
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rsvrWaterLevel/RsvrWaterLevel.java
@@ -0,0 +1,65 @@
+package com.gunshi.project.hsz.datasync.rsvrWaterLevel;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * @author lyf
+ * @since 2025-10-20
+ */
+@Data
+@TableName("st_rsvr_r")
+public class RsvrWaterLevel {
+ /**
+ * 测站编码
+ */
+ @TableField("stcd")
+ private String stcd;
+
+ /**
+ * 监测时间
+ */
+ @TableField("tm")
+ private LocalDateTime tm;
+
+ /**
+ * 水位
+ */
+ @TableField("rz")
+ private BigDecimal rz;
+
+ /**
+ * 入库流量
+ */
+ @TableField("inq")
+ private BigDecimal inq;
+
+ /**
+ * 蓄水量
+ */
+ @TableField("w")
+ private BigDecimal w;
+
+ /**
+ * 库下水位
+ */
+ @TableField("blrz")
+ private BigDecimal blrz;
+
+ /**
+ * 出库流量
+ */
+ @TableField("otq")
+ private BigDecimal otq;
+
+ /**
+ * 水库水势
+ */
+ @TableField("rwptn")
+ private String rwptn;
+
+}
\ No newline at end of file
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rsvrWaterLevel/RsvrWaterLevelMapper.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rsvrWaterLevel/RsvrWaterLevelMapper.java
new file mode 100644
index 0000000..50f38fa
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rsvrWaterLevel/RsvrWaterLevelMapper.java
@@ -0,0 +1,14 @@
+package com.gunshi.project.hsz.datasync.rsvrWaterLevel;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @author lyf
+ * @since 2025-10-20
+ */
+@DS("tsg")
+@Mapper
+public interface RsvrWaterLevelMapper extends BaseMapper {
+}
\ No newline at end of file
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rsvrWaterLevel/RsvrWaterLevelReal.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rsvrWaterLevel/RsvrWaterLevelReal.java
new file mode 100644
index 0000000..cb29da4
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rsvrWaterLevel/RsvrWaterLevelReal.java
@@ -0,0 +1,49 @@
+package com.gunshi.project.hsz.datasync.rsvrWaterLevel;
+
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+
+@Data
+@TableName("st_rsvr_r_real")
+public class RsvrWaterLevelReal {
+
+ /**
+ * stcd
+ */
+ @TableId(value = "stcd", type = IdType.AUTO)
+ private String stcd;
+
+ /**
+ * tm
+ */
+ @TableField(value = "tm")
+ private LocalDateTime tm;
+
+ /**
+ * rz
+ */
+ @TableField(value = "rz")
+ private BigDecimal rz;
+
+ /**
+ * rwptn
+ */
+ @TableField(value = "rwptn")
+ private String rwptn;
+
+
+ /**
+ * chtm
+ */
+ @TableField(value = "chtm")
+ private LocalDateTime chtm;
+
+}
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rsvrWaterLevel/RsvrWaterLevelRealMapper.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rsvrWaterLevel/RsvrWaterLevelRealMapper.java
new file mode 100644
index 0000000..c368ceb
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rsvrWaterLevel/RsvrWaterLevelRealMapper.java
@@ -0,0 +1,14 @@
+package com.gunshi.project.hsz.datasync.rsvrWaterLevel;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @author lyf
+ * @since 2025-10-20
+ */
+@DS("tsg")
+@Mapper
+public interface RsvrWaterLevelRealMapper extends BaseMapper {
+}
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rsvrWaterLevel/RsvrWaterLevelService.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rsvrWaterLevel/RsvrWaterLevelService.java
new file mode 100644
index 0000000..a0fe9aa
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rsvrWaterLevel/RsvrWaterLevelService.java
@@ -0,0 +1,123 @@
+package com.gunshi.project.hsz.datasync.rsvrWaterLevel;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.gunshi.project.hsz.common.model.StStbprpBElem;
+import com.gunshi.project.hsz.datasync.mapper.StbprpElemMapper;
+import com.gunshi.project.hsz.datasync.rsvrWaterLevel.datasource.JcskStRsvrR;
+import com.gunshi.project.hsz.datasync.rsvrWaterLevel.datasource.JcskStRsvrRMapper;
+import com.gunshi.project.hsz.datasync.service.SyncTableRService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.lang.NonNull;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * @author lyf
+ * @since 2025-10-20
+ */
+@Service
+public class RsvrWaterLevelService implements SyncTableRService {
+ @Autowired
+ private JcskStRsvrRMapper sourceMapper;
+
+ @Autowired
+ private RsvrWaterLevelRealMapper targetRealMapper;
+
+ @Autowired
+ private RsvrWaterLevelMapper targetMapper;
+
+ @Autowired
+ private StbprpElemMapper stbprpMapper;
+
+ @Scheduled(cron = "0 */5 * * * ?")
+ @Override
+ public int syncData() {
+ // 获取所有水库水位要素的站点
+ List stbprps = stbprpMapper.selectByElem("rz");
+
+ int cnt = 0;
+ for (StStbprpBElem StStbprpBElem : stbprps) {
+ RsvrWaterLevel targetParams = new RsvrWaterLevel();
+ targetParams.setStcd(StStbprpBElem.getStcd());
+
+ RsvrWaterLevel latestTarget = getLatestTargetEntity(targetParams);
+ List sourceEntityList = getSourceEntityListByLatestTargetEntity(latestTarget);
+ cnt += saveToTarget(sourceEntityList);
+ }
+ return cnt;
+ }
+
+ @NonNull
+ @Override
+ public RsvrWaterLevel getLatestTargetEntity(RsvrWaterLevel targetParams) {
+ String stcd = targetParams.getStcd();
+
+ RsvrWaterLevel target = targetMapper.selectOne(
+ new LambdaQueryWrapper()
+ .eq(RsvrWaterLevel::getStcd, stcd)
+ .orderByDesc(RsvrWaterLevel::getTm)
+ .last("limit 1")
+ );
+
+ if (target == null) {
+ target = new RsvrWaterLevel();
+ target.setStcd(stcd);
+ target.setTm(LocalDateTime.of(2025,10,20,15,0,0));
+ }
+
+ return target;
+ }
+
+ @Override
+ public List getSourceEntityListByLatestTargetEntity(@NonNull RsvrWaterLevel targetEntity) {
+ String stcd = targetEntity.getStcd();
+ LocalDateTime tm = targetEntity.getTm();
+ return sourceMapper.selectList(
+ new LambdaQueryWrapper()
+ .gt(JcskStRsvrR::getTm, tm)
+ .eq(JcskStRsvrR::getStcd, stcd)
+ );
+ }
+
+ @Override
+ public int saveToTarget(List sourceEntityList) {
+ int count = 0;
+ for (JcskStRsvrR sourceEntity : sourceEntityList) {
+ String stcd = sourceEntity.getStcd();
+ LocalDateTime tm = sourceEntity.getTm();
+ RsvrWaterLevel existingTarget = targetMapper.selectOne(
+ new LambdaQueryWrapper()
+ .eq(RsvrWaterLevel::getStcd, stcd)
+ .eq(RsvrWaterLevel::getTm, tm)
+ );
+
+ if (existingTarget == null) {
+ RsvrWaterLevel targetEntity = new RsvrWaterLevel();
+ BeanUtils.copyProperties(sourceEntity, targetEntity);
+ targetMapper.insert(targetEntity);
+ }
+ count++;
+ }
+
+ if (!sourceEntityList.isEmpty()) {
+ sourceEntityList.sort((o1, o2) -> o2.getTm().compareTo(o1.getTm()));
+ JcskStRsvrR sourceEntity = sourceEntityList.getFirst();
+ String stcd = sourceEntity.getStcd();
+ RsvrWaterLevelReal real = targetRealMapper.selectById(stcd);
+ if (real == null) {
+ real = new RsvrWaterLevelReal();
+ }
+ real.setTm(sourceEntity.getTm());
+ real.setStcd(stcd);
+ real.setRz(sourceEntity.getRz());
+ real.setRwptn(sourceEntity.getRwptn());
+ real.setChtm(LocalDateTime.now());
+ targetRealMapper.insertOrUpdate(real);
+ }
+ return count;
+ }
+}
\ No newline at end of file
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rsvrWaterLevel/datasource/JcskStRsvrR.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rsvrWaterLevel/datasource/JcskStRsvrR.java
new file mode 100644
index 0000000..4f1f353
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rsvrWaterLevel/datasource/JcskStRsvrR.java
@@ -0,0 +1,84 @@
+package com.gunshi.project.hsz.datasync.rsvrWaterLevel.datasource;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * @author lyf
+ * @since 2025-10-20
+ */
+@Data
+@TableName("SJZT_MD.\"st_rsvr_r\"")
+public class JcskStRsvrR {
+
+ /**
+ * 站码
+ */
+ @TableId("\"stcd\"")
+ private String stcd;
+
+ /**
+ * 监测时间
+ */
+ @TableField("\"tm\"")
+ private LocalDateTime tm;
+
+ /**
+ * 水位
+ */
+ @TableField("\"rz\"")
+ private BigDecimal rz;
+
+ /**
+ * 入库流量
+ */
+ @TableField("\"inq\"")
+ private BigDecimal inq;
+
+ /**
+ * 蓄水量
+ */
+ @TableField("\"w\"")
+ private BigDecimal w;
+
+ /**
+ * 库下水位
+ */
+ @TableField("\"blrz\"")
+ private BigDecimal blrz;
+
+ /**
+ * 出库流量
+ */
+ @TableField("\"otq\"")
+ private BigDecimal otq;
+
+ /**
+ * 水库特征码
+ */
+ @TableField("\"rwchrcd\"")
+ private String rwchrcd;
+
+ /**
+ * 水库水势
+ */
+ @TableField("\"rwptn\"")
+ private String rwptn;
+
+ /**
+ * 入流时段长
+ */
+ @TableField("\"inqdr\"")
+ private BigDecimal inqdr;
+
+ /**
+ * 测流方法
+ */
+ @TableField("\"msqmt\"")
+ private String msqmt;
+}
\ No newline at end of file
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rsvrWaterLevel/datasource/JcskStRsvrRMapper.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rsvrWaterLevel/datasource/JcskStRsvrRMapper.java
new file mode 100644
index 0000000..6af6836
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/rsvrWaterLevel/datasource/JcskStRsvrRMapper.java
@@ -0,0 +1,14 @@
+package com.gunshi.project.hsz.datasync.rsvrWaterLevel.datasource;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @author lyf
+ * @since 2025-10-20
+ */
+@DS("jcsk")
+@Mapper
+public interface JcskStRsvrRMapper extends BaseMapper {
+}
\ No newline at end of file
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/service/SyncTableRService.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/service/SyncTableRService.java
new file mode 100644
index 0000000..bdaee3a
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/service/SyncTableRService.java
@@ -0,0 +1,30 @@
+package com.gunshi.project.hsz.datasync.service;
+
+import org.springframework.lang.NonNull;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * 数据同步服务接口
+ */
+public interface SyncTableRService {
+
+ int syncData();
+
+ @NonNull
+ TargetEntity getLatestTargetEntity(TargetEntity targetParams);
+
+ List getSourceEntityListByLatestTargetEntity(@NonNull TargetEntity targetEntity);
+
+ int saveToTarget(List sourceEntityList);
+
+ default LocalDateTime calculateEtm(LocalDateTime stm) {
+ LocalDateTime etm = LocalDateTime.now();
+ if (etm.isAfter(stm.plusDays(30))) {
+ etm = stm.plusDays(30);
+ }
+ return etm;
+ }
+
+}
\ No newline at end of file
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/service/impl/SyncByRService.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/service/impl/SyncByRService.java
new file mode 100644
index 0000000..b67b256
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/service/impl/SyncByRService.java
@@ -0,0 +1,104 @@
+package com.gunshi.project.hsz.datasync.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.gunshi.project.hsz.common.model.JcskByB;
+import com.gunshi.project.hsz.common.model.JcskByR;
+import com.gunshi.project.hsz.datasync.entity.jcsk.WaterDataTermites;
+import com.gunshi.project.hsz.common.mapper.JcskByBMapper;
+import com.gunshi.project.hsz.common.mapper.JcskByRMapper;
+import com.gunshi.project.hsz.datasync.mapper.jcsk.WaterDataTermitesMapper;
+import com.gunshi.project.hsz.datasync.service.SyncTableRService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.lang.NonNull;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Service
+public class SyncByRService implements SyncTableRService {
+
+ @Autowired
+ private WaterDataTermitesMapper sourceMapper;
+
+ @Autowired
+ private JcskByBMapper targetBMapper;
+
+ @Autowired
+ private JcskByRMapper targetMapper;
+
+ @Override
+ public int syncData() {
+ List targetBList = targetBMapper.selectList(null);
+
+ int cnt = 0;
+ for (JcskByB targetB : targetBList) {
+ JcskByR targetParams = new JcskByR();
+ targetParams.setDeviceId(targetB.getId());
+
+ JcskByR latestTarget = getLatestTargetEntity(targetParams);
+ List sourceEntityList = getSourceEntityListByLatestTargetEntity(latestTarget);
+ cnt += saveToTarget(sourceEntityList);
+ }
+ return cnt;
+ }
+
+ @NonNull
+ @Override
+ public JcskByR getLatestTargetEntity(JcskByR targetParams) {
+ Integer deviceId = targetParams.getDeviceId();
+
+ JcskByR target = targetMapper.selectOne(
+ new LambdaQueryWrapper()
+ .eq(JcskByR::getDeviceId, deviceId)
+ .orderByDesc(JcskByR::getObDate)
+ .last("limit 1")
+ );
+
+ if (target == null) {
+ target = new JcskByR();
+ target.setDeviceId(deviceId);
+ //数据源最早的数据时间
+ target.setObDate(LocalDateTime.of(2025, 8, 22, 10, 15, 0));
+ }
+
+ return target;
+ }
+
+ @Override
+ public List getSourceEntityListByLatestTargetEntity(@NonNull JcskByR targetEntity) {
+ Integer deviceId = targetEntity.getDeviceId();
+ LocalDateTime stm = targetEntity.getObDate();
+ LocalDateTime etm = calculateEtm(stm);
+ return sourceMapper.selectList(
+ new LambdaQueryWrapper()
+ .gt(WaterDataTermites::getObDate, stm)
+ .le(WaterDataTermites::getObDate, etm)
+ .eq(WaterDataTermites::getDeviceId, deviceId)
+ .ne(WaterDataTermites::getOrder, "000000")
+ );
+ }
+
+ @Override
+ public int saveToTarget(List sourceEntityList) {
+ int count = 0;
+ for (WaterDataTermites sourceEntity : sourceEntityList) {
+ Integer deviceId = sourceEntity.getId();
+ LocalDateTime tm = sourceEntity.getObDate();
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper()
+ .eq(JcskByR::getDeviceId, deviceId)
+ .eq(JcskByR::getObDate, tm)
+ .last("limit 1");
+ JcskByR existingTarget = targetMapper.selectOne(queryWrapper);
+
+ if (existingTarget == null) {
+ JcskByR targetEntity = new JcskByR();
+ BeanUtils.copyProperties(sourceEntity, targetEntity);
+ targetMapper.insert(targetEntity);
+ }
+ count++;
+ }
+ return count;
+ }
+}
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/service/impl/SyncFlowRService.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/service/impl/SyncFlowRService.java
new file mode 100644
index 0000000..b41794b
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/service/impl/SyncFlowRService.java
@@ -0,0 +1,107 @@
+package com.gunshi.project.hsz.datasync.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.gunshi.project.hsz.common.model.StFlowR;
+import com.gunshi.project.hsz.common.model.StStbprpBElem;
+import com.gunshi.project.hsz.datasync.entity.jcsk.JcskStFlowR;
+import com.gunshi.project.hsz.datasync.mapper.StFlowRMapper;
+import com.gunshi.project.hsz.datasync.mapper.StbprpElemMapper;
+import com.gunshi.project.hsz.datasync.mapper.jcsk.JcskStFlowRMapper;
+import com.gunshi.project.hsz.datasync.service.SyncTableRService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.lang.NonNull;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * @author lyf
+ * @since 2025-10-16
+ */
+@Slf4j
+@Service
+public class SyncFlowRService implements SyncTableRService {
+ @Autowired
+ private JcskStFlowRMapper jcskStFlowRMapper;
+
+ @Autowired
+ private StFlowRMapper stFlowRMapper;
+
+ @Autowired
+ private StbprpElemMapper stbprpMapper;
+
+ @Scheduled(cron = "0 */15 * * * ?")
+ @Override
+ public int syncData() {
+ log.info("开始同步流量数据");
+ // 获取所有流量要素的站点
+ List stbprps = stbprpMapper.selectByElem("flow");
+
+ int cnt = 0;
+ for (StStbprpBElem StStbprpBElem : stbprps) {
+ StFlowR targetParams = new StFlowR();
+ targetParams.setStcd(StStbprpBElem.getStcd());
+
+ StFlowR latestTarget = getLatestTargetEntity(targetParams);
+ List sourceEntityList = getSourceEntityListByLatestTargetEntity(latestTarget);
+ cnt += saveToTarget(sourceEntityList);
+ }
+ log.info("完成同步流量数据 {} {}", stbprps, cnt);
+ return cnt;
+ }
+
+ @NonNull
+ @Override
+ public StFlowR getLatestTargetEntity(StFlowR targetParams) {
+ String stcd = targetParams.getStcd();
+
+ StFlowR target = stFlowRMapper.selectOne(
+ new LambdaQueryWrapper()
+ .eq(StFlowR::getStcd, stcd)
+ .orderByDesc(StFlowR::getId)
+ .last("limit 1")
+ );
+
+ if (target == null) {
+ target = new StFlowR();
+ target.setStcd(stcd);
+ //流量有主键自增id,所以不用时间比较
+ target.setId(0);
+ }
+
+ return target;
+ }
+
+ @Override
+ public List getSourceEntityListByLatestTargetEntity(@NonNull StFlowR targetEntity) {
+ String stcd = targetEntity.getStcd();
+ Integer id = targetEntity.getId();
+ return jcskStFlowRMapper.selectList(
+ new LambdaQueryWrapper()
+ .gt(JcskStFlowR::getId, id)
+ .eq(JcskStFlowR::getStcd, stcd)
+ );
+ }
+
+ @Override
+ public int saveToTarget(List sourceEntityList) {
+ int count = 0;
+ for (JcskStFlowR sourceEntity : sourceEntityList) {
+ Integer id = sourceEntity.getId();
+ StFlowR existingTarget = stFlowRMapper.selectById(id);
+
+ if (existingTarget == null) {
+ StFlowR targetEntity = new StFlowR();
+ BeanUtils.copyProperties(sourceEntity, targetEntity);
+ targetEntity.setCrtime(LocalDateTime.now());
+ stFlowRMapper.insert(targetEntity);
+ }
+ count++;
+ }
+ return count;
+ }
+}
\ No newline at end of file
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/service/impl/SyncGnssRService.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/service/impl/SyncGnssRService.java
new file mode 100644
index 0000000..9cc0fba
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/service/impl/SyncGnssRService.java
@@ -0,0 +1,129 @@
+package com.gunshi.project.hsz.datasync.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.gunshi.project.hsz.common.model.JcskGnssB;
+import com.gunshi.project.hsz.common.model.JcskGnssR;
+import com.gunshi.project.hsz.datasync.entity.jcsk.AttMqttCalcData;
+import com.gunshi.project.hsz.common.mapper.JcskGnssBMapper;
+import com.gunshi.project.hsz.common.mapper.JcskGnssRMapper;
+import com.gunshi.project.hsz.datasync.mapper.jcsk.AttMqttCalcDataNormalMapper;
+import com.gunshi.project.hsz.datasync.service.SyncTableRService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.lang.NonNull;
+import org.springframework.stereotype.Service;
+
+import java.time.Instant;
+import java.time.LocalDateTime;
+import java.time.ZoneOffset;
+import java.util.List;
+
+/**
+ * @author lyf
+ * @since 2025-08-22
+ */
+@Service
+@Slf4j
+public class SyncGnssRService implements SyncTableRService {
+
+ @Autowired
+ private AttMqttCalcDataNormalMapper sourceMapper;
+
+ @Autowired
+ private JcskGnssBMapper targetBMapper;
+
+ @Autowired
+ private JcskGnssRMapper targetMapper;
+
+ @Override
+ public int syncData() {
+ List targetBList = targetBMapper.selectList(null);
+
+ int cnt = 0;
+ for (JcskGnssB targetB : targetBList) {
+ JcskGnssR targetParams = new JcskGnssR();
+ targetParams.setResCd(targetB.getResCd());
+ targetParams.setCd(targetB.getCd());
+
+ JcskGnssR latestTarget = getLatestTargetEntity(targetParams);
+ List sourceEntityList = getSourceEntityListByLatestTargetEntity(latestTarget);
+ cnt += saveToTarget(sourceEntityList);
+ }
+ return cnt;
+ }
+
+ @NonNull
+ @Override
+ public JcskGnssR getLatestTargetEntity(JcskGnssR targetParams) {
+ String resCd = targetParams.getResCd();
+ String cd = targetParams.getCd();
+
+ JcskGnssR target = targetMapper.selectOne(
+ new LambdaQueryWrapper()
+ .eq(JcskGnssR::getResCd, resCd)
+ .eq(JcskGnssR::getCd, cd)
+ .orderByDesc(JcskGnssR::getTm)
+ .last("limit 1")
+ );
+
+ if (target == null) {
+ target = new JcskGnssR();
+ target.setResCd(resCd);
+ target.setCd(cd);
+ //数据源最早的数据时间
+ target.setTm(LocalDateTime.of(2025, 9, 15, 18, 30, 0));
+ }
+
+ return target;
+ }
+
+ @Override
+ public List getSourceEntityListByLatestTargetEntity(@NonNull JcskGnssR targetEntity) {
+ String resCd = targetEntity.getResCd();
+ String cd = targetEntity.getCd();
+ LocalDateTime stm = targetEntity.getTm();
+ LocalDateTime etm = calculateEtm(stm);
+
+ Long stmMillis = stm.toInstant(ZoneOffset.of("+8")).toEpochMilli();
+ Long etmMillis = etm.toInstant(ZoneOffset.of("+8")).toEpochMilli();
+// log.info("开始同步 位移 {} {} {} {}", resCd, cd, stm, etm);
+ return sourceMapper.selectList(
+ new LambdaQueryWrapper()
+ .eq(AttMqttCalcData::getStationCode, resCd+cd)
+ .gt(AttMqttCalcData::getCalcTime, stmMillis)
+ .le(AttMqttCalcData::getCalcTime, etmMillis)
+ );
+ }
+
+ @Override
+ public int saveToTarget(List sourceEntityList) {
+ int count = 0;
+ for (AttMqttCalcData sourceEntity : sourceEntityList) {
+ LocalDateTime tm = LocalDateTime.ofInstant(
+ Instant.ofEpochMilli(sourceEntity.getCalcTime()), ZoneOffset.of("+8")
+ );
+ String stationCode = sourceEntity.getStationCode();
+ String resCd = stationCode.substring(0, 11);
+ String cd = stationCode.substring(11);
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper()
+ .eq(JcskGnssR::getResCd, resCd)
+ .eq(JcskGnssR::getCd, cd)
+ .eq(JcskGnssR::getTm, tm)
+ .last("limit 1");
+ JcskGnssR existingTarget = targetMapper.selectOne(queryWrapper);
+
+ if (existingTarget == null) {
+ JcskGnssR targetEntity = new JcskGnssR();
+ BeanUtils.copyProperties(sourceEntity, targetEntity);
+ targetEntity.setResCd(resCd);
+ targetEntity.setCd(cd);
+ targetEntity.setTm(tm);
+ targetEntity.setUpdateTm(LocalDateTime.now());
+ targetMapper.insert(targetEntity);
+ }
+ count++;
+ }
+ return count;
+ }
+}
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/service/impl/SyncSlRService.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/service/impl/SyncSlRService.java
new file mode 100644
index 0000000..da6aa0f
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/service/impl/SyncSlRService.java
@@ -0,0 +1,116 @@
+package com.gunshi.project.hsz.datasync.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.gunshi.project.hsz.common.model.JcskSlB;
+import com.gunshi.project.hsz.common.model.JcskSlR;
+import com.gunshi.project.hsz.datasync.entity.jcsk.DsmSpgSpqn;
+import com.gunshi.project.hsz.common.mapper.JcskSlBMapper;
+import com.gunshi.project.hsz.common.mapper.JcskSlRMapper;
+import com.gunshi.project.hsz.datasync.mapper.jcsk.DsmSpgSpqnMapper;
+import com.gunshi.project.hsz.datasync.service.SyncTableRService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.lang.NonNull;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * @author lyf
+ * @since 2025-08-22
+ */
+@Service
+@Slf4j
+public class SyncSlRService implements SyncTableRService {
+
+ @Autowired
+ private DsmSpgSpqnMapper sourceMapper;
+
+ @Autowired
+ private JcskSlBMapper targetBMapper;
+
+ @Autowired
+ private JcskSlRMapper targetMapper;
+
+ @Override
+ public int syncData() {
+ List targetBList = targetBMapper.selectList(null);
+
+ int cnt = 0;
+ for (JcskSlB targetB : targetBList) {
+ JcskSlR targetParams = new JcskSlR();
+ targetParams.setRscd(targetB.getRscd());
+ targetParams.setMpcd(targetB.getMpcd());
+
+ JcskSlR latestTarget = getLatestTargetEntity(targetParams);
+ List sourceEntityList = getSourceEntityListByLatestTargetEntity(latestTarget);
+ cnt += saveToTarget(sourceEntityList);
+ }
+ return cnt;
+ }
+
+ @NonNull
+ @Override
+ public JcskSlR getLatestTargetEntity(JcskSlR targetParams) {
+ String resCd = targetParams.getRscd();
+ String mpcd = targetParams.getMpcd();
+
+ JcskSlR target = targetMapper.selectOne(
+ new LambdaQueryWrapper()
+ .eq(JcskSlR::getRscd, resCd)
+ .eq(JcskSlR::getMpcd, mpcd)
+ .orderByDesc(JcskSlR::getMstm)
+ .last("limit 1")
+ );
+
+ if (target == null) {
+ target = new JcskSlR();
+ target.setRscd(resCd);
+ target.setMpcd(mpcd);
+ //数据源最早的数据时间
+ target.setMstm(LocalDateTime.of(2025, 8, 1, 0, 0, 0));
+ }
+
+ return target;
+ }
+
+ @Override
+ public List getSourceEntityListByLatestTargetEntity(@NonNull JcskSlR targetEntity) {
+ String rscd = targetEntity.getRscd();
+ String mpcd = targetEntity.getMpcd();
+ LocalDateTime stm = targetEntity.getMstm();
+ LocalDateTime etm = calculateEtm(stm);
+
+ // 修复数据类型不匹配问题:使用mstm(LocalDateTime)字段进行时间比较,而不是tm(BigDecimal)字段
+ return sourceMapper.selectList(
+ new LambdaQueryWrapper()
+ .eq(DsmSpgSpqn::getRscd, rscd)
+ .eq(DsmSpgSpqn::getMpcd, mpcd)
+ .gt(DsmSpgSpqn::getMstm, stm)
+ .le(DsmSpgSpqn::getMstm, etm)
+ );
+ }
+
+ @Override
+ public int saveToTarget(List sourceEntityList) {
+ int count = 0;
+ for (DsmSpgSpqn sourceEntity : sourceEntityList) {
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper()
+ .eq(JcskSlR::getRscd, sourceEntity.getRscd())
+ .eq(JcskSlR::getMpcd, sourceEntity.getMpcd())
+ .eq(JcskSlR::getMstm, sourceEntity.getMstm())
+ .last("limit 1");
+ JcskSlR existingTarget = targetMapper.selectOne(queryWrapper);
+
+ if (existingTarget == null) {
+ JcskSlR targetEntity = new JcskSlR();
+ BeanUtils.copyProperties(sourceEntity, targetEntity);
+ targetMapper.insert(targetEntity);
+ }
+ count++;
+ }
+ return count;
+ }
+}
diff --git a/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/service/impl/SyncSyRService.java b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/service/impl/SyncSyRService.java
new file mode 100644
index 0000000..be249f5
--- /dev/null
+++ b/service-datasync/src/main/java/com/gunshi/project/hsz/datasync/service/impl/SyncSyRService.java
@@ -0,0 +1,119 @@
+package com.gunshi.project.hsz.datasync.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.gunshi.project.hsz.common.model.JcskSyB;
+import com.gunshi.project.hsz.common.model.JcskSyR;
+import com.gunshi.project.hsz.datasync.entity.jcsk.DsmSpgSppr;
+import com.gunshi.project.hsz.common.mapper.JcskSyBMapper;
+import com.gunshi.project.hsz.common.mapper.JcskSyRMapper;
+import com.gunshi.project.hsz.datasync.mapper.jcsk.DsmSpgSpprMapper;
+import com.gunshi.project.hsz.datasync.service.SyncTableRService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.lang.NonNull;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Service
+@Slf4j
+public class SyncSyRService implements SyncTableRService {
+
+ @Autowired
+ private DsmSpgSpprMapper sourceMapper;
+
+ @Autowired
+ private JcskSyBMapper targetBMapper;
+
+ @Autowired
+ private JcskSyRMapper targetMapper;
+
+ @Override
+ public int syncData() {
+ List targetBList = targetBMapper.selectList(null);
+
+ int cnt = 0;
+ for (JcskSyB targetB : targetBList) {
+ JcskSyR targetParams = new JcskSyR();
+ targetParams.setRscd(targetB.getRscd());
+ targetParams.setStcd(targetB.getStcd());
+ targetParams.setMpcd(targetB.getMpcd());
+
+ JcskSyR latestTarget = getLatestTargetEntity(targetParams);
+ List sourceEntityList = getSourceEntityListByLatestTargetEntity(latestTarget);
+ cnt += saveToTarget(sourceEntityList);
+ }
+ return cnt;
+ }
+
+ @NonNull
+ @Override
+ public JcskSyR getLatestTargetEntity(JcskSyR targetParams) {
+ String resCd = targetParams.getRscd();
+ String mpcd = targetParams.getMpcd();
+ String stcd = targetParams.getStcd();
+
+ JcskSyR target = targetMapper.selectOne(
+ new LambdaQueryWrapper()
+ .eq(JcskSyR::getRscd, resCd)
+ .eq(JcskSyR::getMpcd, mpcd)
+ .eq(JcskSyR::getStcd, stcd)
+ .orderByDesc(JcskSyR::getMstm)
+ .last("limit 1")
+ );
+
+ if (target == null) {
+ target = new JcskSyR();
+ target.setRscd(resCd);
+ target.setMpcd(mpcd);
+ target.setStcd(stcd);
+ target.setMstm(LocalDateTime.of(2025, 9, 1, 16, 30, 0));
+ }
+
+ return target;
+ }
+
+ @Override
+ public List getSourceEntityListByLatestTargetEntity(@NonNull JcskSyR targetEntity) {
+ String rscd = targetEntity.getRscd();
+ String mpcd = targetEntity.getMpcd();
+ String stcd = targetEntity.getStcd();
+ LocalDateTime stm = targetEntity.getMstm();
+ LocalDateTime etm = calculateEtm(stm);
+
+ return sourceMapper.selectList(
+ new LambdaQueryWrapper()
+ .eq(DsmSpgSppr::getRscd, rscd)
+ .eq(DsmSpgSppr::getMpcd, mpcd)
+ .eq(DsmSpgSppr::getStcd, stcd)
+ .gt(DsmSpgSppr::getMstm, stm)
+ .le(DsmSpgSppr::getMstm, etm)
+ );
+ }
+
+ @Override
+ public int saveToTarget(List sourceEntityList) {
+ LocalDateTime now = LocalDateTime.now();
+ int count = 0;
+ for (DsmSpgSppr sourceEntity : sourceEntityList) {
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper()
+ .eq(JcskSyR::getRscd, sourceEntity.getRscd())
+ .eq(JcskSyR::getMpcd, sourceEntity.getMpcd())
+ .eq(JcskSyR::getStcd, sourceEntity.getStcd())
+ .eq(JcskSyR::getMstm, sourceEntity.getMstm())
+ .last("limit 1");
+ JcskSyR existingTarget = targetMapper.selectOne(queryWrapper);
+
+ if (existingTarget == null) {
+ JcskSyR targetEntity = new JcskSyR();
+ BeanUtils.copyProperties(sourceEntity, targetEntity);
+ targetEntity.setUpdateTm(now);
+ targetMapper.insert(targetEntity);
+ count++;
+ }
+ }
+ return count;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/gunshi/project/hsz/controller/AlarmSetController.java b/src/main/java/com/gunshi/project/hsz/controller/AlarmSetController.java
index 11b3b9d..aaab14d 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/AlarmSetController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/AlarmSetController.java
@@ -1,19 +1,13 @@
package com.gunshi.project.hsz.controller;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gunshi.core.result.R;
import com.gunshi.project.hsz.entity.so.AlarmSetPageSo;
-import com.gunshi.project.hsz.entity.so.OsmoticQueryPageSo;
import com.gunshi.project.hsz.model.AlarmSet;
-import com.gunshi.project.hsz.model.ForecastProject;
-import com.gunshi.project.hsz.model.ForecastResults;
-import com.gunshi.project.hsz.model.OsmoticFlowR;
import com.gunshi.project.hsz.service.AlarmSetService;
import com.gunshi.project.hsz.timetask.AlarmTask;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
@@ -22,7 +16,6 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.Serializable;
-import java.util.Date;
import java.util.List;
@Tag(name = "告警设置")
diff --git a/src/main/java/com/gunshi/project/hsz/controller/AssessCategoryController.java b/src/main/java/com/gunshi/project/hsz/controller/AssessCategoryController.java
index 9dd9d19..a3053e1 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/AssessCategoryController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/AssessCategoryController.java
@@ -3,8 +3,8 @@ package com.gunshi.project.hsz.controller;
import com.gunshi.core.result.R;
import com.gunshi.project.hsz.model.AssessCategory;
import com.gunshi.project.hsz.service.AssessCategoryService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/AssessIndicatorController.java b/src/main/java/com/gunshi/project/hsz/controller/AssessIndicatorController.java
index 2386f55..ea020ba 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/AssessIndicatorController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/AssessIndicatorController.java
@@ -6,8 +6,8 @@ import com.gunshi.project.hsz.entity.dto.InspectItemDto;
import com.gunshi.project.hsz.entity.so.AttCctvBasePage;
import com.gunshi.project.hsz.model.AssessIndicator;
import com.gunshi.project.hsz.service.AssessIndicatorService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/AssessTaskController.java b/src/main/java/com/gunshi/project/hsz/controller/AssessTaskController.java
index 5b0fecd..3c61ff1 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/AssessTaskController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/AssessTaskController.java
@@ -7,8 +7,8 @@ import com.gunshi.project.hsz.entity.so.AssessTaskPageSo;
import com.gunshi.project.hsz.entity.vo.AssessResultVo;
import com.gunshi.project.hsz.model.AssessTask;
import com.gunshi.project.hsz.service.AssessTaskService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/AssessTemplateController.java b/src/main/java/com/gunshi/project/hsz/controller/AssessTemplateController.java
index 724de23..e5a298b 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/AssessTemplateController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/AssessTemplateController.java
@@ -7,8 +7,8 @@ import com.gunshi.project.hsz.entity.so.AttCctvBasePage;
import com.gunshi.project.hsz.model.AssessIndicator;
import com.gunshi.project.hsz.model.AssessTemplate;
import com.gunshi.project.hsz.service.AssessTemplateService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/AttCctvBaseController.java b/src/main/java/com/gunshi/project/hsz/controller/AttCctvBaseController.java
index afa5701..a2febd9 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/AttCctvBaseController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/AttCctvBaseController.java
@@ -14,8 +14,8 @@ import com.gunshi.project.hsz.model.CctvBMenu;
import com.gunshi.project.hsz.service.AttCctvBaseService;
import com.gunshi.project.hsz.service.CctvBMenuService;
import com.gunshi.project.hsz.util.OkHttpUtil;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/AttDamBaseController.java b/src/main/java/com/gunshi/project/hsz/controller/AttDamBaseController.java
index 595bbd4..3042677 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/AttDamBaseController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/AttDamBaseController.java
@@ -11,8 +11,8 @@ import com.gunshi.project.hsz.model.AttDamBase;
import com.gunshi.project.hsz.service.AttDamBaseService;
import com.gunshi.project.hsz.service.AttResBaseService;
import com.gunshi.project.hsz.service.FileAssociationsService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/AttDamProfileController.java b/src/main/java/com/gunshi/project/hsz/controller/AttDamProfileController.java
index a0d3374..48cb98a 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/AttDamProfileController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/AttDamProfileController.java
@@ -11,8 +11,8 @@ import com.gunshi.project.hsz.entity.vo.ProfilePressTreeVo;
import com.gunshi.project.hsz.model.AttDamProfile;
import com.gunshi.project.hsz.service.AttDamProfileService;
import com.gunshi.project.hsz.service.FileAssociationsService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/AttGateBController.java b/src/main/java/com/gunshi/project/hsz/controller/AttGateBController.java
index 147b71b..d5a548b 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/AttGateBController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/AttGateBController.java
@@ -4,8 +4,8 @@ import com.gunshi.core.result.R;
import com.gunshi.project.hsz.entity.vo.GateMonitorDataVo;
import com.gunshi.project.hsz.model.AttGateB;
import com.gunshi.project.hsz.service.AttGateBService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/AttGateValveController.java b/src/main/java/com/gunshi/project/hsz/controller/AttGateValveController.java
index b53dca3..34c7802 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/AttGateValveController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/AttGateValveController.java
@@ -10,8 +10,8 @@ import com.gunshi.project.hsz.entity.so.GeneralDataPage;
import com.gunshi.project.hsz.model.AttGateValve;
import com.gunshi.project.hsz.service.AttGateValveService;
import com.gunshi.project.hsz.service.FileAssociationsService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/AttMeaWeirController.java b/src/main/java/com/gunshi/project/hsz/controller/AttMeaWeirController.java
index c593a59..d41342f 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/AttMeaWeirController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/AttMeaWeirController.java
@@ -10,8 +10,8 @@ import com.gunshi.project.hsz.entity.so.GeneralDataPage;
import com.gunshi.project.hsz.model.AttMeaWeir;
import com.gunshi.project.hsz.service.AttMeaWeirService;
import com.gunshi.project.hsz.service.StAddvcdDService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/AttResBaseController.java b/src/main/java/com/gunshi/project/hsz/controller/AttResBaseController.java
index e24a2d5..5b8ecd3 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/AttResBaseController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/AttResBaseController.java
@@ -5,8 +5,8 @@ import com.gunshi.project.hsz.model.AttResBase;
import com.gunshi.project.hsz.model.FileAssociations;
import com.gunshi.project.hsz.service.AttResBaseService;
import com.gunshi.project.hsz.service.FileAssociationsService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/AttResBuildingController.java b/src/main/java/com/gunshi/project/hsz/controller/AttResBuildingController.java
index 70c06e9..c38657a 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/AttResBuildingController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/AttResBuildingController.java
@@ -5,7 +5,7 @@ import com.gunshi.project.hsz.model.AttResBuilding;
import com.gunshi.project.hsz.model.FileAssociations;
import com.gunshi.project.hsz.service.AttResBuildingService;
import com.gunshi.project.hsz.service.FileAssociationsService;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.apache.commons.collections4.CollectionUtils;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/AttSpillwayBaseController.java b/src/main/java/com/gunshi/project/hsz/controller/AttSpillwayBaseController.java
index 99cbcd9..2a02273 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/AttSpillwayBaseController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/AttSpillwayBaseController.java
@@ -9,8 +9,8 @@ import com.gunshi.core.result.R;
import com.gunshi.project.hsz.entity.so.GeneralDataPage;
import com.gunshi.project.hsz.model.AttSpillwayBase;
import com.gunshi.project.hsz.service.AttSpillwayBaseService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/AttWaterItemController.java b/src/main/java/com/gunshi/project/hsz/controller/AttWaterItemController.java
index 2e8e4fa..bf60c81 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/AttWaterItemController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/AttWaterItemController.java
@@ -5,8 +5,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.gunshi.core.result.R;
import com.gunshi.project.hsz.model.AttWaterItem;
import com.gunshi.project.hsz.service.AttWaterItemService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/BroadcastStationController.java b/src/main/java/com/gunshi/project/hsz/controller/BroadcastStationController.java
index c1274a1..ac5c50c 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/BroadcastStationController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/BroadcastStationController.java
@@ -3,8 +3,8 @@ package com.gunshi.project.hsz.controller;
import com.gunshi.core.result.R;
import com.gunshi.project.hsz.model.BroadcastStation;
import com.gunshi.project.hsz.service.BroadcastStationService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/BroadcastTemplateController.java b/src/main/java/com/gunshi/project/hsz/controller/BroadcastTemplateController.java
index b7d115d..33d6f3f 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/BroadcastTemplateController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/BroadcastTemplateController.java
@@ -3,7 +3,7 @@ package com.gunshi.project.hsz.controller;
import com.gunshi.core.result.R;
import com.gunshi.project.hsz.model.BroadcastTemplate;
import com.gunshi.project.hsz.service.BroadcastTemplateService;
-import com.gunshi.project.hsz.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/BroadcastWarnController.java b/src/main/java/com/gunshi/project/hsz/controller/BroadcastWarnController.java
index 5a67f8c..6388006 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/BroadcastWarnController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/BroadcastWarnController.java
@@ -5,7 +5,7 @@ import com.gunshi.core.result.R;
import com.gunshi.project.hsz.entity.so.BroadcastWarnPageSo;
import com.gunshi.project.hsz.model.BroadcastWarn;
import com.gunshi.project.hsz.service.BroadcastWarnService;
-import com.gunshi.project.hsz.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/ByLogController.java b/src/main/java/com/gunshi/project/hsz/controller/ByLogController.java
index 18e6f6f..2048452 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/ByLogController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/ByLogController.java
@@ -2,7 +2,6 @@ package com.gunshi.project.hsz.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gunshi.core.result.R;
import com.gunshi.project.hsz.entity.dto.ExportCommonDto;
@@ -12,10 +11,8 @@ import com.gunshi.project.hsz.model.ByLogDetail;
import com.gunshi.project.hsz.service.ByLogDetailService;
import com.gunshi.project.hsz.service.ByLogService;
import com.gunshi.project.hsz.service.FileAssociationsService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
-import com.ruoyi.common.core.domain.entity.SysUser;
-import com.ruoyi.system.service.impl.SysUserServiceImpl;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/ByPlanController.java b/src/main/java/com/gunshi/project/hsz/controller/ByPlanController.java
index caacd2c..6bf7842 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/ByPlanController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/ByPlanController.java
@@ -2,37 +2,28 @@ package com.gunshi.project.hsz.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gunshi.core.result.R;
import com.gunshi.project.hsz.entity.so.ByPlanPageSo;
-import com.gunshi.project.hsz.entity.so.OsmoticQueryPageSo;
import com.gunshi.project.hsz.model.ByPlan;
import com.gunshi.project.hsz.model.ByPlanDetail;
-import com.gunshi.project.hsz.model.OsmoticPressDevice;
-import com.gunshi.project.hsz.model.OsmoticPressR;
import com.gunshi.project.hsz.service.ByPlanDetailService;
import com.gunshi.project.hsz.service.ByPlanService;
import com.gunshi.project.hsz.service.FileAssociationsService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
-import com.ruoyi.common.core.domain.model.LoginUser;
-import com.ruoyi.system.mapper.SysUserMapper;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.Serializable;
-import java.util.Date;
import java.util.List;
import java.util.Objects;
-import java.util.stream.Collectors;
@Tag(name = "白蚁-计划管理")
@RestController
diff --git a/src/main/java/com/gunshi/project/hsz/controller/CctvBMenuController.java b/src/main/java/com/gunshi/project/hsz/controller/CctvBMenuController.java
index cbf8478..deeb655 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/CctvBMenuController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/CctvBMenuController.java
@@ -4,8 +4,8 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.gunshi.core.result.R;
import com.gunshi.project.hsz.model.CctvBMenu;
import com.gunshi.project.hsz.service.CctvBMenuService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/DispatchRecordController.java b/src/main/java/com/gunshi/project/hsz/controller/DispatchRecordController.java
index f675a2f..b20ab7c 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/DispatchRecordController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/DispatchRecordController.java
@@ -5,8 +5,8 @@ import com.gunshi.core.result.R;
import com.gunshi.project.hsz.entity.so.DispatchRecordPageSo;
import com.gunshi.project.hsz.model.DispatchRecord;
import com.gunshi.project.hsz.service.DispatchRecordService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletResponse;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/FileAssociationsController.java b/src/main/java/com/gunshi/project/hsz/controller/FileAssociationsController.java
index 8f25b2f..d0ecdb2 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/FileAssociationsController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/FileAssociationsController.java
@@ -3,8 +3,8 @@ package com.gunshi.project.hsz.controller;
import com.gunshi.core.result.R;
import com.gunshi.project.hsz.model.FileAssociations;
import com.gunshi.project.hsz.service.FileAssociationsService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/ForecastKController.java b/src/main/java/com/gunshi/project/hsz/controller/ForecastKController.java
index a173889..b38154f 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/ForecastKController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/ForecastKController.java
@@ -8,8 +8,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gunshi.core.result.R;
import com.gunshi.project.hsz.model.ForecastK;
import com.gunshi.project.hsz.service.ForecastKService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/ForecastPPaRController.java b/src/main/java/com/gunshi/project/hsz/controller/ForecastPPaRController.java
index 5ff2acc..8d6c967 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/ForecastPPaRController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/ForecastPPaRController.java
@@ -7,8 +7,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gunshi.core.result.R;
import com.gunshi.project.hsz.model.ForecastPPaR;
import com.gunshi.project.hsz.service.ForecastPPaRService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/ForecastPaController.java b/src/main/java/com/gunshi/project/hsz/controller/ForecastPaController.java
index 551b0d2..ca362c8 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/ForecastPaController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/ForecastPaController.java
@@ -4,8 +4,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gunshi.core.result.R;
import com.gunshi.project.hsz.model.ForecastPa;
import com.gunshi.project.hsz.service.ForecastPaService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/ForecastProjectController.java b/src/main/java/com/gunshi/project/hsz/controller/ForecastProjectController.java
index b3c651b..066f986 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/ForecastProjectController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/ForecastProjectController.java
@@ -12,8 +12,8 @@ import com.gunshi.project.hsz.model.ForecastProject;
import com.gunshi.project.hsz.model.ForecastResults;
import com.gunshi.project.hsz.service.ForecastProjectService;
import com.gunshi.project.hsz.service.ForecastResultsService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/ForecastResultsController.java b/src/main/java/com/gunshi/project/hsz/controller/ForecastResultsController.java
index 92c7154..e4cd1c7 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/ForecastResultsController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/ForecastResultsController.java
@@ -11,8 +11,8 @@ import com.gunshi.project.hsz.model.ForecastProject;
import com.gunshi.project.hsz.model.ForecastResults;
import com.gunshi.project.hsz.model.ForecastTask;
import com.gunshi.project.hsz.service.ForecastResultsService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/ForecastTaskController.java b/src/main/java/com/gunshi/project/hsz/controller/ForecastTaskController.java
index 1b99401..916efa6 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/ForecastTaskController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/ForecastTaskController.java
@@ -9,8 +9,8 @@ import com.gunshi.core.result.R;
import com.gunshi.project.hsz.model.ForecastTask;
import com.gunshi.project.hsz.schedule.TaskGroupHandler;
import com.gunshi.project.hsz.service.ForecastTaskService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/ForecastUController.java b/src/main/java/com/gunshi/project/hsz/controller/ForecastUController.java
index 5b314a1..64c0317 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/ForecastUController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/ForecastUController.java
@@ -9,8 +9,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gunshi.core.result.R;
import com.gunshi.project.hsz.model.ForecastU;
import com.gunshi.project.hsz.service.ForecastUService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/ForecastUseparamController.java b/src/main/java/com/gunshi/project/hsz/controller/ForecastUseparamController.java
index 783a9a2..3b4af33 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/ForecastUseparamController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/ForecastUseparamController.java
@@ -12,8 +12,8 @@ import com.gunshi.project.hsz.model.ForecastU;
import com.gunshi.project.hsz.model.ForecastUseparam;
import com.gunshi.project.hsz.service.ForecastUService;
import com.gunshi.project.hsz.service.ForecastUseparamService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/GatePoreController.java b/src/main/java/com/gunshi/project/hsz/controller/GatePoreController.java
index c6add82..c37d16e 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/GatePoreController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/GatePoreController.java
@@ -3,8 +3,8 @@ package com.gunshi.project.hsz.controller;
import com.gunshi.core.result.R;
import com.gunshi.project.hsz.model.GatePore;
import com.gunshi.project.hsz.service.GatePoreService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/GateValveCctvRelController.java b/src/main/java/com/gunshi/project/hsz/controller/GateValveCctvRelController.java
index 92fa918..83bebd4 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/GateValveCctvRelController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/GateValveCctvRelController.java
@@ -7,8 +7,8 @@ import com.gunshi.project.hsz.entity.so.GateValveCctvRelPage;
import com.gunshi.project.hsz.entity.vo.GateValveCctvRelVo;
import com.gunshi.project.hsz.model.GateValveCctvRel;
import com.gunshi.project.hsz.service.GateValveCctvRelService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/GateValveRController.java b/src/main/java/com/gunshi/project/hsz/controller/GateValveRController.java
index c63dccf..7e120b2 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/GateValveRController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/GateValveRController.java
@@ -6,8 +6,8 @@ import com.gunshi.project.hsz.entity.so.GateHisPageSo;
import com.gunshi.project.hsz.entity.vo.GateStautsVo;
import com.gunshi.project.hsz.model.GateValveR;
import com.gunshi.project.hsz.service.GateValveRService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/GateValveRealController.java b/src/main/java/com/gunshi/project/hsz/controller/GateValveRealController.java
index 60882da..dba5c91 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/GateValveRealController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/GateValveRealController.java
@@ -14,8 +14,8 @@ import com.gunshi.project.hsz.model.GateValveKey;
import com.gunshi.project.hsz.model.GateValveOplog;
import com.gunshi.project.hsz.model.GateValveReal;
import com.gunshi.project.hsz.service.GateValveRealService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/ICommonInsertWithAttach.java b/src/main/java/com/gunshi/project/hsz/controller/ICommonInsertWithAttach.java
index 8f703d1..5c0aab0 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/ICommonInsertWithAttach.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/ICommonInsertWithAttach.java
@@ -4,7 +4,7 @@ import com.gunshi.core.result.R;
import com.gunshi.db.dao.BaseDao;
import com.gunshi.db.dao.IMapper;
import com.gunshi.project.hsz.service.AbstractModelWithAttachService;
-import com.gunshi.project.hsz.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
import io.swagger.v3.oas.annotations.Operation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/ICommonUpdateByIdWithAttach.java b/src/main/java/com/gunshi/project/hsz/controller/ICommonUpdateByIdWithAttach.java
index 7b7a9d3..1edbe3c 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/ICommonUpdateByIdWithAttach.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/ICommonUpdateByIdWithAttach.java
@@ -4,7 +4,7 @@ import com.gunshi.core.result.R;
import com.gunshi.db.dao.BaseDao;
import com.gunshi.db.dao.IMapper;
import com.gunshi.project.hsz.service.AbstractModelWithAttachService;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/IaCBsnssinfoController.java b/src/main/java/com/gunshi/project/hsz/controller/IaCBsnssinfoController.java
index 7390467..141e08f 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/IaCBsnssinfoController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/IaCBsnssinfoController.java
@@ -8,8 +8,8 @@ import com.gunshi.project.hsz.model.FileAssociations;
import com.gunshi.project.hsz.model.IaCBsnssinfo;
import com.gunshi.project.hsz.service.FileAssociationsService;
import com.gunshi.project.hsz.service.IaCBsnssinfoService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/IaCDanadController.java b/src/main/java/com/gunshi/project/hsz/controller/IaCDanadController.java
index 2db9626..648af8b 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/IaCDanadController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/IaCDanadController.java
@@ -4,8 +4,8 @@ import com.gunshi.core.result.R;
import com.gunshi.project.hsz.entity.vo.HomeIaCDanadVo;
import com.gunshi.project.hsz.model.IaCDanad;
import com.gunshi.project.hsz.service.IaCDanadService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/IaCFlrvvlgController.java b/src/main/java/com/gunshi/project/hsz/controller/IaCFlrvvlgController.java
index a436cb6..ee91380 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/IaCFlrvvlgController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/IaCFlrvvlgController.java
@@ -9,8 +9,8 @@ import com.gunshi.project.hsz.model.IaCFlrvvlg;
import com.gunshi.project.hsz.service.FileAssociationsService;
import com.gunshi.project.hsz.service.IaCFlrvvlgService;
import com.gunshi.project.hsz.service.StAddvcdDService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/InspectItemController.java b/src/main/java/com/gunshi/project/hsz/controller/InspectItemController.java
index db07ad8..6ba1f30 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/InspectItemController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/InspectItemController.java
@@ -7,8 +7,8 @@ import com.gunshi.project.hsz.entity.dto.InspectItemDto;
import com.gunshi.project.hsz.entity.so.AttCctvBasePage;
import com.gunshi.project.hsz.model.InspectItem;
import com.gunshi.project.hsz.service.InspectItemService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/InspectPointController.java b/src/main/java/com/gunshi/project/hsz/controller/InspectPointController.java
index c89479d..4481a06 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/InspectPointController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/InspectPointController.java
@@ -3,8 +3,8 @@ package com.gunshi.project.hsz.controller;
import com.gunshi.core.result.R;
import com.gunshi.project.hsz.model.InspectPoint;
import com.gunshi.project.hsz.service.InspectPointService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/InspectTaskController.java b/src/main/java/com/gunshi/project/hsz/controller/InspectTaskController.java
index f65369a..6671f98 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/InspectTaskController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/InspectTaskController.java
@@ -7,8 +7,8 @@ import com.gunshi.project.hsz.entity.so.InspectTaskSo;
import com.gunshi.project.hsz.entity.vo.InspectTaskVo;
import com.gunshi.project.hsz.model.InspectTask;
import com.gunshi.project.hsz.service.InspectTaskService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/InspectTaskTrackController.java b/src/main/java/com/gunshi/project/hsz/controller/InspectTaskTrackController.java
index d979135..7fbec9a 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/InspectTaskTrackController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/InspectTaskTrackController.java
@@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.gunshi.core.result.R;
import com.gunshi.project.hsz.model.InspectTaskTrack;
import com.gunshi.project.hsz.service.InspectTaskTrackService;
-import com.gunshi.project.hsz.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/JcskGnssBController.java b/src/main/java/com/gunshi/project/hsz/controller/JcskGnssBController.java
index daf7fb9..ac87a5a 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/JcskGnssBController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/JcskGnssBController.java
@@ -7,8 +7,8 @@ import com.gunshi.project.hsz.entity.so.JcskGnssBPageSo;
import com.gunshi.project.hsz.entity.vo.HomeJcskGnssBVo;
import com.gunshi.project.hsz.model.JcskGnssB;
import com.gunshi.project.hsz.service.JcskGnssBService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/JcskGnssRController.java b/src/main/java/com/gunshi/project/hsz/controller/JcskGnssRController.java
index dcd0d97..26b1262 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/JcskGnssRController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/JcskGnssRController.java
@@ -12,8 +12,8 @@ import com.gunshi.project.hsz.model.JcskGnssB;
import com.gunshi.project.hsz.model.JcskGnssR;
import com.gunshi.project.hsz.service.JcskGnssBService;
import com.gunshi.project.hsz.service.JcskGnssRService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletResponse;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/JcskSlBController.java b/src/main/java/com/gunshi/project/hsz/controller/JcskSlBController.java
index 137cebd..bdebad4 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/JcskSlBController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/JcskSlBController.java
@@ -7,8 +7,8 @@ import com.gunshi.project.hsz.entity.so.JcskSlBPageSo;
import com.gunshi.project.hsz.entity.vo.HomeJcskSlBVo;
import com.gunshi.project.hsz.model.JcskSlB;
import com.gunshi.project.hsz.service.JcskSlBService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/JcskSlRController.java b/src/main/java/com/gunshi/project/hsz/controller/JcskSlRController.java
index f2cef5f..ecfc4d7 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/JcskSlRController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/JcskSlRController.java
@@ -7,8 +7,8 @@ import com.gunshi.project.hsz.entity.so.JcskSlRPageSo;
import com.gunshi.project.hsz.entity.vo.JcskSlRHisVo;
import com.gunshi.project.hsz.model.JcskSlR;
import com.gunshi.project.hsz.service.JcskSlRService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/JcskSyBController.java b/src/main/java/com/gunshi/project/hsz/controller/JcskSyBController.java
index 4190890..05c346b 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/JcskSyBController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/JcskSyBController.java
@@ -7,8 +7,8 @@ import com.gunshi.project.hsz.entity.so.JcskSyBPageSo;
import com.gunshi.project.hsz.entity.vo.HomeJcskSYBVo;
import com.gunshi.project.hsz.model.JcskSyB;
import com.gunshi.project.hsz.service.JcskSyBService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/JcskSyRController.java b/src/main/java/com/gunshi/project/hsz/controller/JcskSyRController.java
index 4d19cb3..e65a1cd 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/JcskSyRController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/JcskSyRController.java
@@ -10,8 +10,8 @@ import com.gunshi.project.hsz.entity.so.OsmoticQuerySo;
import com.gunshi.project.hsz.entity.vo.*;
import com.gunshi.project.hsz.model.JcskSyR;
import com.gunshi.project.hsz.service.JcskSyRService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/MaintainServiceController.java b/src/main/java/com/gunshi/project/hsz/controller/MaintainServiceController.java
index 26ea36a..b169969 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/MaintainServiceController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/MaintainServiceController.java
@@ -5,8 +5,8 @@ import com.gunshi.core.result.R;
import com.gunshi.project.hsz.entity.so.MaintainPageSo;
import com.gunshi.project.hsz.model.MaintainService;
import com.gunshi.project.hsz.service.MaintainServiceService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/MentenceFarmerRecordController.java b/src/main/java/com/gunshi/project/hsz/controller/MentenceFarmerRecordController.java
index bd6a959..1fa9c23 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/MentenceFarmerRecordController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/MentenceFarmerRecordController.java
@@ -3,16 +3,14 @@ package com.gunshi.project.hsz.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gunshi.core.result.R;
-import com.gunshi.project.hsz.entity.dto.ExportCommonDto;
import com.gunshi.project.hsz.entity.so.MentenceFarmerRecordPageSo;
-import com.gunshi.project.hsz.model.ByLog;
import com.gunshi.project.hsz.model.HiddenInfo;
import com.gunshi.project.hsz.model.MentenceFarmerRecord;
import com.gunshi.project.hsz.service.FileAssociationsService;
import com.gunshi.project.hsz.service.HiddenInfoService;
import com.gunshi.project.hsz.service.MentenceFarmerRecordService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/MentencePlanController.java b/src/main/java/com/gunshi/project/hsz/controller/MentencePlanController.java
index 28f0c83..327119e 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/MentencePlanController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/MentencePlanController.java
@@ -11,8 +11,8 @@ import com.gunshi.project.hsz.model.MentencePlanDetail;
import com.gunshi.project.hsz.service.FileAssociationsService;
import com.gunshi.project.hsz.service.MentencePlanDetailService;
import com.gunshi.project.hsz.service.MentencePlanService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/MentenceStController.java b/src/main/java/com/gunshi/project/hsz/controller/MentenceStController.java
index 4bc2a06..68a4680 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/MentenceStController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/MentenceStController.java
@@ -4,16 +4,12 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gunshi.core.result.R;
import com.gunshi.project.hsz.entity.so.MentenceStPageSo;
-import com.gunshi.project.hsz.entity.so.PrePlacePageSo;
import com.gunshi.project.hsz.model.MentenceSt;
import com.gunshi.project.hsz.model.MentenceStDetail;
-import com.gunshi.project.hsz.model.PrePlace;
-import com.gunshi.project.hsz.model.PrePlaceDetail;
-import com.gunshi.project.hsz.service.FileAssociationsService;
import com.gunshi.project.hsz.service.MentenceStDetailService;
import com.gunshi.project.hsz.service.MentenceStService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
@@ -22,7 +18,6 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.Serializable;
-import java.util.Date;
import java.util.List;
@Tag(name = "维护养护-维护标准")
diff --git a/src/main/java/com/gunshi/project/hsz/controller/MentenceTemplateController.java b/src/main/java/com/gunshi/project/hsz/controller/MentenceTemplateController.java
index 458b378..07d3076 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/MentenceTemplateController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/MentenceTemplateController.java
@@ -9,8 +9,8 @@ import com.gunshi.project.hsz.entity.so.MentenceTemplatePageSo;
import com.gunshi.project.hsz.model.MentenceTemplate;
import com.gunshi.project.hsz.service.FileAssociationsService;
import com.gunshi.project.hsz.service.MentenceTemplateService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/OsmoticFlowDeviceController.java b/src/main/java/com/gunshi/project/hsz/controller/OsmoticFlowDeviceController.java
index e2644f3..40f2bf8 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/OsmoticFlowDeviceController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/OsmoticFlowDeviceController.java
@@ -10,11 +10,10 @@ import com.gunshi.project.hsz.entity.vo.HomeOsmoticFlowDeviceVo;
import com.gunshi.project.hsz.model.OsmoticFlowDevice;
import com.gunshi.project.hsz.service.FileAssociationsService;
import com.gunshi.project.hsz.service.OsmoticFlowDeviceService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/OsmoticFlowRController.java b/src/main/java/com/gunshi/project/hsz/controller/OsmoticFlowRController.java
index e63cf0e..26fdccc 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/OsmoticFlowRController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/OsmoticFlowRController.java
@@ -5,11 +5,10 @@ import com.gunshi.core.result.R;
import com.gunshi.project.hsz.entity.so.OsmoticQueryPageSo;
import com.gunshi.project.hsz.model.OsmoticFlowR;
import com.gunshi.project.hsz.service.OsmoticFlowRService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/OsmoticPressDeviceController.java b/src/main/java/com/gunshi/project/hsz/controller/OsmoticPressDeviceController.java
index 2db1904..26df7a6 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/OsmoticPressDeviceController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/OsmoticPressDeviceController.java
@@ -10,11 +10,10 @@ import com.gunshi.project.hsz.entity.vo.HomeOsmoticPressDeviceVo;
import com.gunshi.project.hsz.model.OsmoticPressDevice;
import com.gunshi.project.hsz.service.FileAssociationsService;
import com.gunshi.project.hsz.service.OsmoticPressDeviceService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/OsmoticPressRController.java b/src/main/java/com/gunshi/project/hsz/controller/OsmoticPressRController.java
index d5a3325..9a1f605 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/OsmoticPressRController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/OsmoticPressRController.java
@@ -16,8 +16,8 @@
//import com.gunshi.project.hsz.model.OsmoticPressR;
//import com.gunshi.project.hsz.service.OsmoticPressDeviceService;
//import com.gunshi.project.hsz.service.OsmoticPressRService;
-//import com.gunshi.project.hsz.validate.markers.Insert;
-//import com.gunshi.project.hsz.validate.markers.Update;
+//import com.gunshi.project.hsz.common.validate.markers.Insert;
+//import com.gunshi.project.hsz.common.validate.markers.Update;
//import io.swagger.v3.oas.annotations.Operation;
//import io.swagger.v3.oas.annotations.media.Schema;
//import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/OsmoticShiftDeviceController.java b/src/main/java/com/gunshi/project/hsz/controller/OsmoticShiftDeviceController.java
index 8f267e5..06e43c5 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/OsmoticShiftDeviceController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/OsmoticShiftDeviceController.java
@@ -4,11 +4,10 @@ import com.gunshi.core.result.R;
import com.gunshi.project.hsz.entity.vo.HomeOsmoticShiftDeviceVo;
import com.gunshi.project.hsz.model.OsmoticShiftDevice;
import com.gunshi.project.hsz.service.OsmoticShiftDeviceService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/OsmoticShiftRController.java b/src/main/java/com/gunshi/project/hsz/controller/OsmoticShiftRController.java
index 3df3967..1d3b003 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/OsmoticShiftRController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/OsmoticShiftRController.java
@@ -10,8 +10,8 @@
//import com.gunshi.project.hsz.entity.vo.*;
//import com.gunshi.project.hsz.model.OsmoticShiftR;
//import com.gunshi.project.hsz.service.OsmoticShiftRService;
-//import com.gunshi.project.hsz.validate.markers.Insert;
-//import com.gunshi.project.hsz.validate.markers.Update;
+//import com.gunshi.project.hsz.common.validate.markers.Insert;
+//import com.gunshi.project.hsz.common.validate.markers.Update;
//import io.swagger.v3.oas.annotations.Operation;
//import io.swagger.v3.oas.annotations.media.Schema;
//import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/OsmoticWarnRController.java b/src/main/java/com/gunshi/project/hsz/controller/OsmoticWarnRController.java
index 5adface..c931b35 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/OsmoticWarnRController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/OsmoticWarnRController.java
@@ -7,8 +7,8 @@ import com.gunshi.project.hsz.entity.so.WarnSo;
import com.gunshi.project.hsz.entity.vo.OsmoticWarnVo;
import com.gunshi.project.hsz.model.OsmoticWarnR;
import com.gunshi.project.hsz.service.OsmoticWarnRService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/OsmoticWarnRuleController.java b/src/main/java/com/gunshi/project/hsz/controller/OsmoticWarnRuleController.java
index cc1fbe0..4330612 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/OsmoticWarnRuleController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/OsmoticWarnRuleController.java
@@ -8,8 +8,8 @@ import com.gunshi.core.result.R;
import com.gunshi.project.hsz.entity.so.WarnRulePageSo;
import com.gunshi.project.hsz.model.OsmoticWarnRule;
import com.gunshi.project.hsz.service.OsmoticWarnRuleService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/OsmoticWaterRController.java b/src/main/java/com/gunshi/project/hsz/controller/OsmoticWaterRController.java
index 9f6f8c1..32cdeeb 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/OsmoticWaterRController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/OsmoticWaterRController.java
@@ -18,8 +18,8 @@ import com.gunshi.project.hsz.util.DateUtil;
import com.gunshi.project.hsz.util.ExcelUtil;
import com.gunshi.project.hsz.util.ResultJson;
import com.gunshi.project.hsz.util.excel.ExcelResult;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/OsmoticWaterRuleController.java b/src/main/java/com/gunshi/project/hsz/controller/OsmoticWaterRuleController.java
index 74d457f..4ca73e2 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/OsmoticWaterRuleController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/OsmoticWaterRuleController.java
@@ -3,8 +3,8 @@ package com.gunshi.project.hsz.controller;
import com.gunshi.core.result.R;
import com.gunshi.project.hsz.model.OsmoticWaterRule;
import com.gunshi.project.hsz.service.OsmoticWaterRuleService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/PersonnelPlanController.java b/src/main/java/com/gunshi/project/hsz/controller/PersonnelPlanController.java
index 327dec8..a2aef3b 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/PersonnelPlanController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/PersonnelPlanController.java
@@ -10,8 +10,8 @@ import com.gunshi.project.hsz.entity.so.PersonnelPlanPage;
import com.gunshi.project.hsz.model.PersonnelPlan;
import com.gunshi.project.hsz.service.FileAssociationsService;
import com.gunshi.project.hsz.service.PersonnelPlanService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import com.ruoyi.common.utils.poi.ExcelUtil;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/PersonnelPlanLogController.java b/src/main/java/com/gunshi/project/hsz/controller/PersonnelPlanLogController.java
index 721e377..8030d4e 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/PersonnelPlanLogController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/PersonnelPlanLogController.java
@@ -15,8 +15,8 @@ import com.gunshi.project.hsz.service.FileAssociationsService;
import com.gunshi.project.hsz.service.PersonnelPlanLogService;
import com.gunshi.project.hsz.service.PersonnelPlanService;
import com.gunshi.project.hsz.util.DateUtil;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/PrePlaceController.java b/src/main/java/com/gunshi/project/hsz/controller/PrePlaceController.java
index 865c815..b5fa5ea 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/PrePlaceController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/PrePlaceController.java
@@ -1,6 +1,5 @@
package com.gunshi.project.hsz.controller;
-import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gunshi.core.result.R;
import com.gunshi.project.hsz.entity.so.PrePlacePageSo;
@@ -8,8 +7,8 @@ import com.gunshi.project.hsz.model.PrePlace;
import com.gunshi.project.hsz.model.PrePlaceDetail;
import com.gunshi.project.hsz.service.PrePlaceDetailService;
import com.gunshi.project.hsz.service.PrePlaceService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
@@ -18,7 +17,6 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.Serializable;
-import java.util.Date;
import java.util.List;
@Tag(name = "白蚁-防治点")
diff --git a/src/main/java/com/gunshi/project/hsz/controller/ProjectEventsController.java b/src/main/java/com/gunshi/project/hsz/controller/ProjectEventsController.java
index 6869bd9..ff2cb7e 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/ProjectEventsController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/ProjectEventsController.java
@@ -6,8 +6,8 @@ import com.gunshi.project.hsz.entity.so.CommonDataPageSo;
import com.gunshi.project.hsz.entity.vo.ProjectEventsVo;
import com.gunshi.project.hsz.model.ProjectEvents;
import com.gunshi.project.hsz.service.ProjectEventsService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/ResFloodRoadController.java b/src/main/java/com/gunshi/project/hsz/controller/ResFloodRoadController.java
index b53b8cc..b941926 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/ResFloodRoadController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/ResFloodRoadController.java
@@ -3,8 +3,8 @@ package com.gunshi.project.hsz.controller;
import com.gunshi.core.result.R;
import com.gunshi.project.hsz.model.ResFloodRoad;
import com.gunshi.project.hsz.service.ResFloodRoadService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/ResMangUnitController.java b/src/main/java/com/gunshi/project/hsz/controller/ResMangUnitController.java
index 662d613..18f99f5 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/ResMangUnitController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/ResMangUnitController.java
@@ -4,8 +4,8 @@ import com.gunshi.core.result.R;
import com.gunshi.project.hsz.entity.so.ResCodeSo;
import com.gunshi.project.hsz.model.ResMangUnit;
import com.gunshi.project.hsz.service.ResMangUnitService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/ResMonthEcoFlowController.java b/src/main/java/com/gunshi/project/hsz/controller/ResMonthEcoFlowController.java
index 4a1fa8e..f3fa0b0 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/ResMonthEcoFlowController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/ResMonthEcoFlowController.java
@@ -4,8 +4,8 @@ import com.gunshi.core.result.R;
import com.gunshi.project.hsz.entity.so.ResMonthEcoFlowListSo;
import com.gunshi.project.hsz.model.ResMonthEcoFlow;
import com.gunshi.project.hsz.service.ResMonthEcoFlowService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/ResPersonController.java b/src/main/java/com/gunshi/project/hsz/controller/ResPersonController.java
index 68c957f..eca707f 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/ResPersonController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/ResPersonController.java
@@ -9,8 +9,8 @@ import com.gunshi.core.result.R;
import com.gunshi.project.hsz.entity.so.ResPersonPage;
import com.gunshi.project.hsz.model.ResPerson;
import com.gunshi.project.hsz.service.ResPersonService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/ResPlanBController.java b/src/main/java/com/gunshi/project/hsz/controller/ResPlanBController.java
index 64b1bfd..1199620 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/ResPlanBController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/ResPlanBController.java
@@ -7,8 +7,8 @@ import com.gunshi.project.hsz.entity.so.ResCodeSo;
import com.gunshi.project.hsz.model.ResPlanB;
import com.gunshi.project.hsz.service.FileAssociationsService;
import com.gunshi.project.hsz.service.ResPlanBService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/ResProjectImgController.java b/src/main/java/com/gunshi/project/hsz/controller/ResProjectImgController.java
index 0befe95..57dc496 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/ResProjectImgController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/ResProjectImgController.java
@@ -7,8 +7,8 @@ import com.gunshi.project.hsz.model.ResProjectImg;
import com.gunshi.project.hsz.service.AttResBaseService;
import com.gunshi.project.hsz.service.FileAssociationsService;
import com.gunshi.project.hsz.service.ResProjectImgService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/ResSafePersonBController.java b/src/main/java/com/gunshi/project/hsz/controller/ResSafePersonBController.java
index d695fbd..81e4cc8 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/ResSafePersonBController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/ResSafePersonBController.java
@@ -6,8 +6,8 @@ import com.gunshi.project.hsz.entity.so.ResCodeSo;
import com.gunshi.project.hsz.model.ResSafePersonB;
import com.gunshi.project.hsz.service.AttResBaseService;
import com.gunshi.project.hsz.service.ResSafePersonBService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/ResTunnelController.java b/src/main/java/com/gunshi/project/hsz/controller/ResTunnelController.java
index cb6babe..fbdbdfc 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/ResTunnelController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/ResTunnelController.java
@@ -3,8 +3,8 @@ package com.gunshi.project.hsz.controller;
import com.gunshi.core.result.R;
import com.gunshi.project.hsz.model.ResTunnel;
import com.gunshi.project.hsz.service.ResTunnelService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/ReservoirWaterController.java b/src/main/java/com/gunshi/project/hsz/controller/ReservoirWaterController.java
index 408f493..e5f9718 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/ReservoirWaterController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/ReservoirWaterController.java
@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gunshi.core.annotation.Get;
import com.gunshi.core.annotation.Post;
import com.gunshi.core.result.R;
+import com.gunshi.project.hsz.common.model.StStbprpB;
import com.gunshi.project.hsz.entity.so.DataQueryCommonSo;
import com.gunshi.project.hsz.entity.so.PicQuerySo;
import com.gunshi.project.hsz.entity.so.ReservoirWaterCommonSo;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/RiskControlInfoController.java b/src/main/java/com/gunshi/project/hsz/controller/RiskControlInfoController.java
index 734e1c5..a2563f2 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/RiskControlInfoController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/RiskControlInfoController.java
@@ -5,8 +5,8 @@ import com.gunshi.core.result.R;
import com.gunshi.project.hsz.entity.so.AttCctvBasePage;
import com.gunshi.project.hsz.model.RiskControlInfo;
import com.gunshi.project.hsz.service.RiskControlInfoService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/RiskControlMenuController.java b/src/main/java/com/gunshi/project/hsz/controller/RiskControlMenuController.java
index 538fbf7..7ab8db7 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/RiskControlMenuController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/RiskControlMenuController.java
@@ -3,8 +3,8 @@ package com.gunshi.project.hsz.controller;
import com.gunshi.core.result.R;
import com.gunshi.project.hsz.model.RiskControlMenu;
import com.gunshi.project.hsz.service.RiskControlMenuService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/RotaLogController.java b/src/main/java/com/gunshi/project/hsz/controller/RotaLogController.java
index 1d6d9f6..c6cfae3 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/RotaLogController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/RotaLogController.java
@@ -8,8 +8,8 @@ import com.gunshi.core.result.R;
import com.gunshi.project.hsz.entity.so.RotaLogPageSo;
import com.gunshi.project.hsz.model.RotaLog;
import com.gunshi.project.hsz.service.RotaLogService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/SafetyAccidentRegController.java b/src/main/java/com/gunshi/project/hsz/controller/SafetyAccidentRegController.java
index 64447ee..4313e39 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/SafetyAccidentRegController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/SafetyAccidentRegController.java
@@ -5,8 +5,8 @@ import com.gunshi.core.result.R;
import com.gunshi.project.hsz.entity.so.CommonDataPageSo2;
import com.gunshi.project.hsz.model.SafetyAccidentReg;
import com.gunshi.project.hsz.service.SafetyAccidentRegService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/SafetyCheckController.java b/src/main/java/com/gunshi/project/hsz/controller/SafetyCheckController.java
index 00edcac..070ddb7 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/SafetyCheckController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/SafetyCheckController.java
@@ -5,8 +5,8 @@ import com.gunshi.core.result.R;
import com.gunshi.project.hsz.entity.so.CommonDataPageSo;
import com.gunshi.project.hsz.model.SafetyCheck;
import com.gunshi.project.hsz.service.SafetyCheckService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/SafetyHazardInvestController.java b/src/main/java/com/gunshi/project/hsz/controller/SafetyHazardInvestController.java
index 705208b..2533612 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/SafetyHazardInvestController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/SafetyHazardInvestController.java
@@ -5,8 +5,8 @@ import com.gunshi.core.result.R;
import com.gunshi.project.hsz.entity.so.CommonDataPageSo;
import com.gunshi.project.hsz.model.SafetyHazardInvest;
import com.gunshi.project.hsz.service.SafetyHazardInvestService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/SafetyIdentifyController.java b/src/main/java/com/gunshi/project/hsz/controller/SafetyIdentifyController.java
index f02c315..35fed72 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/SafetyIdentifyController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/SafetyIdentifyController.java
@@ -5,8 +5,8 @@ import com.gunshi.core.result.R;
import com.gunshi.db.dto.PageSo;
import com.gunshi.project.hsz.model.SafetyIdentify;
import com.gunshi.project.hsz.service.SafetyIdentifyService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/SafetyReinforcementController.java b/src/main/java/com/gunshi/project/hsz/controller/SafetyReinforcementController.java
index 7c2c696..af95f0c 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/SafetyReinforcementController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/SafetyReinforcementController.java
@@ -5,8 +5,8 @@ import com.gunshi.core.result.R;
import com.gunshi.db.dto.PageSo;
import com.gunshi.project.hsz.model.SafetyReinforcement;
import com.gunshi.project.hsz.service.SafetyReinforcementService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/ShpPlacementController.java b/src/main/java/com/gunshi/project/hsz/controller/ShpPlacementController.java
index fb7f8ec..cc039d4 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/ShpPlacementController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/ShpPlacementController.java
@@ -4,8 +4,8 @@ import com.gunshi.core.result.R;
import com.gunshi.project.hsz.entity.vo.HomeShpPlacementVo;
import com.gunshi.project.hsz.model.ShpPlacement;
import com.gunshi.project.hsz.service.ShpPlacementService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/SoilMoistureController.java b/src/main/java/com/gunshi/project/hsz/controller/SoilMoistureController.java
index 3993b68..f0cda24 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/SoilMoistureController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/SoilMoistureController.java
@@ -12,8 +12,8 @@ import com.gunshi.project.hsz.model.SoilMoistureData;
import com.gunshi.project.hsz.model.SoilMoistureStation;
import com.gunshi.project.hsz.service.SoilMoistureDataService;
import com.gunshi.project.hsz.service.SoilMoistureStationService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/StAddvcdDController.java b/src/main/java/com/gunshi/project/hsz/controller/StAddvcdDController.java
index 7a296c2..6ea107c 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/StAddvcdDController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/StAddvcdDController.java
@@ -5,8 +5,8 @@ import com.gunshi.core.result.R;
import com.gunshi.project.hsz.entity.vo.StAddvcdTreeVo;
import com.gunshi.project.hsz.model.StAddvcdD;
import com.gunshi.project.hsz.service.StAddvcdDService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/StImgRController.java b/src/main/java/com/gunshi/project/hsz/controller/StImgRController.java
index 5ed3349..6217967 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/StImgRController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/StImgRController.java
@@ -3,8 +3,8 @@ package com.gunshi.project.hsz.controller;
import com.gunshi.core.result.R;
import com.gunshi.project.hsz.model.StImgR;
import com.gunshi.project.hsz.service.StImgRService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/StImgRRealController.java b/src/main/java/com/gunshi/project/hsz/controller/StImgRRealController.java
index 7f6b1fa..aec0c38 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/StImgRRealController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/StImgRRealController.java
@@ -3,8 +3,8 @@ package com.gunshi.project.hsz.controller;
import com.gunshi.core.result.R;
import com.gunshi.project.hsz.model.StImgRReal;
import com.gunshi.project.hsz.service.StImgRRealService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/StImgWarnRController.java b/src/main/java/com/gunshi/project/hsz/controller/StImgWarnRController.java
index d660fad..9634fb5 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/StImgWarnRController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/StImgWarnRController.java
@@ -5,8 +5,8 @@ import com.gunshi.core.result.R;
import com.gunshi.project.hsz.entity.so.ImgWarnPageSo;
import com.gunshi.project.hsz.model.StImgWarnR;
import com.gunshi.project.hsz.service.StImgWarnRService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/StPptnRController.java b/src/main/java/com/gunshi/project/hsz/controller/StPptnRController.java
index 6be9304..38bea51 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/StPptnRController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/StPptnRController.java
@@ -3,8 +3,8 @@ package com.gunshi.project.hsz.controller;
import com.gunshi.core.result.R;
import com.gunshi.project.hsz.model.StPptnR;
import com.gunshi.project.hsz.service.StPptnRService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/StPptnRDController.java b/src/main/java/com/gunshi/project/hsz/controller/StPptnRDController.java
index 635564c..dd38ab9 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/StPptnRDController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/StPptnRDController.java
@@ -3,8 +3,8 @@ package com.gunshi.project.hsz.controller;
import com.gunshi.core.result.R;
import com.gunshi.project.hsz.model.StPptnRD;
import com.gunshi.project.hsz.service.StPptnRDService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/StPptnRHController.java b/src/main/java/com/gunshi/project/hsz/controller/StPptnRHController.java
index b79adee..91d7bb9 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/StPptnRHController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/StPptnRHController.java
@@ -4,8 +4,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gunshi.core.result.R;
import com.gunshi.project.hsz.model.StPptnRH;
import com.gunshi.project.hsz.service.StPptnRHService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/StPptnRRealController.java b/src/main/java/com/gunshi/project/hsz/controller/StPptnRRealController.java
index b1f7476..1ee7be7 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/StPptnRRealController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/StPptnRRealController.java
@@ -3,8 +3,8 @@ package com.gunshi.project.hsz.controller;
import com.gunshi.core.result.R;
import com.gunshi.project.hsz.model.StPptnRReal;
import com.gunshi.project.hsz.service.StPptnRRealService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/StQxWarnRController.java b/src/main/java/com/gunshi/project/hsz/controller/StQxWarnRController.java
index b1dd9e2..ff34d80 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/StQxWarnRController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/StQxWarnRController.java
@@ -5,8 +5,8 @@ import com.gunshi.db.dto.DateTimeRangeSo;
import com.gunshi.project.hsz.entity.vo.HomeWarnVo;
import com.gunshi.project.hsz.model.StQxWarnR;
import com.gunshi.project.hsz.service.StQxWarnRService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/StRiverRController.java b/src/main/java/com/gunshi/project/hsz/controller/StRiverRController.java
index f5253dd..59830d5 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/StRiverRController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/StRiverRController.java
@@ -4,8 +4,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gunshi.core.result.R;
import com.gunshi.project.hsz.model.StRiverR;
import com.gunshi.project.hsz.service.StRiverRService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/StRiverRRealController.java b/src/main/java/com/gunshi/project/hsz/controller/StRiverRRealController.java
index a3f9e06..a7816d5 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/StRiverRRealController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/StRiverRRealController.java
@@ -4,8 +4,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gunshi.core.result.R;
import com.gunshi.project.hsz.model.StRiverRReal;
import com.gunshi.project.hsz.service.StRiverRRealService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/StRsvrRController.java b/src/main/java/com/gunshi/project/hsz/controller/StRsvrRController.java
index 3a81cc4..dc3205b 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/StRsvrRController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/StRsvrRController.java
@@ -3,8 +3,8 @@ package com.gunshi.project.hsz.controller;
import com.gunshi.core.result.R;
import com.gunshi.project.hsz.model.StRsvrR;
import com.gunshi.project.hsz.service.StRsvrRService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/StRsvrRRealController.java b/src/main/java/com/gunshi/project/hsz/controller/StRsvrRRealController.java
index 0c44e4a..7b60c7b 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/StRsvrRRealController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/StRsvrRRealController.java
@@ -3,8 +3,8 @@ package com.gunshi.project.hsz.controller;
import com.gunshi.core.result.R;
import com.gunshi.project.hsz.model.StRsvrRReal;
import com.gunshi.project.hsz.service.StRsvrRRealService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/StStbprpBController.java b/src/main/java/com/gunshi/project/hsz/controller/StStbprpBController.java
index 741c947..fcc2fe0 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/StStbprpBController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/StStbprpBController.java
@@ -12,10 +12,10 @@ import com.gunshi.project.hsz.entity.so.StStbprpBSo;
import com.gunshi.project.hsz.entity.vo.HomeStStbprpBVo;
import com.gunshi.project.hsz.entity.vo.StStatusListVo;
import com.gunshi.project.hsz.entity.vo.StStatusVo;
-import com.gunshi.project.hsz.model.StStbprpB;
+import com.gunshi.project.hsz.common.model.StStbprpB;
import com.gunshi.project.hsz.service.StStbprpBService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/StStbprpBElemController.java b/src/main/java/com/gunshi/project/hsz/controller/StStbprpBElemController.java
index 3d669d3..fdaa2aa 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/StStbprpBElemController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/StStbprpBElemController.java
@@ -1,10 +1,10 @@
package com.gunshi.project.hsz.controller;
import com.gunshi.core.result.R;
-import com.gunshi.project.hsz.model.StStbprpBElem;
+import com.gunshi.project.hsz.common.model.StStbprpBElem;
import com.gunshi.project.hsz.service.StStbprpBElemService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/StWaterRController.java b/src/main/java/com/gunshi/project/hsz/controller/StWaterRController.java
index 0875d11..821917c 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/StWaterRController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/StWaterRController.java
@@ -9,7 +9,7 @@ import com.gunshi.core.result.R;
import com.gunshi.db.dto.DateTimeRangeSo;
import com.gunshi.project.hsz.entity.vo.StWaterRVo;
import com.gunshi.project.hsz.model.ResMonthEcoFlow;
-import com.gunshi.project.hsz.model.StStbprpB;
+import com.gunshi.project.hsz.common.model.StStbprpB;
import com.gunshi.project.hsz.model.StWaterR;
import com.gunshi.project.hsz.service.ResMonthEcoFlowService;
import com.gunshi.project.hsz.service.StStbprpBService;
@@ -17,8 +17,8 @@ import com.gunshi.project.hsz.service.StWaterRService;
import com.gunshi.project.hsz.util.ConvertUtil;
import com.gunshi.project.hsz.util.DateUtil;
import com.gunshi.project.hsz.util.ExcelUtil;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/StWaterRRealController.java b/src/main/java/com/gunshi/project/hsz/controller/StWaterRRealController.java
index 25196d0..0ec8f33 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/StWaterRRealController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/StWaterRRealController.java
@@ -23,8 +23,8 @@ import com.gunshi.project.hsz.model.StWaterRReal;
import com.gunshi.project.hsz.service.ResMonthEcoFlowService;
import com.gunshi.project.hsz.service.StStbprpBService;
import com.gunshi.project.hsz.service.StWaterRRealService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/StWaterRReorganizeController.java b/src/main/java/com/gunshi/project/hsz/controller/StWaterRReorganizeController.java
index 5217597..acc8610 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/StWaterRReorganizeController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/StWaterRReorganizeController.java
@@ -9,14 +9,13 @@ import com.gunshi.core.result.R;
import com.gunshi.project.hsz.entity.vo.StWaterRRVo;
import com.gunshi.project.hsz.entity.vo.StWaterRReorganizeVo;
import com.gunshi.project.hsz.entity.vo.StWaterRReorganizeYearVo;
-import com.gunshi.project.hsz.entity.vo.StWaterRVo;
import com.gunshi.project.hsz.model.StWaterRReorganize;
import com.gunshi.project.hsz.service.StWaterRReorganizeService;
import com.gunshi.project.hsz.util.ConvertUtil;
import com.gunshi.project.hsz.util.DateUtil;
import com.gunshi.project.hsz.util.ExcelUtil;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
@@ -33,7 +32,6 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.io.Serializable;
-import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
/**
diff --git a/src/main/java/com/gunshi/project/hsz/controller/StZqrlBController.java b/src/main/java/com/gunshi/project/hsz/controller/StZqrlBController.java
index 000fb7d..bd5d519 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/StZqrlBController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/StZqrlBController.java
@@ -15,9 +15,9 @@ import com.gunshi.project.hsz.service.AttResBaseService;
import com.gunshi.project.hsz.service.StStbprpBService;
import com.gunshi.project.hsz.service.StZqrlBService;
import com.gunshi.project.hsz.service.StZvarlBService;
-import com.gunshi.project.hsz.validate.markers.Delete;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Delete;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/StZvarlBController.java b/src/main/java/com/gunshi/project/hsz/controller/StZvarlBController.java
index 394399a..7500623 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/StZvarlBController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/StZvarlBController.java
@@ -9,9 +9,9 @@ import com.gunshi.project.hsz.model.StZvarlB;
import com.gunshi.project.hsz.service.AttResBaseService;
import com.gunshi.project.hsz.service.StStbprpBService;
import com.gunshi.project.hsz.service.StZvarlBService;
-import com.gunshi.project.hsz.validate.markers.Delete;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Delete;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/SysDictBController.java b/src/main/java/com/gunshi/project/hsz/controller/SysDictBController.java
index a0c4b21..a285f03 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/SysDictBController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/SysDictBController.java
@@ -9,8 +9,8 @@ import com.gunshi.core.result.R;
import com.gunshi.project.hsz.entity.page.GenericPageParams;
import com.gunshi.project.hsz.model.SysDictB;
import com.gunshi.project.hsz.service.SysDictBService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/SzCaseController.java b/src/main/java/com/gunshi/project/hsz/controller/SzCaseController.java
index 312bbad..f134a6e 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/SzCaseController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/SzCaseController.java
@@ -13,8 +13,8 @@ import com.gunshi.project.hsz.model.SzCase;
import com.gunshi.project.hsz.service.FileAssociationsService;
import com.gunshi.project.hsz.service.SzCaseService;
import com.gunshi.project.hsz.util.DateUtil;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/SzRegulatoryFrameworkController.java b/src/main/java/com/gunshi/project/hsz/controller/SzRegulatoryFrameworkController.java
index e6a2a5a..03f52fd 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/SzRegulatoryFrameworkController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/SzRegulatoryFrameworkController.java
@@ -10,8 +10,8 @@ import com.gunshi.project.hsz.model.FileAssociations;
import com.gunshi.project.hsz.model.SzRegulatoryFramework;
import com.gunshi.project.hsz.service.FileAssociationsService;
import com.gunshi.project.hsz.service.SzRegulatoryFrameworkService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/SzRuleByLawController.java b/src/main/java/com/gunshi/project/hsz/controller/SzRuleByLawController.java
index b0417fb..acb730f 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/SzRuleByLawController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/SzRuleByLawController.java
@@ -9,8 +9,8 @@ import com.gunshi.project.hsz.entity.so.SzRuleByLawPage;
import com.gunshi.project.hsz.model.SzRuleByLaw;
import com.gunshi.project.hsz.service.FileAssociationsService;
import com.gunshi.project.hsz.service.SzRuleByLawService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/SzTreatmentBasisController.java b/src/main/java/com/gunshi/project/hsz/controller/SzTreatmentBasisController.java
index ce6e58c..4cc5e2d 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/SzTreatmentBasisController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/SzTreatmentBasisController.java
@@ -4,8 +4,8 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.gunshi.core.result.R;
import com.gunshi.project.hsz.model.SzTreatmentBasis;
import com.gunshi.project.hsz.service.SzTreatmentBasisService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/TermiteAdverPicController.java b/src/main/java/com/gunshi/project/hsz/controller/TermiteAdverPicController.java
index 80d2551..78c0273 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/TermiteAdverPicController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/TermiteAdverPicController.java
@@ -3,7 +3,7 @@ package com.gunshi.project.hsz.controller;
import com.gunshi.core.result.R;
import com.gunshi.project.hsz.model.TermiteAdverPic;
import com.gunshi.project.hsz.service.TermiteAdverPicService;
-import com.gunshi.project.hsz.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/TermiteSurveyController.java b/src/main/java/com/gunshi/project/hsz/controller/TermiteSurveyController.java
index 40a6c7c..2da964f 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/TermiteSurveyController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/TermiteSurveyController.java
@@ -7,11 +7,10 @@ import com.gunshi.project.hsz.model.TermiteSurvey;
import com.gunshi.project.hsz.model.TermiteSurveyDetail;
import com.gunshi.project.hsz.service.TermiteSurveyDetailService;
import com.gunshi.project.hsz.service.TermiteSurveyService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.tags.Tag;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/TyYearRainfallController.java b/src/main/java/com/gunshi/project/hsz/controller/TyYearRainfallController.java
index e4d1444..5d25229 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/TyYearRainfallController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/TyYearRainfallController.java
@@ -5,8 +5,8 @@ import com.gunshi.core.result.R;
import com.gunshi.project.hsz.entity.so.TyYearRainfallPageSo;
import com.gunshi.project.hsz.entity.vo.TyYearRainfallVo;
import com.gunshi.project.hsz.service.TyYearRainfallService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/controller/WaterAlarmController.java b/src/main/java/com/gunshi/project/hsz/controller/WaterAlarmController.java
index 43101e2..aa4e50e 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/WaterAlarmController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/WaterAlarmController.java
@@ -1,18 +1,15 @@
package com.gunshi.project.hsz.controller;
-import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gunshi.core.result.R;
-import com.gunshi.project.hsz.entity.so.AlarmSetPageSo;
import com.gunshi.project.hsz.entity.so.WaterAlarmPageSo;
import com.gunshi.project.hsz.entity.vo.WaterAlarmCount;
import com.gunshi.project.hsz.entity.vo.WaterAlarmTypeCount;
-import com.gunshi.project.hsz.model.AlarmSet;
import com.gunshi.project.hsz.model.WaterAlarm;
import com.gunshi.project.hsz.service.WaterAlarmService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
@@ -21,9 +18,7 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.Serializable;
-import java.util.Date;
import java.util.List;
-import java.util.Map;
@Tag(name = "水情告警")
@RestController
diff --git a/src/main/java/com/gunshi/project/hsz/controller/WaterDispatchController.java b/src/main/java/com/gunshi/project/hsz/controller/WaterDispatchController.java
index 122ee0e..29abb26 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/WaterDispatchController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/WaterDispatchController.java
@@ -5,15 +5,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gunshi.core.result.R;
import com.gunshi.core.session.entity.SessionUser;
import com.gunshi.project.hsz.entity.so.WaterDispatchPageSo;
-import com.gunshi.project.hsz.entity.so.XlPlanPageSo;
import com.gunshi.project.hsz.entity.vo.WdCountVo;
-import com.gunshi.project.hsz.model.IaCDanad;
import com.gunshi.project.hsz.model.WaterDispatch;
-import com.gunshi.project.hsz.model.XlPlan;
import com.gunshi.project.hsz.service.FileAssociationsService;
import com.gunshi.project.hsz.service.WaterDispatchService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
@@ -24,7 +21,6 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.Serializable;
-import java.time.LocalDateTime;
import java.util.Objects;
@Tag(name = "水量调度")
diff --git a/src/main/java/com/gunshi/project/hsz/controller/XlPlanController.java b/src/main/java/com/gunshi/project/hsz/controller/XlPlanController.java
index 01bc99c..bcab030 100644
--- a/src/main/java/com/gunshi/project/hsz/controller/XlPlanController.java
+++ b/src/main/java/com/gunshi/project/hsz/controller/XlPlanController.java
@@ -7,8 +7,8 @@ import com.gunshi.project.hsz.entity.so.XlPlanPageSo;
import com.gunshi.project.hsz.model.XlPlan;
import com.gunshi.project.hsz.service.FileAssociationsService;
import com.gunshi.project.hsz.service.XlPlanService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/HomeStStbprpBVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/HomeStStbprpBVo.java
index f509832..f8389b2 100644
--- a/src/main/java/com/gunshi/project/hsz/entity/vo/HomeStStbprpBVo.java
+++ b/src/main/java/com/gunshi/project/hsz/entity/vo/HomeStStbprpBVo.java
@@ -1,6 +1,6 @@
package com.gunshi.project.hsz.entity.vo;
-import com.gunshi.project.hsz.model.StStbprpB;
+import com.gunshi.project.hsz.common.model.StStbprpB;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/PrePlaceTreeVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/PrePlaceTreeVo.java
index 9f879a6..b409104 100644
--- a/src/main/java/com/gunshi/project/hsz/entity/vo/PrePlaceTreeVo.java
+++ b/src/main/java/com/gunshi/project/hsz/entity/vo/PrePlaceTreeVo.java
@@ -1,17 +1,12 @@
package com.gunshi.project.hsz.entity.vo;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gunshi.project.hsz.model.PrePlaceDetail;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
-import io.swagger.v3.oas.annotations.media.Schema;
-import jakarta.validation.constraints.NotNull;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import lombok.Data;
-import java.util.Date;
import java.util.List;
@Data
diff --git a/src/main/java/com/gunshi/project/hsz/model/StFlowR.java b/src/main/java/com/gunshi/project/hsz/entity/vo/StFlowRVo.java
similarity index 92%
rename from src/main/java/com/gunshi/project/hsz/model/StFlowR.java
rename to src/main/java/com/gunshi/project/hsz/entity/vo/StFlowRVo.java
index eff058f..5fc95fb 100644
--- a/src/main/java/com/gunshi/project/hsz/model/StFlowR.java
+++ b/src/main/java/com/gunshi/project/hsz/entity/vo/StFlowRVo.java
@@ -1,9 +1,10 @@
-package com.gunshi.project.hsz.model;
+package com.gunshi.project.hsz.entity.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
+import com.gunshi.project.hsz.model.ResMonthEcoFlow;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@@ -16,7 +17,7 @@ import java.time.LocalDateTime;
@Data
@TableName("public.st_flow_r")
-public class StFlowR {
+public class StFlowRVo {
@TableId(value = "id")
@Schema(description = "Id")
diff --git a/src/main/java/com/gunshi/project/hsz/mapper/AttResBaseMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/AttResBaseMapper.java
index a2c718d..40e6a5b 100644
--- a/src/main/java/com/gunshi/project/hsz/mapper/AttResBaseMapper.java
+++ b/src/main/java/com/gunshi/project/hsz/mapper/AttResBaseMapper.java
@@ -2,6 +2,7 @@ package com.gunshi.project.hsz.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.gunshi.project.hsz.common.model.StStbprpB;
import com.gunshi.project.hsz.entity.so.DataQueryCommonSo;
import com.gunshi.project.hsz.entity.so.PicQuerySo;
import com.gunshi.project.hsz.entity.vo.*;
diff --git a/src/main/java/com/gunshi/project/hsz/mapper/StFlowRMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/StFlowRVoMapper.java
similarity index 75%
rename from src/main/java/com/gunshi/project/hsz/mapper/StFlowRMapper.java
rename to src/main/java/com/gunshi/project/hsz/mapper/StFlowRVoMapper.java
index 8694216..1e60ff6 100644
--- a/src/main/java/com/gunshi/project/hsz/mapper/StFlowRMapper.java
+++ b/src/main/java/com/gunshi/project/hsz/mapper/StFlowRVoMapper.java
@@ -1,7 +1,6 @@
package com.gunshi.project.hsz.mapper;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.gunshi.project.hsz.model.StFlowR;
+import com.gunshi.project.hsz.entity.vo.StFlowRVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
@@ -10,7 +9,7 @@ import java.util.Date;
import java.util.List;
@Mapper
-public interface StFlowRMapper extends BaseMapper {
+public interface StFlowRVoMapper {
@Select("""
@@ -24,7 +23,7 @@ public interface StFlowRMapper extends BaseMapper {
) t
WHERE rn = 1) t2 on t1.stcd = t2.stcd
""")
- List listNewData();
+ List listNewData();
@Select("""
select DISTINCT stcd from st_flow_r
@@ -40,5 +39,5 @@ public interface StFlowRMapper extends BaseMapper {
order by tm asc
""")
- List getDataByStcdAndTm(@Param("stcd") String stcd, @Param("tm") Date tm);
+ List getDataByStcdAndTm(@Param("stcd") String stcd, @Param("tm") Date tm);
}
diff --git a/src/main/java/com/gunshi/project/hsz/mapper/StImgRMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/StImgRMapper.java
index ffe5787..c55d5c2 100644
--- a/src/main/java/com/gunshi/project/hsz/mapper/StImgRMapper.java
+++ b/src/main/java/com/gunshi/project/hsz/mapper/StImgRMapper.java
@@ -3,6 +3,7 @@ package com.gunshi.project.hsz.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gunshi.project.hsz.model.StImgR;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
import java.util.List;
@@ -14,5 +15,14 @@ import java.util.List;
@Mapper
public interface StImgRMapper extends BaseMapper {
+ @Select("""
+ SELECT stb.stcd,
+ r.tm stm
+ FROM public.st_stbprp_b stb
+ LEFT JOIN (SELECT *
+ FROM (SELECT *, ROW_NUMBER() OVER ( PARTITION BY stcd ORDER BY tm DESC ) AS rn FROM public.st_img_r) subquery
+ WHERE subquery.rn = 1) r ON stb.stcd = r.stcd
+ WHERE stb.source = 'SK'
+ """)
List getStcdLastImgData();
}
diff --git a/src/main/java/com/gunshi/project/hsz/mapper/StRsvrRRealMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/StRsvrRRealMapper.java
index 747ea55..7c9a533 100644
--- a/src/main/java/com/gunshi/project/hsz/mapper/StRsvrRRealMapper.java
+++ b/src/main/java/com/gunshi/project/hsz/mapper/StRsvrRRealMapper.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gunshi.project.hsz.model.StRsvrRReal;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
/**
* 描述: 水库水位实时数据表
@@ -13,6 +14,15 @@ import org.apache.ibatis.annotations.Param;
@Mapper
public interface StRsvrRRealMapper extends BaseMapper {
+ @Select("""
+ select t2.*,t1.stnm FROM
+ st_stbprp_b t1
+ join st_rsvr_r_real t2
+ on t1.stcd = t2.stcd
+ where t2.stcd = #{stcd}
+ order by t2.tm desc
+ limit 1
+ """)
StRsvrRReal queryRzByStcd(@Param("stcd") String stcd);
}
\ No newline at end of file
diff --git a/src/main/java/com/gunshi/project/hsz/mapper/StStbprpBMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/StbprpBVoMapper.java
similarity index 86%
rename from src/main/java/com/gunshi/project/hsz/mapper/StStbprpBMapper.java
rename to src/main/java/com/gunshi/project/hsz/mapper/StbprpBVoMapper.java
index 2293bf6..be713b6 100644
--- a/src/main/java/com/gunshi/project/hsz/mapper/StStbprpBMapper.java
+++ b/src/main/java/com/gunshi/project/hsz/mapper/StbprpBVoMapper.java
@@ -1,26 +1,21 @@
package com.gunshi.project.hsz.mapper;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
import com.gunshi.project.hsz.entity.dto.StZqrlBDto;
import com.gunshi.project.hsz.entity.so.HomeStStbprpBSo;
import com.gunshi.project.hsz.entity.vo.HomeStStbprpBVo;
import com.gunshi.project.hsz.entity.vo.StStatusVo;
import com.gunshi.project.hsz.entity.vo.StZqrlBVo;
-import com.gunshi.project.hsz.model.StStbprpB;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-
import java.util.List;
/**
- * 描述: sttp 以水利标准来
- * author: xusan
- * date: 2024-07-08 15:44:08
+ * @author lyf
+ * @since 2025-11-04
*/
@Mapper
-public interface StStbprpBMapper extends BaseMapper {
-
+public interface StbprpBVoMapper {
@Select("""
""")
List flowList(@Param("obj") StZqrlBDto obj);
-
- @Select("""
- select * from public.st_stbprp_b b
- join public.st_stbprp_b_elem e
- on b.stcd = e.stcd
- where e.elem='drp'
- """)
- List getPptnStations();
-
- @Select("""
- select * from public.st_stbprp_b b
- where b.sttp='RR'
- """)
- List getRsvrStations();
-}
\ No newline at end of file
+}
diff --git a/src/main/java/com/gunshi/project/hsz/model/AlarmSet.java b/src/main/java/com/gunshi/project/hsz/model/AlarmSet.java
index 2e6df18..d3c7da2 100644
--- a/src/main/java/com/gunshi/project/hsz/model/AlarmSet.java
+++ b/src/main/java/com/gunshi/project/hsz/model/AlarmSet.java
@@ -1,18 +1,16 @@
package com.gunshi.project.hsz.model;
-import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
-import org.checkerframework.checker.units.qual.N;
import java.io.Serializable;
import java.math.BigDecimal;
diff --git a/src/main/java/com/gunshi/project/hsz/model/AssessCategory.java b/src/main/java/com/gunshi/project/hsz/model/AssessCategory.java
index 392b75d..f395652 100644
--- a/src/main/java/com/gunshi/project/hsz/model/AssessCategory.java
+++ b/src/main/java/com/gunshi/project/hsz/model/AssessCategory.java
@@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
diff --git a/src/main/java/com/gunshi/project/hsz/model/AssessIndicator.java b/src/main/java/com/gunshi/project/hsz/model/AssessIndicator.java
index 9d65d8f..31414b2 100644
--- a/src/main/java/com/gunshi/project/hsz/model/AssessIndicator.java
+++ b/src/main/java/com/gunshi/project/hsz/model/AssessIndicator.java
@@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
diff --git a/src/main/java/com/gunshi/project/hsz/model/AssessIndicatorRating.java b/src/main/java/com/gunshi/project/hsz/model/AssessIndicatorRating.java
index 0878278..a20675b 100644
--- a/src/main/java/com/gunshi/project/hsz/model/AssessIndicatorRating.java
+++ b/src/main/java/com/gunshi/project/hsz/model/AssessIndicatorRating.java
@@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
diff --git a/src/main/java/com/gunshi/project/hsz/model/AssessObject.java b/src/main/java/com/gunshi/project/hsz/model/AssessObject.java
index 852e631..a52c681 100644
--- a/src/main/java/com/gunshi/project/hsz/model/AssessObject.java
+++ b/src/main/java/com/gunshi/project/hsz/model/AssessObject.java
@@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
diff --git a/src/main/java/com/gunshi/project/hsz/model/AssessTask.java b/src/main/java/com/gunshi/project/hsz/model/AssessTask.java
index 9383c94..eb9da04 100644
--- a/src/main/java/com/gunshi/project/hsz/model/AssessTask.java
+++ b/src/main/java/com/gunshi/project/hsz/model/AssessTask.java
@@ -9,7 +9,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
diff --git a/src/main/java/com/gunshi/project/hsz/model/AssessTeam.java b/src/main/java/com/gunshi/project/hsz/model/AssessTeam.java
index a4ac4d2..a2f4413 100644
--- a/src/main/java/com/gunshi/project/hsz/model/AssessTeam.java
+++ b/src/main/java/com/gunshi/project/hsz/model/AssessTeam.java
@@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
diff --git a/src/main/java/com/gunshi/project/hsz/model/AssessTeamRating.java b/src/main/java/com/gunshi/project/hsz/model/AssessTeamRating.java
index d908c1f..82e8b44 100644
--- a/src/main/java/com/gunshi/project/hsz/model/AssessTeamRating.java
+++ b/src/main/java/com/gunshi/project/hsz/model/AssessTeamRating.java
@@ -9,7 +9,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
diff --git a/src/main/java/com/gunshi/project/hsz/model/AssessTemplate.java b/src/main/java/com/gunshi/project/hsz/model/AssessTemplate.java
index 645508c..ade6e5b 100644
--- a/src/main/java/com/gunshi/project/hsz/model/AssessTemplate.java
+++ b/src/main/java/com/gunshi/project/hsz/model/AssessTemplate.java
@@ -9,7 +9,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
diff --git a/src/main/java/com/gunshi/project/hsz/model/AttCctvBase.java b/src/main/java/com/gunshi/project/hsz/model/AttCctvBase.java
index 498c831..a27e213 100644
--- a/src/main/java/com/gunshi/project/hsz/model/AttCctvBase.java
+++ b/src/main/java/com/gunshi/project/hsz/model/AttCctvBase.java
@@ -9,8 +9,8 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
diff --git a/src/main/java/com/gunshi/project/hsz/model/AttDamBase.java b/src/main/java/com/gunshi/project/hsz/model/AttDamBase.java
index fa0bbe5..c4cf329 100644
--- a/src/main/java/com/gunshi/project/hsz/model/AttDamBase.java
+++ b/src/main/java/com/gunshi/project/hsz/model/AttDamBase.java
@@ -7,8 +7,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Delete;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Delete;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
diff --git a/src/main/java/com/gunshi/project/hsz/model/AttGateValve.java b/src/main/java/com/gunshi/project/hsz/model/AttGateValve.java
index ed570bf..31af290 100644
--- a/src/main/java/com/gunshi/project/hsz/model/AttGateValve.java
+++ b/src/main/java/com/gunshi/project/hsz/model/AttGateValve.java
@@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
diff --git a/src/main/java/com/gunshi/project/hsz/model/AttMeaWeir.java b/src/main/java/com/gunshi/project/hsz/model/AttMeaWeir.java
index 63f6490..81b6f8b 100644
--- a/src/main/java/com/gunshi/project/hsz/model/AttMeaWeir.java
+++ b/src/main/java/com/gunshi/project/hsz/model/AttMeaWeir.java
@@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
diff --git a/src/main/java/com/gunshi/project/hsz/model/AttSpillwayBase.java b/src/main/java/com/gunshi/project/hsz/model/AttSpillwayBase.java
index be705a8..ea9f552 100644
--- a/src/main/java/com/gunshi/project/hsz/model/AttSpillwayBase.java
+++ b/src/main/java/com/gunshi/project/hsz/model/AttSpillwayBase.java
@@ -7,8 +7,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Delete;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Delete;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
diff --git a/src/main/java/com/gunshi/project/hsz/model/BroadcastStation.java b/src/main/java/com/gunshi/project/hsz/model/BroadcastStation.java
index 50d68f0..6ce4bf5 100644
--- a/src/main/java/com/gunshi/project/hsz/model/BroadcastStation.java
+++ b/src/main/java/com/gunshi/project/hsz/model/BroadcastStation.java
@@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
diff --git a/src/main/java/com/gunshi/project/hsz/model/BroadcastTemplate.java b/src/main/java/com/gunshi/project/hsz/model/BroadcastTemplate.java
index 0f529b5..c0de1dd 100644
--- a/src/main/java/com/gunshi/project/hsz/model/BroadcastTemplate.java
+++ b/src/main/java/com/gunshi/project/hsz/model/BroadcastTemplate.java
@@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
diff --git a/src/main/java/com/gunshi/project/hsz/model/BroadcastWarn.java b/src/main/java/com/gunshi/project/hsz/model/BroadcastWarn.java
index ed31cc4..713f1bc 100644
--- a/src/main/java/com/gunshi/project/hsz/model/BroadcastWarn.java
+++ b/src/main/java/com/gunshi/project/hsz/model/BroadcastWarn.java
@@ -9,7 +9,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
diff --git a/src/main/java/com/gunshi/project/hsz/model/ByLog.java b/src/main/java/com/gunshi/project/hsz/model/ByLog.java
index 4a9c89f..5718a94 100644
--- a/src/main/java/com/gunshi/project/hsz/model/ByLog.java
+++ b/src/main/java/com/gunshi/project/hsz/model/ByLog.java
@@ -8,9 +8,8 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.file.model.FileDescriptor;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
diff --git a/src/main/java/com/gunshi/project/hsz/model/ByLogDetail.java b/src/main/java/com/gunshi/project/hsz/model/ByLogDetail.java
index a3a21c5..4f64bb6 100644
--- a/src/main/java/com/gunshi/project/hsz/model/ByLogDetail.java
+++ b/src/main/java/com/gunshi/project/hsz/model/ByLogDetail.java
@@ -5,8 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
diff --git a/src/main/java/com/gunshi/project/hsz/model/ByPlan.java b/src/main/java/com/gunshi/project/hsz/model/ByPlan.java
index 150b1a5..8df5b55 100644
--- a/src/main/java/com/gunshi/project/hsz/model/ByPlan.java
+++ b/src/main/java/com/gunshi/project/hsz/model/ByPlan.java
@@ -1,7 +1,6 @@
package com.gunshi.project.hsz.model;
-import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
@@ -9,12 +8,11 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
-import org.checkerframework.checker.units.qual.N;
import java.math.BigDecimal;
import java.util.Date;
diff --git a/src/main/java/com/gunshi/project/hsz/model/ByPlanDetail.java b/src/main/java/com/gunshi/project/hsz/model/ByPlanDetail.java
index 021385e..bcca05c 100644
--- a/src/main/java/com/gunshi/project/hsz/model/ByPlanDetail.java
+++ b/src/main/java/com/gunshi/project/hsz/model/ByPlanDetail.java
@@ -6,14 +6,12 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
-import java.util.Date;
-
@Schema(description="白蚁-计划管理细节")
@Data
@TableName("by_plan_detail")
diff --git a/src/main/java/com/gunshi/project/hsz/model/DispatchRecord.java b/src/main/java/com/gunshi/project/hsz/model/DispatchRecord.java
index de0985f..880efda 100644
--- a/src/main/java/com/gunshi/project/hsz/model/DispatchRecord.java
+++ b/src/main/java/com/gunshi/project/hsz/model/DispatchRecord.java
@@ -9,7 +9,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
diff --git a/src/main/java/com/gunshi/project/hsz/model/GateValveCctvRel.java b/src/main/java/com/gunshi/project/hsz/model/GateValveCctvRel.java
index 1423d6a..328c353 100644
--- a/src/main/java/com/gunshi/project/hsz/model/GateValveCctvRel.java
+++ b/src/main/java/com/gunshi/project/hsz/model/GateValveCctvRel.java
@@ -9,8 +9,8 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
diff --git a/src/main/java/com/gunshi/project/hsz/model/InspectItem.java b/src/main/java/com/gunshi/project/hsz/model/InspectItem.java
index 9c415cb..44d5121 100644
--- a/src/main/java/com/gunshi/project/hsz/model/InspectItem.java
+++ b/src/main/java/com/gunshi/project/hsz/model/InspectItem.java
@@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
diff --git a/src/main/java/com/gunshi/project/hsz/model/InspectPoint.java b/src/main/java/com/gunshi/project/hsz/model/InspectPoint.java
index 9ffdc87..00a4485 100644
--- a/src/main/java/com/gunshi/project/hsz/model/InspectPoint.java
+++ b/src/main/java/com/gunshi/project/hsz/model/InspectPoint.java
@@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
diff --git a/src/main/java/com/gunshi/project/hsz/model/InspectTask.java b/src/main/java/com/gunshi/project/hsz/model/InspectTask.java
index 417a523..7e5d2ba 100644
--- a/src/main/java/com/gunshi/project/hsz/model/InspectTask.java
+++ b/src/main/java/com/gunshi/project/hsz/model/InspectTask.java
@@ -9,7 +9,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
diff --git a/src/main/java/com/gunshi/project/hsz/model/InspectTaskDetail.java b/src/main/java/com/gunshi/project/hsz/model/InspectTaskDetail.java
index b108401..25cb7c0 100644
--- a/src/main/java/com/gunshi/project/hsz/model/InspectTaskDetail.java
+++ b/src/main/java/com/gunshi/project/hsz/model/InspectTaskDetail.java
@@ -9,7 +9,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
diff --git a/src/main/java/com/gunshi/project/hsz/model/MaintainService.java b/src/main/java/com/gunshi/project/hsz/model/MaintainService.java
index 0d4ae35..f81b9d3 100644
--- a/src/main/java/com/gunshi/project/hsz/model/MaintainService.java
+++ b/src/main/java/com/gunshi/project/hsz/model/MaintainService.java
@@ -9,7 +9,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
diff --git a/src/main/java/com/gunshi/project/hsz/model/MentencePlan.java b/src/main/java/com/gunshi/project/hsz/model/MentencePlan.java
index a03f680..c3034fe 100644
--- a/src/main/java/com/gunshi/project/hsz/model/MentencePlan.java
+++ b/src/main/java/com/gunshi/project/hsz/model/MentencePlan.java
@@ -6,13 +6,12 @@ import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
-import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
diff --git a/src/main/java/com/gunshi/project/hsz/model/MentenceSt.java b/src/main/java/com/gunshi/project/hsz/model/MentenceSt.java
index 7fd04d3..52ddf6b 100644
--- a/src/main/java/com/gunshi/project/hsz/model/MentenceSt.java
+++ b/src/main/java/com/gunshi/project/hsz/model/MentenceSt.java
@@ -6,8 +6,8 @@ import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
diff --git a/src/main/java/com/gunshi/project/hsz/model/MentenceStDetail.java b/src/main/java/com/gunshi/project/hsz/model/MentenceStDetail.java
index 0b15717..ea22ce5 100644
--- a/src/main/java/com/gunshi/project/hsz/model/MentenceStDetail.java
+++ b/src/main/java/com/gunshi/project/hsz/model/MentenceStDetail.java
@@ -5,8 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
diff --git a/src/main/java/com/gunshi/project/hsz/model/MentenceTemplate.java b/src/main/java/com/gunshi/project/hsz/model/MentenceTemplate.java
index 539f958..eca0b55 100644
--- a/src/main/java/com/gunshi/project/hsz/model/MentenceTemplate.java
+++ b/src/main/java/com/gunshi/project/hsz/model/MentenceTemplate.java
@@ -6,13 +6,12 @@ import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
-import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
diff --git a/src/main/java/com/gunshi/project/hsz/model/OsmoticFlowDevice.java b/src/main/java/com/gunshi/project/hsz/model/OsmoticFlowDevice.java
index 753c248..878af42 100644
--- a/src/main/java/com/gunshi/project/hsz/model/OsmoticFlowDevice.java
+++ b/src/main/java/com/gunshi/project/hsz/model/OsmoticFlowDevice.java
@@ -7,8 +7,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
diff --git a/src/main/java/com/gunshi/project/hsz/model/OsmoticPressDevice.java b/src/main/java/com/gunshi/project/hsz/model/OsmoticPressDevice.java
index 3808f39..2a350fc 100644
--- a/src/main/java/com/gunshi/project/hsz/model/OsmoticPressDevice.java
+++ b/src/main/java/com/gunshi/project/hsz/model/OsmoticPressDevice.java
@@ -7,8 +7,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
diff --git a/src/main/java/com/gunshi/project/hsz/model/OsmoticShiftDevice.java b/src/main/java/com/gunshi/project/hsz/model/OsmoticShiftDevice.java
index 79f72f5..6f946b4 100644
--- a/src/main/java/com/gunshi/project/hsz/model/OsmoticShiftDevice.java
+++ b/src/main/java/com/gunshi/project/hsz/model/OsmoticShiftDevice.java
@@ -7,8 +7,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
diff --git a/src/main/java/com/gunshi/project/hsz/model/PersonnelPlan.java b/src/main/java/com/gunshi/project/hsz/model/PersonnelPlan.java
index ef612a8..469d436 100644
--- a/src/main/java/com/gunshi/project/hsz/model/PersonnelPlan.java
+++ b/src/main/java/com/gunshi/project/hsz/model/PersonnelPlan.java
@@ -8,8 +8,8 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import com.ruoyi.common.annotation.Excel;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
diff --git a/src/main/java/com/gunshi/project/hsz/model/PersonnelPlanLog.java b/src/main/java/com/gunshi/project/hsz/model/PersonnelPlanLog.java
index 4704068..7afbcbf 100644
--- a/src/main/java/com/gunshi/project/hsz/model/PersonnelPlanLog.java
+++ b/src/main/java/com/gunshi/project/hsz/model/PersonnelPlanLog.java
@@ -8,8 +8,8 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
diff --git a/src/main/java/com/gunshi/project/hsz/model/PrePlace.java b/src/main/java/com/gunshi/project/hsz/model/PrePlace.java
index 74599e3..1747847 100644
--- a/src/main/java/com/gunshi/project/hsz/model/PrePlace.java
+++ b/src/main/java/com/gunshi/project/hsz/model/PrePlace.java
@@ -5,8 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
diff --git a/src/main/java/com/gunshi/project/hsz/model/PrePlaceDetail.java b/src/main/java/com/gunshi/project/hsz/model/PrePlaceDetail.java
index 78a57c1..32db139 100644
--- a/src/main/java/com/gunshi/project/hsz/model/PrePlaceDetail.java
+++ b/src/main/java/com/gunshi/project/hsz/model/PrePlaceDetail.java
@@ -5,8 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
diff --git a/src/main/java/com/gunshi/project/hsz/model/ProjectEvents.java b/src/main/java/com/gunshi/project/hsz/model/ProjectEvents.java
index 4223505..c6998e2 100644
--- a/src/main/java/com/gunshi/project/hsz/model/ProjectEvents.java
+++ b/src/main/java/com/gunshi/project/hsz/model/ProjectEvents.java
@@ -8,8 +8,8 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
diff --git a/src/main/java/com/gunshi/project/hsz/model/ResMonthEcoFlow.java b/src/main/java/com/gunshi/project/hsz/model/ResMonthEcoFlow.java
index 340b1a3..40fe59b 100644
--- a/src/main/java/com/gunshi/project/hsz/model/ResMonthEcoFlow.java
+++ b/src/main/java/com/gunshi/project/hsz/model/ResMonthEcoFlow.java
@@ -7,8 +7,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
diff --git a/src/main/java/com/gunshi/project/hsz/model/ResSafePersonB.java b/src/main/java/com/gunshi/project/hsz/model/ResSafePersonB.java
index 1725ff7..f972c48 100644
--- a/src/main/java/com/gunshi/project/hsz/model/ResSafePersonB.java
+++ b/src/main/java/com/gunshi/project/hsz/model/ResSafePersonB.java
@@ -9,7 +9,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
diff --git a/src/main/java/com/gunshi/project/hsz/model/RescueGoodsB.java b/src/main/java/com/gunshi/project/hsz/model/RescueGoodsB.java
index 680df9a..0b0e98e 100644
--- a/src/main/java/com/gunshi/project/hsz/model/RescueGoodsB.java
+++ b/src/main/java/com/gunshi/project/hsz/model/RescueGoodsB.java
@@ -7,8 +7,8 @@ import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gunshi.project.hsz.service.AbstractModelWithAttachService;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
diff --git a/src/main/java/com/gunshi/project/hsz/model/RiskControlInfo.java b/src/main/java/com/gunshi/project/hsz/model/RiskControlInfo.java
index 5be157d..5e25996 100644
--- a/src/main/java/com/gunshi/project/hsz/model/RiskControlInfo.java
+++ b/src/main/java/com/gunshi/project/hsz/model/RiskControlInfo.java
@@ -9,8 +9,8 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
diff --git a/src/main/java/com/gunshi/project/hsz/model/RiskControlMenu.java b/src/main/java/com/gunshi/project/hsz/model/RiskControlMenu.java
index 360586e..535b725 100644
--- a/src/main/java/com/gunshi/project/hsz/model/RiskControlMenu.java
+++ b/src/main/java/com/gunshi/project/hsz/model/RiskControlMenu.java
@@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
diff --git a/src/main/java/com/gunshi/project/hsz/model/RotaLog.java b/src/main/java/com/gunshi/project/hsz/model/RotaLog.java
index fc54fc2..bdb2bf2 100644
--- a/src/main/java/com/gunshi/project/hsz/model/RotaLog.java
+++ b/src/main/java/com/gunshi/project/hsz/model/RotaLog.java
@@ -8,8 +8,8 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
diff --git a/src/main/java/com/gunshi/project/hsz/model/SafetyAccidentReg.java b/src/main/java/com/gunshi/project/hsz/model/SafetyAccidentReg.java
index 5fb710c..1f7b476 100644
--- a/src/main/java/com/gunshi/project/hsz/model/SafetyAccidentReg.java
+++ b/src/main/java/com/gunshi/project/hsz/model/SafetyAccidentReg.java
@@ -9,7 +9,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
diff --git a/src/main/java/com/gunshi/project/hsz/model/SafetyCheck.java b/src/main/java/com/gunshi/project/hsz/model/SafetyCheck.java
index 25e63d5..e6a3286 100644
--- a/src/main/java/com/gunshi/project/hsz/model/SafetyCheck.java
+++ b/src/main/java/com/gunshi/project/hsz/model/SafetyCheck.java
@@ -8,8 +8,8 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
diff --git a/src/main/java/com/gunshi/project/hsz/model/SafetyHazardInvest.java b/src/main/java/com/gunshi/project/hsz/model/SafetyHazardInvest.java
index e14b1c4..cbcc227 100644
--- a/src/main/java/com/gunshi/project/hsz/model/SafetyHazardInvest.java
+++ b/src/main/java/com/gunshi/project/hsz/model/SafetyHazardInvest.java
@@ -8,8 +8,8 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
diff --git a/src/main/java/com/gunshi/project/hsz/model/SafetyIdentify.java b/src/main/java/com/gunshi/project/hsz/model/SafetyIdentify.java
index 408777d..50047de 100644
--- a/src/main/java/com/gunshi/project/hsz/model/SafetyIdentify.java
+++ b/src/main/java/com/gunshi/project/hsz/model/SafetyIdentify.java
@@ -9,7 +9,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
diff --git a/src/main/java/com/gunshi/project/hsz/model/SafetyReinforcement.java b/src/main/java/com/gunshi/project/hsz/model/SafetyReinforcement.java
index ce5e8fc..067b1b3 100644
--- a/src/main/java/com/gunshi/project/hsz/model/SafetyReinforcement.java
+++ b/src/main/java/com/gunshi/project/hsz/model/SafetyReinforcement.java
@@ -9,8 +9,8 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
diff --git a/src/main/java/com/gunshi/project/hsz/model/StStbprpCctv.java b/src/main/java/com/gunshi/project/hsz/model/StStbprpCctv.java
index 53217a3..1101c1c 100644
--- a/src/main/java/com/gunshi/project/hsz/model/StStbprpCctv.java
+++ b/src/main/java/com/gunshi/project/hsz/model/StStbprpCctv.java
@@ -6,8 +6,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
diff --git a/src/main/java/com/gunshi/project/hsz/model/StZqR.java b/src/main/java/com/gunshi/project/hsz/model/StZqR.java
index dfbcf70..46e95c8 100644
--- a/src/main/java/com/gunshi/project/hsz/model/StZqR.java
+++ b/src/main/java/com/gunshi/project/hsz/model/StZqR.java
@@ -9,9 +9,9 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Delete;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Delete;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
@@ -20,7 +20,6 @@ import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
-import java.util.Date;
/**
* 描述: 水位-流量 关系表
diff --git a/src/main/java/com/gunshi/project/hsz/model/StZqrlB.java b/src/main/java/com/gunshi/project/hsz/model/StZqrlB.java
index 5618388..d94b254 100644
--- a/src/main/java/com/gunshi/project/hsz/model/StZqrlB.java
+++ b/src/main/java/com/gunshi/project/hsz/model/StZqrlB.java
@@ -9,9 +9,9 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Delete;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Delete;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
diff --git a/src/main/java/com/gunshi/project/hsz/model/StZvarlB.java b/src/main/java/com/gunshi/project/hsz/model/StZvarlB.java
index 5212f5a..70b12eb 100644
--- a/src/main/java/com/gunshi/project/hsz/model/StZvarlB.java
+++ b/src/main/java/com/gunshi/project/hsz/model/StZvarlB.java
@@ -9,9 +9,9 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Delete;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Delete;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
diff --git a/src/main/java/com/gunshi/project/hsz/model/SysDictB.java b/src/main/java/com/gunshi/project/hsz/model/SysDictB.java
index 970ac98..18cd251 100644
--- a/src/main/java/com/gunshi/project/hsz/model/SysDictB.java
+++ b/src/main/java/com/gunshi/project/hsz/model/SysDictB.java
@@ -9,8 +9,8 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
diff --git a/src/main/java/com/gunshi/project/hsz/model/SzCase.java b/src/main/java/com/gunshi/project/hsz/model/SzCase.java
index 0266ef3..17e6ec1 100644
--- a/src/main/java/com/gunshi/project/hsz/model/SzCase.java
+++ b/src/main/java/com/gunshi/project/hsz/model/SzCase.java
@@ -8,8 +8,8 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
diff --git a/src/main/java/com/gunshi/project/hsz/model/SzRegulatoryFramework.java b/src/main/java/com/gunshi/project/hsz/model/SzRegulatoryFramework.java
index 839dc65..23b7552 100644
--- a/src/main/java/com/gunshi/project/hsz/model/SzRegulatoryFramework.java
+++ b/src/main/java/com/gunshi/project/hsz/model/SzRegulatoryFramework.java
@@ -8,8 +8,8 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
diff --git a/src/main/java/com/gunshi/project/hsz/model/SzRuleByLaw.java b/src/main/java/com/gunshi/project/hsz/model/SzRuleByLaw.java
index 371bc48..54fd08b 100644
--- a/src/main/java/com/gunshi/project/hsz/model/SzRuleByLaw.java
+++ b/src/main/java/com/gunshi/project/hsz/model/SzRuleByLaw.java
@@ -8,8 +8,8 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
diff --git a/src/main/java/com/gunshi/project/hsz/model/SzTreatmentBasis.java b/src/main/java/com/gunshi/project/hsz/model/SzTreatmentBasis.java
index 82167eb..40e09c4 100644
--- a/src/main/java/com/gunshi/project/hsz/model/SzTreatmentBasis.java
+++ b/src/main/java/com/gunshi/project/hsz/model/SzTreatmentBasis.java
@@ -6,8 +6,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
diff --git a/src/main/java/com/gunshi/project/hsz/model/WaterDispatch.java b/src/main/java/com/gunshi/project/hsz/model/WaterDispatch.java
index 4b8bfd1..48622e3 100644
--- a/src/main/java/com/gunshi/project/hsz/model/WaterDispatch.java
+++ b/src/main/java/com/gunshi/project/hsz/model/WaterDispatch.java
@@ -6,8 +6,8 @@ import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
diff --git a/src/main/java/com/gunshi/project/hsz/model/XlPlan.java b/src/main/java/com/gunshi/project/hsz/model/XlPlan.java
index c6c6065..5e65458 100644
--- a/src/main/java/com/gunshi/project/hsz/model/XlPlan.java
+++ b/src/main/java/com/gunshi/project/hsz/model/XlPlan.java
@@ -6,15 +6,13 @@ import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.gunshi.core.dateformat.DateFormatString;
-import com.gunshi.project.hsz.validate.markers.Insert;
-import com.gunshi.project.hsz.validate.markers.Update;
+import com.gunshi.project.hsz.common.validate.markers.Insert;
+import com.gunshi.project.hsz.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import java.math.BigDecimal;
-import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
diff --git a/src/main/java/com/gunshi/project/hsz/service/ForecastResultsService.java b/src/main/java/com/gunshi/project/hsz/service/ForecastResultsService.java
index 6319896..68cd743 100644
--- a/src/main/java/com/gunshi/project/hsz/service/ForecastResultsService.java
+++ b/src/main/java/com/gunshi/project/hsz/service/ForecastResultsService.java
@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gunshi.algorithm.RrainfallForecast;
import com.gunshi.algorithm.RunoffService;
import com.gunshi.model.vo.FloodAlgorithemVo;
+import com.gunshi.project.hsz.common.model.StStbprpB;
import com.gunshi.project.hsz.entity.vo.ForeRainStatVo;
import com.gunshi.project.hsz.entity.vo.ForeRainTimeVo;
import com.gunshi.project.hsz.entity.vo.ForecastResultVo;
@@ -25,13 +26,7 @@ import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.Instant;
import java.time.temporal.ChronoUnit;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -43,8 +38,7 @@ import java.util.stream.Collectors;
@Service
@Slf4j
@Transactional(rollbackFor = Exception.class)
-public class ForecastResultsService extends ServiceImpl
-{
+public class ForecastResultsService extends ServiceImpl {
private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -88,8 +82,8 @@ public class ForecastResultsService extends ServiceImpl
* @auther: cxw
* @date: 2024-07-30, 周二, 14:40:45
@@ -101,8 +95,8 @@ public class ForecastResultsService extends ServiceImpl
* @auther: cxw
* @date: 2024-07-31, 周三, 11:09:24
@@ -126,19 +120,19 @@ public class ForecastResultsService extends ServiceImpl
* @auther: cxw
* @date: 2024-08-05, 周一, 17:14:52
@@ -163,7 +157,7 @@ public class ForecastResultsService extends ServiceImpl pptnRAllList = new ArrayList<>();
List pptnRFutureList = new ArrayList<>();
@@ -198,7 +192,7 @@ public class ForecastResultsService extends ServiceImpl rsvrRRealList = stRsvrRService.list(new QueryWrapper().eq("stcd", attResBase.getStcd()).ge("tm", startTime).le("tm", endTime));
//TODO 将过五分数据转为整点数据
- rsvrRRealList.stream().forEach(o->{
+ rsvrRRealList.stream().forEach(o -> {
// 转换为 Instant 操作后再转回 Date
- o.setTm(deleteMinites(o.getTm(),5));
+ o.setTm(deleteMinites(o.getTm(), 5));
});
List resultList = reorganizeRsvrRData(rsvrRRealList, dt);
List periods = splitByDay8To8(startTime, endTime);
@@ -336,14 +330,14 @@ public class ForecastResultsService extends ServiceImpl= 0; i--) {
int index = lastRArr.size() - 1 - (voList.size() - 1 - i);
lastRArr.set(index, voList.get(i).getR().doubleValue());
- if(index <= 0){
+ if (index <= 0) {
break;
}
}
// 预测执行
List forecastVoList = RrainfallForecast.getData(sdf.format(period[0]), forecastPa.getK().doubleValue(), forecastPa.getPa0().doubleValue(), Wm, forecastPa.getPt0().doubleValue(), H1, dt,
- forecastPa.getPa().doubleValue(), PList, u, attResBase.getStcd(), qOther, vSum.doubleValue(), Rsum.doubleValue(), lastRArr);
+ forecastPa.getPa().doubleValue(), PList, u, attResBase.getStcd(), qOther, vSum.doubleValue(), Rsum.doubleValue(), lastRArr);
if (CollectionUtils.isNotEmpty(forecastVoList)) {
// 筛选同时段的真实水位数据
List realRsvrList = resultList.stream().filter(item -> item.getTm().compareTo(period[0]) >= 0 && item.getTm().compareTo(period[1]) <= 0).collect(Collectors.toList());
@@ -424,7 +418,6 @@ public class ForecastResultsService extends ServiceImpl> excuteForecastDebug(ForecastTask forecastTask) throws Exception {
List voList = new ArrayList<>();
// 获取配置参数
@@ -478,7 +471,7 @@ public class ForecastResultsService extends ServiceImpl= 0; i--) {
int index = lastRArr.size() - 1 - (voList.size() - 1 - i);
lastRArr.set(index, voList.get(i).getR().doubleValue());
- if(index <= 0){
+ if (index <= 0) {
break;
}
}
// 预测执行
- Map map = new HashMap<>();
+ Map map = new HashMap<>();
map.put("in period" + k, sdf.format(period[0]));
map.put("in K" + k, forecastPa.getK().doubleValue());
map.put("in pa0" + k, forecastPa.getPa0().doubleValue());
@@ -635,7 +628,7 @@ public class ForecastResultsService extends ServiceImpl forecastVoList = RrainfallForecast.getData(sdf.format(period[0]), forecastPa.getK().doubleValue(), forecastPa.getPa0().doubleValue(), Wm, forecastPa.getPt0().doubleValue(), H1, dt,
- forecastPa.getPa().doubleValue(), PList, u, attResBase.getStcd(), qOther, vSum.doubleValue(), Rsum.doubleValue(), lastRArr);
+ forecastPa.getPa().doubleValue(), PList, u, attResBase.getStcd(), qOther, vSum.doubleValue(), Rsum.doubleValue(), lastRArr);
map.put("out res" + k, forecastVoList);
res.add(map);
if (CollectionUtils.isNotEmpty(forecastVoList)) {
@@ -718,24 +711,24 @@ public class ForecastResultsService extends ServiceImpl zvarlBS, ForecastResultVo resultVo, BigDecimal rz){
- if(CollectionUtils.isNotEmpty(zvarlBS)){
+ private void calculateCap(List zvarlBS, ForecastResultVo resultVo, BigDecimal rz) {
+ if (CollectionUtils.isNotEmpty(zvarlBS)) {
BigDecimal maxRz = zvarlBS.stream().max(Comparator.comparing(StZvarlB::getRz)).get().getRz();
BigDecimal minRz = zvarlBS.stream().min(Comparator.comparing(StZvarlB::getRz)).get().getRz();
- if(rz.compareTo(minRz) < 0 || rz.compareTo(maxRz) > 0){
+ if (rz.compareTo(minRz) < 0 || rz.compareTo(maxRz) > 0) {
return;
}
Map stZvalMap = zvarlBS.stream().collect(Collectors.toMap(StZvarlB::getRz, StZvarlB::getW, (existing, replacement) -> existing));
List list = zvarlBS.stream().map(StZvarlB::getRz).sorted().collect(Collectors.toList());
- resultVo.setNowCap(DataHandleUtil.calcData(rz,stZvalMap,list));
+ resultVo.setNowCap(DataHandleUtil.calcData(rz, stZvalMap, list));
}
}
@@ -767,7 +760,7 @@ public class ForecastResultsService extends ServiceImpl gribList = forecastService.getGribData(tm, false);
- if(CollectionUtils.isEmpty(gribList)){
+ if (CollectionUtils.isEmpty(gribList)) {
return pptnRFutureList;
}
//24小时每个网格的总量
@@ -800,9 +793,9 @@ public class ForecastResultsService extends ServiceImpl
* @auther: cxw
*/
@@ -857,13 +850,13 @@ public class ForecastResultsService extends ServiceImpl
* @auther: cxw
*/
@@ -889,7 +882,7 @@ public class ForecastResultsService extends ServiceImpl= 0 && !isHaveFuturePPtn){
+ if (dataTm.compareTo(nowHourTime) >= 0 && !isHaveFuturePPtn) {
break;
}
// 时间加1小时,得到应该拆数据的时间,后面往前推
@@ -928,7 +921,7 @@ public class ForecastResultsService extends ServiceImpl
+ * @description: 将两个时间按照早八点分割成多段
+ * @return: java.util.List
* @auther: cxw
*/
public static List splitByDay8To8(Date startDate, Date endDate) {
@@ -1014,21 +1007,21 @@ public class ForecastResultsService extends ServiceImpl paramMap = forecastUseparamService.getMap(new QueryWrapper().eq("param_code", "dt"));
- if(paramMap != null){
+ if (paramMap != null) {
BigDecimal dt = new BigDecimal(paramMap.get("param_value").toString());// 时间间隔:小时h
BigDecimal ycMaxSwH = BigDecimal.ZERO;// 预报最高调洪水位
BigDecimal ycMaxRkQ = BigDecimal.ZERO;// 预报最大入库流量
BigDecimal ycMaxCkQ = BigDecimal.ZERO;// 预报最大下泄流量
BigDecimal ycSumRkQ = BigDecimal.ZERO;// 预报入库流量累计和
- for (ForecastResultVo vo : forecastProject.getVoList()){
+ for (ForecastResultVo vo : forecastProject.getVoList()) {
BigDecimal ycSwHValue = vo.getYcSwHValue();
if (ycSwHValue.compareTo(ycMaxSwH) > 0) {
ycMaxSwH = ycSwHValue;
@@ -1056,7 +1049,7 @@ public class ForecastResultsService extends ServiceImpl 0 || dh.compareTo(BigDecimal.valueOf(y2 - y1)) > 0){
+ if (dw.compareTo(BigDecimal.valueOf(x2 - x1)) > 0 || dh.compareTo(BigDecimal.valueOf(y2 - y1)) > 0) {
throw new IllegalArgumentException("Geom参数区域范围不足预测降雨网格最小单位!!!");
}
// 校验数据是否在最大允许范围(预测降雨所划定区域)
diff --git a/src/main/java/com/gunshi/project/hsz/service/RainBasinDivisionService.java b/src/main/java/com/gunshi/project/hsz/service/RainBasinDivisionService.java
index 9b4be9c..460e4b9 100644
--- a/src/main/java/com/gunshi/project/hsz/service/RainBasinDivisionService.java
+++ b/src/main/java/com/gunshi/project/hsz/service/RainBasinDivisionService.java
@@ -9,7 +9,6 @@ import com.gunshi.project.hsz.mapper.RealRainMapper;
import com.gunshi.project.hsz.mapper.StPptnRMapper;
import com.gunshi.project.hsz.model.StPptnRD;
import com.gunshi.project.hsz.model.StPptnRReal;
-import com.gunshi.project.hsz.model.StStbprpBAutoDao;
import jakarta.annotation.Resource;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
@@ -43,7 +42,7 @@ public class RainBasinDivisionService {
private StPptnRMapper stPptnRMapper;
@Resource
- private StStbprpBAutoDao stStbprpBAutoDao;
+ private StStbprpBService stStbprpBAutoDao;
/**
* 根据测站编码查询时间段内每小时的雨量
diff --git a/src/main/java/com/gunshi/project/hsz/service/ResBriefRService.java b/src/main/java/com/gunshi/project/hsz/service/ResBriefRService.java
index 1a6e961..6a7e338 100644
--- a/src/main/java/com/gunshi/project/hsz/service/ResBriefRService.java
+++ b/src/main/java/com/gunshi/project/hsz/service/ResBriefRService.java
@@ -5,7 +5,7 @@ import com.gunshi.project.hsz.entity.vo.ResBriefVo;
import com.gunshi.project.hsz.model.AttResBase;
import com.gunshi.project.hsz.model.ResBriefR;
import com.gunshi.project.hsz.model.StPptnR;
-import com.gunshi.project.hsz.model.StStbprpB;
+import com.gunshi.project.hsz.common.model.StStbprpB;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.EnableScheduling;
diff --git a/src/main/java/com/gunshi/project/hsz/service/ReservoirWaterService.java b/src/main/java/com/gunshi/project/hsz/service/ReservoirWaterService.java
index 177b61e..79205c0 100644
--- a/src/main/java/com/gunshi/project/hsz/service/ReservoirWaterService.java
+++ b/src/main/java/com/gunshi/project/hsz/service/ReservoirWaterService.java
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.gunshi.project.hsz.common.model.StStbprpB;
import com.gunshi.project.hsz.entity.so.DataQueryCommonSo;
import com.gunshi.project.hsz.entity.so.PicQuerySo;
import com.gunshi.project.hsz.entity.so.ReservoirWaterCommonSo;
diff --git a/src/main/java/com/gunshi/project/hsz/service/StFlowRService.java b/src/main/java/com/gunshi/project/hsz/service/StFlowRService.java
index 4068fe9..a9cd3c5 100644
--- a/src/main/java/com/gunshi/project/hsz/service/StFlowRService.java
+++ b/src/main/java/com/gunshi/project/hsz/service/StFlowRService.java
@@ -3,9 +3,12 @@ package com.gunshi.project.hsz.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.gunshi.project.hsz.mapper.StFlowRMapper;
-import com.gunshi.project.hsz.model.StFlowR;
+import com.gunshi.project.hsz.common.mapper.StFlowRMapper;
+import com.gunshi.project.hsz.common.model.StFlowR;
+import com.gunshi.project.hsz.entity.vo.StFlowRVo;
+import com.gunshi.project.hsz.mapper.StFlowRVoMapper;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -17,24 +20,26 @@ import java.util.List;
@Transactional(rollbackFor = Exception.class)
public class StFlowRService extends ServiceImpl {
+ @Autowired
+ private StFlowRVoMapper voMapper;
+
public StFlowR getNewDataByStcd(String stcd) {
LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(StFlowR::getStcd, stcd);
queryWrapper.orderByDesc(StFlowR::getTm);
queryWrapper.last("limit 1");
- StFlowR stFlowR = this.baseMapper.selectOne(queryWrapper);
- return stFlowR;
+ return baseMapper.selectOne(queryWrapper);
}
- public List listNewData() {
- return this.baseMapper.listNewData();
+ public List listNewData() {
+ return voMapper.listNewData();
}
public List getStcdList() {
- return this.baseMapper.listStcds();
+ return voMapper.listStcds();
}
- public List getDataByStcdAndTm(String stcd, Date tm) {
- return this.baseMapper.getDataByStcdAndTm(stcd,tm);
+ public List getDataByStcdAndTm(String stcd, Date tm) {
+ return voMapper.getDataByStcdAndTm(stcd, tm);
}
}
diff --git a/src/main/java/com/gunshi/project/hsz/service/StStbprpBElemService.java b/src/main/java/com/gunshi/project/hsz/service/StStbprpBElemService.java
index 9fcec27..cef27dc 100644
--- a/src/main/java/com/gunshi/project/hsz/service/StStbprpBElemService.java
+++ b/src/main/java/com/gunshi/project/hsz/service/StStbprpBElemService.java
@@ -1,8 +1,8 @@
package com.gunshi.project.hsz.service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.gunshi.project.hsz.mapper.StStbprpBElemMapper;
-import com.gunshi.project.hsz.model.StStbprpBElem;
+import com.gunshi.project.hsz.common.mapper.StStbprpBElemMapper;
+import com.gunshi.project.hsz.common.model.StStbprpBElem;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
diff --git a/src/main/java/com/gunshi/project/hsz/service/StStbprpBService.java b/src/main/java/com/gunshi/project/hsz/service/StStbprpBService.java
index 2dd29ef..cbe874a 100644
--- a/src/main/java/com/gunshi/project/hsz/service/StStbprpBService.java
+++ b/src/main/java/com/gunshi/project/hsz/service/StStbprpBService.java
@@ -4,13 +4,17 @@ import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gunshi.project.hsz.common.mapper.StStbprpBMapper;
+import com.gunshi.project.hsz.common.model.StStbprpB;
import com.gunshi.project.hsz.entity.dto.StZqrlBDto;
import com.gunshi.project.hsz.entity.so.HomeStStbprpBSo;
import com.gunshi.project.hsz.entity.vo.*;
import com.gunshi.project.hsz.mapper.OsmoticPressRMapper;
import com.gunshi.project.hsz.mapper.OsmoticShiftRMapper;
-import com.gunshi.project.hsz.mapper.StStbprpBMapper;
-import com.gunshi.project.hsz.model.*;
+import com.gunshi.project.hsz.mapper.StbprpBVoMapper;
+import com.gunshi.project.hsz.model.StRsvrR;
+import com.gunshi.project.hsz.model.StZqrlB;
+import com.gunshi.project.hsz.model.StZvarlB;
import com.gunshi.project.hsz.util.DateUtil;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
@@ -20,7 +24,6 @@ import org.springframework.transaction.annotation.Transactional;
import java.io.Serializable;
import java.math.BigDecimal;
-import java.math.RoundingMode;
import java.text.SimpleDateFormat;
import java.time.Duration;
import java.time.Instant;
@@ -55,16 +58,19 @@ public class StStbprpBService extends ServiceImpl {
@Autowired
private StRiverRService riverRService;
+ @Autowired
+ private StbprpBVoMapper stbprpBVoMapper;
+
public List rainfallStationDetailsList(HomeStStbprpBSo dto) {
- return baseMapper.rainfallStationDetailsList(dto);
+ return stbprpBVoMapper.rainfallStationDetailsList(dto);
}
public List reservoirStationDetailsList() {
- return baseMapper.reservoirStationDetailsList();
+ return stbprpBVoMapper.reservoirStationDetailsList();
}
public List flowStationDetailsList() {
- return baseMapper.flowStationDetailsList();
+ return stbprpBVoMapper.flowStationDetailsList();
}
public StStatusListVo statusList() {
@@ -74,11 +80,11 @@ public class StStbprpBService extends ServiceImpl {
List onLineList = new ArrayList<>();
List offLineList = new ArrayList<>();
//雨量站
- List rainList = baseMapper.realRainList();
+ List rainList = stbprpBVoMapper.realRainList();
//水位站
- List rzList = baseMapper.rzList();
+ List rzList = stbprpBVoMapper.rzList();
//图像站
- List imgList = baseMapper.imgList();
+ List imgList = stbprpBVoMapper.imgList();
rainList.addAll(rzList);
rainList.addAll(imgList);
rainList.stream().collect(Collectors.toMap(obj -> obj.getStcd(), obj -> obj, (obj1, obj2) ->
@@ -131,7 +137,7 @@ public class StStbprpBService extends ServiceImpl {
}
public List rainList() {
- return this.baseMapper.rainList();
+ return stbprpBVoMapper.rainList();
}
public List flowList(StZqrlBDto obj) {
@@ -170,7 +176,7 @@ public class StStbprpBService extends ServiceImpl {
vo.setWaterLevel(rz);
//溢洪流量计算
//TODO 这里水位->流量 需要计算公式
- BigDecimal q = stZqrlBService.getQByZqrl(zqrlList,rz);//根据水位计算流量
+ BigDecimal q = stZqrlBService.getQByZqrl(zqrlList, rz);//根据水位计算流量
vo.setFlowNum(q);//计算溢洪量(非累加值)
BigDecimal w = stZvarlBService.getWByZvarl(zvarlList, rz);//根据水位计算库容
vo.setBoxNum(w);
@@ -209,7 +215,7 @@ public class StStbprpBService extends ServiceImpl {
Date monthStart = calendar.getTime();
//取本年的时间 20xx-01-01 00:00:00
- calendar.set(Calendar.MONTH,0);
+ calendar.set(Calendar.MONTH, 0);
calendar.set(Calendar.DAY_OF_MONTH, 1);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
@@ -248,7 +254,7 @@ public class StStbprpBService extends ServiceImpl {
//TODO 这里需要重新计算水位-流量(溢洪量)对应数据
//BigDecimal q = stZqrlBService.getQFromZqrl(rz, zqrlList);
- BigDecimal q = stZqrlBService.getQByZqrl(zqrlList,rz);
+ BigDecimal q = stZqrlBService.getQByZqrl(zqrlList, rz);
complex.setQ(q);
// complex.setSv(complex.getQ());
if (idx == 0) {
@@ -269,7 +275,7 @@ public class StStbprpBService extends ServiceImpl {
// 今日累计溢洪量(基于时间间隔的积分)
List complexDayList = complexList.stream().filter(complex -> complex.getTm().after(dayStart)).collect(Collectors.toList());
- BigDecimal sumToday = stZqrlBService.getFlowQSum(complexDayList);
+ BigDecimal sumToday = stZqrlBService.getFlowQSum(complexDayList);
vo.setCurrDayValSum(sumToday);
@@ -280,7 +286,6 @@ public class StStbprpBService extends ServiceImpl {
vo.setCurrMonthSum(sumMonth);
-
// 当年累计溢洪量
BigDecimal sumYear = stZqrlBService.getFlowQSum(complexList);
vo.setCurrYearSum(sumYear);
@@ -312,15 +317,15 @@ public class StStbprpBService extends ServiceImpl {
int overFlowCount = 0;
boolean isOverFlow = false;
//连续的sv > 0 才算一次 溢洪
- for(int i =0;i 0){
- if(!isOverFlow){
+ if (sv.compareTo(BigDecimal.ZERO) > 0) {
+ if (!isOverFlow) {
overFlowCount++;
isOverFlow = true;
}
- }else{
- isOverFlow = false;
+ } else {
+ isOverFlow = false;
}
}
vo.setCurrYearCount(Long.valueOf(overFlowCount));
@@ -338,7 +343,7 @@ public class StStbprpBService extends ServiceImpl {
Date endTime = complexList.get(maxIndex + 1).getTm();
String period = sdf.format(startTime) + " ~ " + sdf.format(endTime);
vo.setMaxOverflowPeriod(period);
- }else{
+ } else {
Date startTime = complexList.get(maxIndex).getTm();
String period = sdf.format(startTime) + " ~ " + sdf.format(now);
vo.setMaxOverflowPeriod(period);
@@ -362,7 +367,7 @@ public class StStbprpBService extends ServiceImpl {
//获取水位-流量数据k
List zqrlBList = stZqrlBService.list();
//TODO 转换溢洪流量计算
- BigDecimal qLatest = stZqrlBService.getQByZqrl(zqrlBList,rzLatest);
+ BigDecimal qLatest = stZqrlBService.getQByZqrl(zqrlBList, rzLatest);
//BigDecimal qLatest = stZqrlBService.getQFromZqrl(rzLatest);
vo.setCurrWaterLevel(rzLatest);
vo.setFlowNum(qLatest);//当前溢洪量 就为 流量
diff --git a/src/main/java/com/gunshi/project/hsz/timetask/PaDataTask.java b/src/main/java/com/gunshi/project/hsz/timetask/PaDataTask.java
index a2dd40a..5dee3a6 100644
--- a/src/main/java/com/gunshi/project/hsz/timetask/PaDataTask.java
+++ b/src/main/java/com/gunshi/project/hsz/timetask/PaDataTask.java
@@ -9,7 +9,7 @@ import com.gunshi.project.hsz.model.ForecastK;
import com.gunshi.project.hsz.model.ForecastPa;
import com.gunshi.project.hsz.model.ForecastUseparam;
import com.gunshi.project.hsz.model.StPptnR;
-import com.gunshi.project.hsz.model.StStbprpB;
+import com.gunshi.project.hsz.common.model.StStbprpB;
import com.gunshi.project.hsz.service.AttResBaseService;
import com.gunshi.project.hsz.service.ForecastKService;
import com.gunshi.project.hsz.service.ForecastPaService;
diff --git a/src/main/java/com/gunshi/project/hsz/timetask/StWaterDataTask.java b/src/main/java/com/gunshi/project/hsz/timetask/StWaterDataTask.java
index 711f1ed..6d6c9ca 100644
--- a/src/main/java/com/gunshi/project/hsz/timetask/StWaterDataTask.java
+++ b/src/main/java/com/gunshi/project/hsz/timetask/StWaterDataTask.java
@@ -1,7 +1,7 @@
package com.gunshi.project.hsz.timetask;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.gunshi.project.hsz.model.StFlowR;
+import com.gunshi.project.hsz.entity.vo.StFlowRVo;
import com.gunshi.project.hsz.model.StWaterR;
import com.gunshi.project.hsz.model.StWaterRReal;
import com.gunshi.project.hsz.model.StWaterRReorganize;
@@ -55,7 +55,7 @@ public class StWaterDataTask {
StWaterR firstData = stWaterRService.selectNewDataByStcd(stcd);
if(firstData == null) {
//取全部数据
- List queryData = stFlowRService.getDataByStcdAndTm(stcd, null);
+ List queryData = stFlowRService.getDataByStcdAndTm(stcd, null);
for (int i = 0; i < queryData.size(); i++) {
StWaterR entity = new StWaterR();
entity.setStcd(stcd);
@@ -86,7 +86,7 @@ public class StWaterDataTask {
boolean flag = stWaterRRealService.getBaseMapper().insertOrUpdate(stWaterRReal);
}
}else{
- List queryData = stFlowRService.getDataByStcdAndTm(stcd,firstData.getTm());
+ List queryData = stFlowRService.getDataByStcdAndTm(stcd, firstData.getTm());
for (int i = 0; i < queryData.size(); i++) {
StWaterR entity = new StWaterR();
entity.setStcd(stcd);
diff --git a/src/main/resources/mapper/AttCctvBaseMapper.xml b/src/main/resources/mapper/AttCctvBaseMapper.xml
deleted file mode 100644
index 8c2b4b9..0000000
--- a/src/main/resources/mapper/AttCctvBaseMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/AttDamBaseMapper.xml b/src/main/resources/mapper/AttDamBaseMapper.xml
deleted file mode 100644
index 0aa41d0..0000000
--- a/src/main/resources/mapper/AttDamBaseMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/AttDamProfileMapper.xml b/src/main/resources/mapper/AttDamProfileMapper.xml
deleted file mode 100644
index f89dc90..0000000
--- a/src/main/resources/mapper/AttDamProfileMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/AttGateValveMapper.xml b/src/main/resources/mapper/AttGateValveMapper.xml
deleted file mode 100644
index a587d69..0000000
--- a/src/main/resources/mapper/AttGateValveMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/AttMeaWeirMapper.xml b/src/main/resources/mapper/AttMeaWeirMapper.xml
deleted file mode 100644
index 82cf26b..0000000
--- a/src/main/resources/mapper/AttMeaWeirMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/AttResBaseMapper.xml b/src/main/resources/mapper/AttResBaseMapper.xml
deleted file mode 100644
index 803f908..0000000
--- a/src/main/resources/mapper/AttResBaseMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/AttSpillwayBaseMapper.xml b/src/main/resources/mapper/AttSpillwayBaseMapper.xml
deleted file mode 100644
index ddd42ca..0000000
--- a/src/main/resources/mapper/AttSpillwayBaseMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/AttWaterItemMapper.xml b/src/main/resources/mapper/AttWaterItemMapper.xml
deleted file mode 100644
index 190d88b..0000000
--- a/src/main/resources/mapper/AttWaterItemMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/CctvBMenuMapper.xml b/src/main/resources/mapper/CctvBMenuMapper.xml
deleted file mode 100644
index 030e6e2..0000000
--- a/src/main/resources/mapper/CctvBMenuMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/FileAssociationsMapper.xml b/src/main/resources/mapper/FileAssociationsMapper.xml
deleted file mode 100644
index 75d5bb1..0000000
--- a/src/main/resources/mapper/FileAssociationsMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/ForecastKMapper.xml b/src/main/resources/mapper/ForecastKMapper.xml
deleted file mode 100644
index c4068f3..0000000
--- a/src/main/resources/mapper/ForecastKMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/ForecastPPaRMapper.xml b/src/main/resources/mapper/ForecastPPaRMapper.xml
deleted file mode 100644
index 5938bf1..0000000
--- a/src/main/resources/mapper/ForecastPPaRMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/ForecastPaMapper.xml b/src/main/resources/mapper/ForecastPaMapper.xml
deleted file mode 100644
index c4a4a41..0000000
--- a/src/main/resources/mapper/ForecastPaMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/ForecastProjectMapper.xml b/src/main/resources/mapper/ForecastProjectMapper.xml
deleted file mode 100644
index 8e8ad13..0000000
--- a/src/main/resources/mapper/ForecastProjectMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/ForecastResultsMapper.xml b/src/main/resources/mapper/ForecastResultsMapper.xml
deleted file mode 100644
index 631bb67..0000000
--- a/src/main/resources/mapper/ForecastResultsMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/ForecastTaskMapper.xml b/src/main/resources/mapper/ForecastTaskMapper.xml
deleted file mode 100644
index 4c76f9f..0000000
--- a/src/main/resources/mapper/ForecastTaskMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/ForecastUMapper.xml b/src/main/resources/mapper/ForecastUMapper.xml
deleted file mode 100644
index 05b2f79..0000000
--- a/src/main/resources/mapper/ForecastUMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/ForecastUseparamMapper.xml b/src/main/resources/mapper/ForecastUseparamMapper.xml
deleted file mode 100644
index bed48b0..0000000
--- a/src/main/resources/mapper/ForecastUseparamMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/GateValveCctvRelMapper.xml b/src/main/resources/mapper/GateValveCctvRelMapper.xml
deleted file mode 100644
index fb94d97..0000000
--- a/src/main/resources/mapper/GateValveCctvRelMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/GateValveRMapper.xml b/src/main/resources/mapper/GateValveRMapper.xml
deleted file mode 100644
index e996b31..0000000
--- a/src/main/resources/mapper/GateValveRMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/GateValveRealMapper.xml b/src/main/resources/mapper/GateValveRealMapper.xml
deleted file mode 100644
index 79b0790..0000000
--- a/src/main/resources/mapper/GateValveRealMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/IaCBsnssinfoMapper.xml b/src/main/resources/mapper/IaCBsnssinfoMapper.xml
deleted file mode 100644
index 42d9912..0000000
--- a/src/main/resources/mapper/IaCBsnssinfoMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/IaCDanadMapper.xml b/src/main/resources/mapper/IaCDanadMapper.xml
deleted file mode 100644
index f75ae4c..0000000
--- a/src/main/resources/mapper/IaCDanadMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/IaCFlrvvlgMapper.xml b/src/main/resources/mapper/IaCFlrvvlgMapper.xml
deleted file mode 100644
index f983049..0000000
--- a/src/main/resources/mapper/IaCFlrvvlgMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/OsmoticFlowDeviceMapper.xml b/src/main/resources/mapper/OsmoticFlowDeviceMapper.xml
deleted file mode 100644
index 506ad07..0000000
--- a/src/main/resources/mapper/OsmoticFlowDeviceMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/OsmoticFlowRMapper.xml b/src/main/resources/mapper/OsmoticFlowRMapper.xml
deleted file mode 100644
index 14453d0..0000000
--- a/src/main/resources/mapper/OsmoticFlowRMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/OsmoticPressDeviceMapper.xml b/src/main/resources/mapper/OsmoticPressDeviceMapper.xml
deleted file mode 100644
index 20ec812..0000000
--- a/src/main/resources/mapper/OsmoticPressDeviceMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/OsmoticPressRMapper.xml b/src/main/resources/mapper/OsmoticPressRMapper.xml
deleted file mode 100644
index dee9aa1..0000000
--- a/src/main/resources/mapper/OsmoticPressRMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/OsmoticShiftRMapper.xml b/src/main/resources/mapper/OsmoticShiftRMapper.xml
deleted file mode 100644
index cebd698..0000000
--- a/src/main/resources/mapper/OsmoticShiftRMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/OsmoticWarnRMapper.xml b/src/main/resources/mapper/OsmoticWarnRMapper.xml
deleted file mode 100644
index 7677963..0000000
--- a/src/main/resources/mapper/OsmoticWarnRMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/OsmoticWarnRuleMapper.xml b/src/main/resources/mapper/OsmoticWarnRuleMapper.xml
deleted file mode 100644
index 0240e24..0000000
--- a/src/main/resources/mapper/OsmoticWarnRuleMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/OsmoticWaterRMapper.xml b/src/main/resources/mapper/OsmoticWaterRMapper.xml
deleted file mode 100644
index af583d3..0000000
--- a/src/main/resources/mapper/OsmoticWaterRMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/OsmoticWaterRuleMapper.xml b/src/main/resources/mapper/OsmoticWaterRuleMapper.xml
deleted file mode 100644
index fe743db..0000000
--- a/src/main/resources/mapper/OsmoticWaterRuleMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/PersonnelPlanLogMapper.xml b/src/main/resources/mapper/PersonnelPlanLogMapper.xml
deleted file mode 100644
index f45fd70..0000000
--- a/src/main/resources/mapper/PersonnelPlanLogMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/PersonnelPlanMapper.xml b/src/main/resources/mapper/PersonnelPlanMapper.xml
deleted file mode 100644
index 85ba395..0000000
--- a/src/main/resources/mapper/PersonnelPlanMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/PrePlaceMapper.xml b/src/main/resources/mapper/PrePlaceMapper.xml
deleted file mode 100644
index f42042e..0000000
--- a/src/main/resources/mapper/PrePlaceMapper.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/src/main/resources/mapper/ResMangUnitMapper.xml b/src/main/resources/mapper/ResMangUnitMapper.xml
deleted file mode 100644
index 522f47f..0000000
--- a/src/main/resources/mapper/ResMangUnitMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/ResMonthEcoFlowMapper.xml b/src/main/resources/mapper/ResMonthEcoFlowMapper.xml
deleted file mode 100644
index 9eead96..0000000
--- a/src/main/resources/mapper/ResMonthEcoFlowMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/ResPersonMapper.xml b/src/main/resources/mapper/ResPersonMapper.xml
deleted file mode 100644
index 5f26766..0000000
--- a/src/main/resources/mapper/ResPersonMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/ResPlanBMapper.xml b/src/main/resources/mapper/ResPlanBMapper.xml
deleted file mode 100644
index 411e1e6..0000000
--- a/src/main/resources/mapper/ResPlanBMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/ResProjectImgMapper.xml b/src/main/resources/mapper/ResProjectImgMapper.xml
deleted file mode 100644
index 4f8bdb1..0000000
--- a/src/main/resources/mapper/ResProjectImgMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/ResSafePersonBMapper.xml b/src/main/resources/mapper/ResSafePersonBMapper.xml
deleted file mode 100644
index 123dbae..0000000
--- a/src/main/resources/mapper/ResSafePersonBMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/RescueTeamBMapper.xml b/src/main/resources/mapper/RescueTeamBMapper.xml
deleted file mode 100644
index abf4acf..0000000
--- a/src/main/resources/mapper/RescueTeamBMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/RescueTeamDetailMapper.xml b/src/main/resources/mapper/RescueTeamDetailMapper.xml
deleted file mode 100644
index 192924c..0000000
--- a/src/main/resources/mapper/RescueTeamDetailMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/RescueTeamFileMapper.xml b/src/main/resources/mapper/RescueTeamFileMapper.xml
deleted file mode 100644
index 8962672..0000000
--- a/src/main/resources/mapper/RescueTeamFileMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/ShpPlacementMapper.xml b/src/main/resources/mapper/ShpPlacementMapper.xml
deleted file mode 100644
index 93a511c..0000000
--- a/src/main/resources/mapper/ShpPlacementMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/StAddvcdDMapper.xml b/src/main/resources/mapper/StAddvcdDMapper.xml
deleted file mode 100644
index 7b7f0ff..0000000
--- a/src/main/resources/mapper/StAddvcdDMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/StImgRMapper.xml b/src/main/resources/mapper/StImgRMapper.xml
deleted file mode 100644
index 786c7ad..0000000
--- a/src/main/resources/mapper/StImgRMapper.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
diff --git a/src/main/resources/mapper/StImgRRealMapper.xml b/src/main/resources/mapper/StImgRRealMapper.xml
deleted file mode 100644
index f201f0a..0000000
--- a/src/main/resources/mapper/StImgRRealMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/StImgWarnRMapper.xml b/src/main/resources/mapper/StImgWarnRMapper.xml
deleted file mode 100644
index 044fadd..0000000
--- a/src/main/resources/mapper/StImgWarnRMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/StQxWarnRMapper.xml b/src/main/resources/mapper/StQxWarnRMapper.xml
deleted file mode 100644
index d2a1683..0000000
--- a/src/main/resources/mapper/StQxWarnRMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/StRiverRMapper.xml b/src/main/resources/mapper/StRiverRMapper.xml
deleted file mode 100644
index c6f3ec8..0000000
--- a/src/main/resources/mapper/StRiverRMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/StRiverRRealMapper.xml b/src/main/resources/mapper/StRiverRRealMapper.xml
deleted file mode 100644
index ca46dc6..0000000
--- a/src/main/resources/mapper/StRiverRRealMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/StRsvrRRealMapper.xml b/src/main/resources/mapper/StRsvrRRealMapper.xml
deleted file mode 100644
index 791a5d3..0000000
--- a/src/main/resources/mapper/StRsvrRRealMapper.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/src/main/resources/mapper/StWaterRMapper.xml b/src/main/resources/mapper/StWaterRMapper.xml
deleted file mode 100644
index 8d37301..0000000
--- a/src/main/resources/mapper/StWaterRMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/StZqrlBMapper.xml b/src/main/resources/mapper/StZqrlBMapper.xml
deleted file mode 100644
index dd55f1a..0000000
--- a/src/main/resources/mapper/StZqrlBMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/StZvarlBMapper.xml b/src/main/resources/mapper/StZvarlBMapper.xml
deleted file mode 100644
index 7810096..0000000
--- a/src/main/resources/mapper/StZvarlBMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/SysDictBMapper.xml b/src/main/resources/mapper/SysDictBMapper.xml
deleted file mode 100644
index b677656..0000000
--- a/src/main/resources/mapper/SysDictBMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/SysUserLoginLogMapper.xml b/src/main/resources/mapper/SysUserLoginLogMapper.xml
deleted file mode 100644
index 7d18ef1..0000000
--- a/src/main/resources/mapper/SysUserLoginLogMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/resources/mapper/SysVisitMenuLogMapper.xml b/src/main/resources/mapper/SysVisitMenuLogMapper.xml
deleted file mode 100644
index 728220b..0000000
--- a/src/main/resources/mapper/SysVisitMenuLogMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/resources/mapper/SzCaseMapper.xml b/src/main/resources/mapper/SzCaseMapper.xml
deleted file mode 100644
index 2720918..0000000
--- a/src/main/resources/mapper/SzCaseMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/SzRegulatoryFrameworkMapper.xml b/src/main/resources/mapper/SzRegulatoryFrameworkMapper.xml
deleted file mode 100644
index a5567bc..0000000
--- a/src/main/resources/mapper/SzRegulatoryFrameworkMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/SzRuleByLawMapper.xml b/src/main/resources/mapper/SzRuleByLawMapper.xml
deleted file mode 100644
index 6b18825..0000000
--- a/src/main/resources/mapper/SzRuleByLawMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/mapper/TyYearRainfallMapper.xml b/src/main/resources/mapper/TyYearRainfallMapper.xml
deleted file mode 100644
index 36a2477..0000000
--- a/src/main/resources/mapper/TyYearRainfallMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-