100 changed files with 9103 additions and 234 deletions
Binary file not shown.
@ -0,0 +1,23 @@
@@ -0,0 +1,23 @@
|
||||
package com.ruoyi.swlscx.basic.domain.po; |
||||
|
||||
import lombok.Data; |
||||
|
||||
/** |
||||
* @Author al |
||||
* @Date 2025/6/8 14:56 |
||||
* @Description: TODO |
||||
* @Version |
||||
*/ |
||||
@Data |
||||
public class FzTableId { |
||||
|
||||
private String stcd; |
||||
|
||||
private Integer yr; |
||||
|
||||
private String rtno; |
||||
|
||||
private String yn; |
||||
|
||||
|
||||
} |
@ -0,0 +1,23 @@
@@ -0,0 +1,23 @@
|
||||
|
||||
package com.ruoyi.swlscx.basic.domain.po; |
||||
|
||||
import lombok.Data; |
||||
|
||||
import java.math.BigDecimal; |
||||
|
||||
/** |
||||
* @Author al |
||||
* @Date 2025/6/7 22:06 |
||||
* @Description: TODO |
||||
* @Version |
||||
*/ |
||||
@Data |
||||
public class HyWfdzF |
||||
{ |
||||
private String stcd; |
||||
private BigDecimal yr; |
||||
private BigDecimal wf; |
||||
private BigDecimal rfz; |
||||
private String rzrcd; |
||||
|
||||
} |
@ -0,0 +1,20 @@
@@ -0,0 +1,20 @@
|
||||
package com.ruoyi.swlscx.basic.domain.po; |
||||
|
||||
import lombok.Data; |
||||
|
||||
/** |
||||
* @Author al |
||||
* @Date 2025/6/7 22:06 |
||||
* @Description: TODO |
||||
* @Version |
||||
*/ |
||||
@Data |
||||
public class YcShdpInfo |
||||
{ |
||||
private Integer tableId; |
||||
private String name; |
||||
private String tableName; |
||||
|
||||
private String yn; |
||||
|
||||
} |
@ -0,0 +1,23 @@
@@ -0,0 +1,23 @@
|
||||
package com.ruoyi.swlscx.basic.domain.ro; |
||||
|
||||
import lombok.Data; |
||||
|
||||
/** |
||||
* @Author al |
||||
* @Date 2025/6/7 21:40 |
||||
* @Description: TODO |
||||
* @Version |
||||
*/ |
||||
@Data |
||||
public class FormDataRo { |
||||
private String sqlseverIp; |
||||
private String userName; |
||||
private String password; |
||||
private String dataBase; |
||||
private String startTime; |
||||
private String endTime; |
||||
private String stcds; |
||||
private String softTypeValue; |
||||
private String stationTypeValue; |
||||
private String ids; |
||||
} |
@ -0,0 +1,46 @@
@@ -0,0 +1,46 @@
|
||||
package com.ruoyi.swlscx.basic.domain.rowMapper; |
||||
|
||||
import com.ruoyi.swlscx.year.domain.po.HyDmxpF; |
||||
import com.ruoyi.swlscx.year.domain.po.HyYrpF; |
||||
import org.springframework.jdbc.core.RowMapper; |
||||
|
||||
import java.sql.ResultSet; |
||||
import java.sql.SQLException; |
||||
import java.util.Date; |
||||
|
||||
/** |
||||
* @Author al |
||||
* @Date 2025/6/20 0:01 |
||||
* @Description: TODO |
||||
* @Version |
||||
*/ |
||||
public class HyDmxpFRowMapper implements RowMapper<HyDmxpF> { |
||||
|
||||
@Override |
||||
public HyDmxpF mapRow(ResultSet rs, int rowNum) throws SQLException { |
||||
HyDmxpF hyDmxpF = new HyDmxpF(); |
||||
|
||||
// 映射基础字段
|
||||
hyDmxpF.setStcd(rs.getString("stcd")); // 站码[7](@ref)
|
||||
hyDmxpF.setMxpdr(rs.getInt("mxpdr")); // 最大降水量时段长
|
||||
hyDmxpF.setYr(rs.getInt("yr")); // 年[7](@ref)
|
||||
|
||||
// 映射数值字段(BigDecimal类型)
|
||||
hyDmxpF.setMxp(rs.getBigDecimal("mxp")); // 最大降水量[6](@ref)
|
||||
hyDmxpF.setMxprc(rs.getString("mxprc")); // 注解码[7](@ref)
|
||||
|
||||
// 安全处理日期字段(避免空指针)
|
||||
mapNullableDate(rs, "bgdt", hyDmxpF::setBgdt); // 起始日期[6](@ref)
|
||||
|
||||
return hyDmxpF; |
||||
} |
||||
|
||||
// 辅助方法:安全处理日期空值
|
||||
private void mapNullableDate(ResultSet rs, String column, java.util.function.Consumer<Date> setter) |
||||
throws SQLException { |
||||
java.sql.Date sqlDate = rs.getDate(column); |
||||
if (sqlDate != null && !rs.wasNull()) { // 双重空值检查[6](@ref)
|
||||
setter.accept(new Date(sqlDate.getTime())); // 转换为java.util.Date[6](@ref)
|
||||
} |
||||
} |
||||
} |
@ -0,0 +1,37 @@
@@ -0,0 +1,37 @@
|
||||
package com.ruoyi.swlscx.basic.domain.rowMapper; |
||||
|
||||
import com.ruoyi.swlscx.day.domain.po.HyDpC; |
||||
import org.springframework.jdbc.core.RowMapper; |
||||
|
||||
import java.sql.ResultSet; |
||||
import java.sql.SQLException; |
||||
import java.util.Date; |
||||
|
||||
/** |
||||
* @Author al |
||||
* @Date 2025/6/20 15:15 |
||||
* @Description: TODO |
||||
* @Version |
||||
*/ |
||||
public class HyDpCRowMapper implements RowMapper<HyDpC> { |
||||
|
||||
@Override |
||||
public HyDpC mapRow(ResultSet rs, int rowNum) throws SQLException { |
||||
HyDpC hyDpC = new HyDpC(); |
||||
|
||||
// 字符串类型字段(主键+普通字段)
|
||||
hyDpC.setStcd(rs.getString("stcd")); // 站码
|
||||
hyDpC.setPrcd(rs.getString("prcd")); // 降水量注解码
|
||||
|
||||
// 日期类型字段(需转换java.sql.Date → java.util.Date)
|
||||
java.sql.Date sqlDate = rs.getDate("dt"); |
||||
if (sqlDate != null) { |
||||
hyDpC.setDt(new Date(sqlDate.getTime())); // 日期
|
||||
} |
||||
|
||||
// 数值类型字段(BigDecimal精确处理)
|
||||
hyDpC.setP(rs.getBigDecimal("p")); // 降水量(毫米)
|
||||
|
||||
return hyDpC; |
||||
} |
||||
} |
@ -0,0 +1,44 @@
@@ -0,0 +1,44 @@
|
||||
package com.ruoyi.swlscx.basic.domain.rowMapper; |
||||
|
||||
import com.ruoyi.swlscx.day.domain.po.HyDpC; |
||||
import com.ruoyi.swlscx.day.domain.po.HyDqC; |
||||
import org.springframework.jdbc.core.RowMapper; |
||||
|
||||
import java.math.BigDecimal; |
||||
import java.sql.ResultSet; |
||||
import java.sql.SQLException; |
||||
import java.sql.Timestamp; |
||||
import java.util.Date; |
||||
|
||||
/** |
||||
* @Author al |
||||
* @Date 2025/6/20 15:15 |
||||
* @Description: TODO |
||||
* @Version |
||||
*/ |
||||
public class HyDqCRowMapper implements RowMapper<HyDqC> { |
||||
|
||||
@Override |
||||
public HyDqC mapRow(ResultSet rs, int rowNum) throws SQLException { |
||||
HyDqC entity = new HyDqC(); |
||||
|
||||
// 1. 站码(空值安全处理)
|
||||
entity.setStcd(rs.getString("stcd") != null ? rs.getString("stcd") : ""); |
||||
|
||||
// 2. 日期(精确到毫秒的时间戳处理)
|
||||
Timestamp dtTimestamp = rs.getTimestamp("dt"); |
||||
if (dtTimestamp != null) { |
||||
entity.setDt(new Date(dtTimestamp.getTime())); |
||||
} |
||||
|
||||
// 3. 平均流量(保留NULL语义)
|
||||
BigDecimal avq = rs.getBigDecimal("avq"); |
||||
entity.setAvq(avq); // 保留NULL表示数据缺失
|
||||
|
||||
// 4. 平均流量注解码(空值安全处理)
|
||||
String avqrcd = rs.getString("avqrcd"); |
||||
entity.setAvqrcd(avqrcd != null ? avqrcd : ""); // NULL → 空字符串
|
||||
|
||||
return entity; |
||||
} |
||||
} |
@ -0,0 +1,46 @@
@@ -0,0 +1,46 @@
|
||||
|
||||
package com.ruoyi.swlscx.basic.domain.rowMapper; |
||||
|
||||
import com.ruoyi.swlscx.day.domain.po.HyDzC; |
||||
import com.ruoyi.swlscx.excerpt.domain.po.HyPrexB; |
||||
import org.springframework.jdbc.core.RowMapper; |
||||
|
||||
import java.math.BigDecimal; |
||||
import java.sql.ResultSet; |
||||
import java.sql.SQLException; |
||||
import java.sql.Timestamp; |
||||
import java.util.Date; |
||||
|
||||
/** |
||||
* @Author al |
||||
* @Date 2025/6/20 0:01 |
||||
* @Description: TODO |
||||
* @Version |
||||
*/ |
||||
public class HyDzCRowMapper implements RowMapper<HyDzC> { |
||||
|
||||
|
||||
@Override |
||||
public HyDzC mapRow(ResultSet rs, int rowNum) throws SQLException { |
||||
HyDzC hyDzC = new HyDzC(); |
||||
|
||||
// 1. 站码(字符串)
|
||||
hyDzC.setStcd(rs.getString("stcd")); |
||||
|
||||
// 2. 日期(带空值检查)
|
||||
Timestamp dtTimestamp = rs.getTimestamp("dt"); |
||||
if (dtTimestamp != null) { |
||||
hyDzC.setDt(new Date(dtTimestamp.getTime())); // SQL Timestamp → Java Date
|
||||
} |
||||
|
||||
// 3. 平均水位(精确数值)
|
||||
BigDecimal avz = rs.getBigDecimal("avz"); |
||||
hyDzC.setAvz(avz != null ? avz : BigDecimal.ZERO); // NULL 转为 0.00
|
||||
|
||||
// 4. 注解码(空值安全处理)
|
||||
String avzrcd = rs.getString("avzrcd"); |
||||
hyDzC.setAvzrcd(avzrcd != null ? avzrcd : ""); // NULL 转空字符串
|
||||
|
||||
return hyDzC; |
||||
} |
||||
} |
@ -0,0 +1,64 @@
@@ -0,0 +1,64 @@
|
||||
package com.ruoyi.swlscx.basic.domain.rowMapper; |
||||
|
||||
import com.ruoyi.swlscx.excerpt.domain.po.HyHltdzB; |
||||
import org.springframework.jdbc.core.RowMapper; |
||||
|
||||
import java.math.BigDecimal; |
||||
import java.sql.ResultSet; |
||||
import java.sql.SQLException; |
||||
import java.sql.Timestamp; |
||||
import java.util.Date; |
||||
|
||||
/** |
||||
* @Author al |
||||
* @Date 2025/6/20 0:01 |
||||
* @Description: TODO |
||||
* @Version |
||||
*/ |
||||
public class HyHltdzBRowMapper implements RowMapper<HyHltdzB> { |
||||
|
||||
@Override |
||||
public HyHltdzB mapRow(ResultSet rs, int rowNum) throws SQLException { |
||||
HyHltdzB hyHltdzB = new HyHltdzB(); |
||||
|
||||
// 1. 站码(空值安全处理)
|
||||
hyHltdzB.setStcd(rs.getString("stcd") != null ? rs.getString("stcd") : ""); |
||||
|
||||
// 2. 时间(精确到毫秒的时间戳处理)
|
||||
Timestamp tmTimestamp = rs.getTimestamp("tm"); |
||||
if (tmTimestamp != null) { |
||||
hyHltdzB.setTm(new Date(tmTimestamp.getTime())); |
||||
} |
||||
|
||||
// 3. 潮别(空值安全处理)
|
||||
hyHltdzB.setTdtp(rs.getString("tdtp") != null ? rs.getString("tdtp") : ""); |
||||
|
||||
// 4. 潮位(精确数值,保留NULL语义)
|
||||
BigDecimal tdz = rs.getBigDecimal("tdz"); |
||||
hyHltdzB.setTdz(tdz); // 保持NULL表示数据缺失
|
||||
|
||||
// 5. 潮位注解码(空值安全处理)
|
||||
hyHltdzB.setTdzrcd(rs.getString("tdzrcd") != null ? rs.getString("tdzrcd") : ""); |
||||
|
||||
// 6. 潮差(精确数值,保留NULL语义)
|
||||
BigDecimal tdrng = rs.getBigDecimal("tdrng"); |
||||
hyHltdzB.setTdrng(tdrng); // 保持NULL表示数据缺失
|
||||
|
||||
// 7. 历时(空值安全处理)
|
||||
hyHltdzB.setDr(rs.getString("dr") != null ? rs.getString("dr") : ""); |
||||
|
||||
// 8. 备注(空值安全处理)
|
||||
hyHltdzB.setNt(rs.getString("nt") != null ? rs.getString("nt") : ""); |
||||
|
||||
return hyHltdzB; |
||||
} |
||||
|
||||
// 辅助方法:安全处理日期空值(已集成到主逻辑)
|
||||
private void mapNullableDate(ResultSet rs, String column, java.util.function.Consumer<Date> setter) |
||||
throws SQLException { |
||||
java.sql.Date sqlDate = rs.getDate(column); |
||||
if (sqlDate != null && !rs.wasNull()) { |
||||
setter.accept(new Date(sqlDate.getTime())); |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,59 @@
@@ -0,0 +1,59 @@
|
||||
package com.ruoyi.swlscx.basic.domain.rowMapper; |
||||
|
||||
import com.ruoyi.swlscx.day.domain.po.HyDpC; |
||||
import com.ruoyi.swlscx.year.domain.po.HyHmxpF; |
||||
import org.springframework.jdbc.core.RowMapper; |
||||
|
||||
import java.math.BigDecimal; |
||||
import java.sql.ResultSet; |
||||
import java.sql.SQLException; |
||||
import java.sql.Timestamp; |
||||
import java.util.Date; |
||||
|
||||
/** |
||||
* @Author al |
||||
* @Date 2025/6/20 15:15 |
||||
* @Description: TODO |
||||
* @Version |
||||
*/ |
||||
public class HyHmxpFRowMapper implements RowMapper<HyHmxpF> { |
||||
|
||||
@Override |
||||
public HyHmxpF mapRow(ResultSet rs, int rowNum) throws SQLException { |
||||
HyHmxpF hyHmxpF = new HyHmxpF(); |
||||
|
||||
// 映射基础字段(空值安全处理)
|
||||
hyHmxpF.setStcd(rs.getString("stcd")); // 站码
|
||||
|
||||
// 整数类型字段(处理数据库NULL值)
|
||||
setNullableInt(rs, "mxpdr", hyHmxpF::setMxpdr); // 最大降水量时段长(小时)
|
||||
setNullableInt(rs, "yr", hyHmxpF::setYr); // 年
|
||||
|
||||
// 精度数值字段
|
||||
hyHmxpF.setMxp(rs.getObject("mxp", BigDecimal.class)); // 最大降水量(毫米)
|
||||
hyHmxpF.setMxprc(rs.getString("mxprc")); // 注解码
|
||||
|
||||
// 日期时间字段(精确到秒)
|
||||
mapNullableTimestamp(rs, "bgtm", hyHmxpF::setBgtm); // 起时间
|
||||
|
||||
return hyHmxpF; |
||||
} |
||||
|
||||
// 辅助方法:安全处理整数空值
|
||||
private void setNullableInt(ResultSet rs, String column, |
||||
java.util.function.Consumer<Integer> setter) |
||||
throws SQLException { |
||||
int value = rs.getInt(column); |
||||
setter.accept(rs.wasNull() ? null : value); |
||||
} |
||||
|
||||
// 辅助方法:安全处理时间戳(精确到秒)
|
||||
private void mapNullableTimestamp(ResultSet rs, String column, |
||||
java.util.function.Consumer<Date> setter) |
||||
throws SQLException { |
||||
Timestamp timestamp = rs.getTimestamp(column); |
||||
if (timestamp != null && !rs.wasNull()) { |
||||
setter.accept(new Date(timestamp.getTime())); // 转为java.util.Date
|
||||
} |
||||
} |
||||
} |
@ -0,0 +1,67 @@
@@ -0,0 +1,67 @@
|
||||
package com.ruoyi.swlscx.basic.domain.rowMapper; |
||||
|
||||
import com.ruoyi.swlscx.day.domain.po.HyDpC; |
||||
import com.ruoyi.swlscx.year.domain.po.HyImxfwF; |
||||
import org.springframework.jdbc.core.RowMapper; |
||||
|
||||
import java.math.BigDecimal; |
||||
import java.sql.ResultSet; |
||||
import java.sql.SQLException; |
||||
import java.sql.Timestamp; |
||||
import java.util.Date; |
||||
import java.util.function.Consumer; |
||||
|
||||
/** |
||||
* @Author al |
||||
* @Date 2025/6/20 15:15 |
||||
* @Description: TODO |
||||
* @Version |
||||
*/ |
||||
public class HyImxfwFRowMapper implements RowMapper<HyImxfwF> { |
||||
|
||||
@Override |
||||
public HyImxfwF mapRow(ResultSet rs, int rowNum) throws SQLException { |
||||
HyImxfwF entity = new HyImxfwF(); |
||||
|
||||
// 基础信息映射
|
||||
entity.setStcd(handleStringNull(rs, "stcd")); // 站码(空值→空字符串)[5](@ref)
|
||||
entity.setMxwdr(handleStringNull(rs, "mxwdr")); // 洪量时段长(空值→空字符串)
|
||||
setNullableInt(rs, "yr", entity::setYr); // 年份(保留NULL语义)[5](@ref)
|
||||
|
||||
// 洪量特征数据
|
||||
mapNullableTimestamp(rs, "bgdt", entity::setBgdt); // 起始日期(精确时间戳)[4,5](@ref)
|
||||
mapBigDecimal(rs, "mxw", entity::setMxw); // 最大洪量(保留NULL)[5](@ref)
|
||||
entity.setMxwrc(handleStringNull(rs, "mxwrc")); // 洪量注解码(空值→空字符串)
|
||||
|
||||
return entity; |
||||
} |
||||
|
||||
// 辅助方法:安全处理字符串空值
|
||||
private String handleStringNull(ResultSet rs, String column) throws SQLException { |
||||
String value = rs.getString(column); |
||||
return value != null ? value : ""; // NULL → 空字符串[5](@ref)
|
||||
} |
||||
|
||||
// 辅助方法:安全处理整数空值(保留NULL语义)
|
||||
private void setNullableInt(ResultSet rs, String column, |
||||
Consumer<Integer> setter) throws SQLException { |
||||
int value = rs.getInt(column); |
||||
setter.accept(rs.wasNull() ? null : value); // 区分0值与数据缺失[1,4](@ref)
|
||||
} |
||||
|
||||
// 辅助方法:安全处理时间戳(精确到毫秒)
|
||||
private void mapNullableTimestamp(ResultSet rs, String column, |
||||
Consumer<Date> setter) throws SQLException { |
||||
Timestamp timestamp = rs.getTimestamp(column); |
||||
if (timestamp != null && !rs.wasNull()) { |
||||
setter.accept(new Date(timestamp.getTime())); // 确保时间精度[4,5](@ref)
|
||||
} |
||||
} |
||||
|
||||
// 辅助方法:安全处理BigDecimal(保留NULL语义)
|
||||
private void mapBigDecimal(ResultSet rs, String column, |
||||
Consumer<BigDecimal> setter) throws SQLException { |
||||
BigDecimal value = rs.getBigDecimal(column); |
||||
setter.accept(value); // 不转换NULL,区分真实0值与数据缺失[5](@ref)
|
||||
} |
||||
} |
@ -0,0 +1,45 @@
@@ -0,0 +1,45 @@
|
||||
package com.ruoyi.swlscx.basic.domain.rowMapper; |
||||
|
||||
import com.ruoyi.swlscx.year.domain.po.HyMmxpF; |
||||
import com.ruoyi.swlscx.year.domain.po.HyYrpF; |
||||
import org.springframework.jdbc.core.RowMapper; |
||||
|
||||
import java.sql.ResultSet; |
||||
import java.sql.SQLException; |
||||
import java.util.Date; |
||||
|
||||
/** |
||||
* @Author al |
||||
* @Date 2025/6/20 0:01 |
||||
* @Description: TODO |
||||
* @Version |
||||
*/ |
||||
public class HyMmxpFRowMapper implements RowMapper<HyMmxpF> { |
||||
|
||||
@Override |
||||
public HyMmxpF mapRow(ResultSet rs, int rowNum) throws SQLException { |
||||
HyMmxpF hyMmxpF = new HyMmxpF(); |
||||
// 映射基础字段
|
||||
hyMmxpF.setStcd(rs.getString("stcd")); // 站码
|
||||
hyMmxpF.setMxpdr(rs.getInt("mxpdr")); // 最大降水量时段长
|
||||
hyMmxpF.setYr(rs.getInt("yr")); // 年
|
||||
|
||||
// 映射精度数值字段
|
||||
hyMmxpF.setMxp(rs.getBigDecimal("mxp")); // 最大降水量
|
||||
hyMmxpF.setMxprc(rs.getString("mxprc")); // 注解码
|
||||
|
||||
// 安全处理日期字段(空值保护)
|
||||
mapNullableDate(rs, "bgtm", hyMmxpF::setBgdt); // 起时间
|
||||
|
||||
return hyMmxpF; |
||||
} |
||||
// 辅助方法:安全处理日期空值(双重检查)
|
||||
private void mapNullableDate(ResultSet rs, String column, |
||||
java.util.function.Consumer<Date> setter) |
||||
throws SQLException { |
||||
java.sql.Date sqlDate = rs.getDate(column); |
||||
if (sqlDate != null && !rs.wasNull()) { |
||||
setter.accept(new Date(sqlDate.getTime())); // 转换为java.util.Date
|
||||
} |
||||
} |
||||
} |
@ -0,0 +1,48 @@
@@ -0,0 +1,48 @@
|
||||
package com.ruoyi.swlscx.basic.domain.rowMapper; |
||||
|
||||
import com.ruoyi.swlscx.basic.domain.po.HyStscA; |
||||
import com.ruoyi.swlscx.month.domain.po.HyMtpE; |
||||
import org.springframework.jdbc.core.RowMapper; |
||||
|
||||
import java.sql.ResultSet; |
||||
import java.sql.SQLException; |
||||
import java.util.Date; |
||||
|
||||
/** |
||||
* @Author al |
||||
* @Date 2025/6/20 0:01 |
||||
* @Description: TODO |
||||
* @Version |
||||
*/ |
||||
public class HyMtpERowMapper implements RowMapper<HyMtpE> { |
||||
|
||||
@Override |
||||
public HyMtpE mapRow(ResultSet rs, int rowNum) throws SQLException { |
||||
HyMtpE hyMtpE = new HyMtpE(); |
||||
|
||||
// 映射基础字段
|
||||
hyMtpE.setStcd(rs.getString("stcd")); // 站码
|
||||
hyMtpE.setYr(rs.getInt("yr")); // 年
|
||||
hyMtpE.setMth(rs.getInt("mth")); // 月
|
||||
|
||||
// 映射降水量相关字段
|
||||
hyMtpE.setP(rs.getBigDecimal("p")); // 降水量(毫米)
|
||||
hyMtpE.setPrcd(rs.getString("prcd")); // 降水量注解码
|
||||
|
||||
// 映射降水日数字段
|
||||
hyMtpE.setPdynum(rs.getString("pdynum")); // 降水日数
|
||||
hyMtpE.setPdynumrcd(rs.getString("pdynumrcd")); // 降水日数注解码
|
||||
|
||||
// 映射最大降水量字段
|
||||
hyMtpE.setMxdyp(rs.getBigDecimal("mxdyp")); // 最大降水量(毫米)
|
||||
hyMtpE.setMxdyprcd(rs.getString("mxdyprcd")); // 最大降水量注解码
|
||||
|
||||
// 映射日期字段
|
||||
java.sql.Date sqlDate = rs.getDate("mxdypodt"); |
||||
if (sqlDate != null) { |
||||
hyMtpE.setMxdypodt(new Date(sqlDate.getTime())); // 最大日降水量出现日期
|
||||
} |
||||
|
||||
return hyMtpE; |
||||
} |
||||
} |
@ -0,0 +1,72 @@
@@ -0,0 +1,72 @@
|
||||
package com.ruoyi.swlscx.basic.domain.rowMapper; |
||||
|
||||
import com.ruoyi.swlscx.day.domain.po.HyDqC; |
||||
import com.ruoyi.swlscx.month.domain.po.HyMtqE; |
||||
import org.springframework.jdbc.core.RowMapper; |
||||
|
||||
import java.math.BigDecimal; |
||||
import java.sql.ResultSet; |
||||
import java.sql.SQLException; |
||||
import java.sql.Timestamp; |
||||
import java.util.Date; |
||||
|
||||
/** |
||||
* @Author al |
||||
* @Date 2025/6/20 15:15 |
||||
* @Description: TODO |
||||
* @Version |
||||
*/ |
||||
public class HyMtqERowMapper implements RowMapper<HyMtqE> { |
||||
|
||||
@Override |
||||
public HyMtqE mapRow(ResultSet rs, int rowNum) throws SQLException { |
||||
HyMtqE entity = new HyMtqE(); |
||||
|
||||
// 1. 基础信息映射
|
||||
entity.setStcd(rs.getString("stcd") != null ? rs.getString("stcd") : ""); // 站码(空值→空字符串)
|
||||
setNullableInt(rs, "yr", entity::setYr); // 年份(保留NULL语义)
|
||||
setNullableInt(rs, "mth", entity::setMth); // 月份(保留NULL语义)
|
||||
|
||||
// 2. 平均流量数据
|
||||
mapBigDecimal(rs, "avq", entity::setAvq); // 平均流量(保留NULL)
|
||||
entity.setAvqrcd(rs.getString("avqrcd") != null ? rs.getString("avqrcd") : ""); // 注解码
|
||||
|
||||
// 3. 最高流量数据
|
||||
mapBigDecimal(rs, "mxq", entity::setMxq); // 最高流量(保留NULL)
|
||||
entity.setMxqrcd(rs.getString("mxqrcd") != null ? rs.getString("mxqrcd") : ""); |
||||
mapNullableTimestamp(rs, "mxqdt", entity::setMxqdt); // 最高流量日期(精确时间戳)
|
||||
|
||||
// 4. 最低流量数据
|
||||
mapBigDecimal(rs, "mnq", entity::setMnq); // 最低流量(保留NULL)
|
||||
entity.setMnqrcd(rs.getString("mnqrcd") != null ? rs.getString("mnqrcd") : ""); |
||||
mapNullableTimestamp(rs, "mnqdt", entity::setMnqdt); // 最低流量日期
|
||||
|
||||
return entity; |
||||
} |
||||
|
||||
// 辅助方法:安全处理整数空值(保留NULL语义)
|
||||
private void setNullableInt(ResultSet rs, String column, |
||||
java.util.function.Consumer<Integer> setter) |
||||
throws SQLException { |
||||
int value = rs.getInt(column); |
||||
setter.accept(rs.wasNull() ? null : value); // 明确区分0值和数据缺失[3](@ref)
|
||||
} |
||||
|
||||
// 辅助方法:安全处理时间戳(精确到毫秒)
|
||||
private void mapNullableTimestamp(ResultSet rs, String column, |
||||
java.util.function.Consumer<Date> setter) |
||||
throws SQLException { |
||||
Timestamp timestamp = rs.getTimestamp(column); |
||||
if (timestamp != null && !rs.wasNull()) { |
||||
setter.accept(new Date(timestamp.getTime())); // 确保时间精度[1](@ref)
|
||||
} |
||||
} |
||||
|
||||
// 辅助方法:安全处理BigDecimal(保留NULL语义)
|
||||
private void mapBigDecimal(ResultSet rs, String column, |
||||
java.util.function.Consumer<BigDecimal> setter) |
||||
throws SQLException { |
||||
BigDecimal value = rs.getBigDecimal(column); |
||||
setter.accept(value); // 不转换NULL,区分真实0值与数据缺失[4](@ref)
|
||||
} |
||||
} |
@ -0,0 +1,126 @@
@@ -0,0 +1,126 @@
|
||||
package com.ruoyi.swlscx.basic.domain.rowMapper; |
||||
|
||||
import com.ruoyi.swlscx.month.domain.po.HyMttdzE; |
||||
import com.ruoyi.swlscx.year.domain.po.HyHmxpF; |
||||
import org.springframework.jdbc.core.RowMapper; |
||||
|
||||
import java.math.BigDecimal; |
||||
import java.sql.ResultSet; |
||||
import java.sql.SQLException; |
||||
import java.sql.Timestamp; |
||||
import java.util.Date; |
||||
|
||||
/** |
||||
* @Author al |
||||
* @Date 2025/6/20 15:15 |
||||
* @Description: TODO |
||||
* @Version |
||||
*/ |
||||
public class HyMttdzERowMapper implements RowMapper<HyMttdzE> { |
||||
|
||||
@Override |
||||
public HyMttdzE mapRow(ResultSet rs, int rowNum) throws SQLException { |
||||
HyMttdzE entity = new HyMttdzE(); |
||||
|
||||
// 基础信息映射
|
||||
entity.setStcd(rs.getString("stcd") != null ? rs.getString("stcd") : ""); |
||||
setNullableInt(rs, "yr", entity::setYr); |
||||
setNullableInt(rs, "mth", entity::setMth); |
||||
|
||||
// 高潮潮位数据
|
||||
mapBigDecimal(rs, "avhtdz", entity::setAvhtdz); |
||||
entity.setAvhtdzrcd(rs.getString("avhtdzrcd") != null ? rs.getString("avhtdzrcd") : ""); |
||||
mapBigDecimal(rs, "hthtdz", entity::setHthtdz); |
||||
entity.setHthtdzrcd(rs.getString("hthtdzrcd") != null ? rs.getString("hthtdzrcd") : ""); |
||||
mapNullableTimestamp(rs, "hthtdzotm", entity::setHthtdzotm); |
||||
mapBigDecimal(rs, "lthtdz", entity::setLthtdz); |
||||
entity.setLthtdzrcd(rs.getString("lthtdzrcd") != null ? rs.getString("lthtdzrcd") : ""); |
||||
mapNullableTimestamp(rs, "lthtdzotm", entity::setLthtdzotm); |
||||
|
||||
// 低潮潮位数据
|
||||
mapBigDecimal(rs, "avltdz", entity::setAvltdz); |
||||
entity.setAvltdzrcd(rs.getString("avltdzrcd") != null ? rs.getString("avltdzrcd") : ""); |
||||
mapBigDecimal(rs, "htltdz", entity::setHtltdz); |
||||
entity.setHtltdzrcd(rs.getString("htltdzrcd") != null ? rs.getString("htltdzrcd") : ""); |
||||
mapNullableTimestamp(rs, "htltdzotm", entity::setHtltdzotm); |
||||
mapBigDecimal(rs, "ltltdz", entity::setLtltdz); |
||||
entity.setLtltdzrcd(rs.getString("ltltdzrcd") != null ? rs.getString("ltltdzrcd") : ""); |
||||
mapNullableTimestamp(rs, "ltltdzotm", entity::setLtltdzotm); |
||||
|
||||
// 涨潮潮差数据
|
||||
mapBigDecimal(rs, "avftdr", entity::setAvftdr); |
||||
entity.setAvftdrrcd(rs.getString("avftdrrcd") != null ? rs.getString("avftdrrcd") : ""); |
||||
mapBigDecimal(rs, "mxfltdr", entity::setMxfltdr); |
||||
entity.setMxfltdrrcd(rs.getString("mxfltdrrcd") != null ? rs.getString("mxfltdrrcd") : ""); |
||||
mapNullableTimestamp(rs, "mxfltdrhtm", entity::setMxfltdrhtm); |
||||
mapBigDecimal(rs, "mnfltdr", entity::setMnfltdr); |
||||
entity.setMnfltdrrcd(rs.getString("mnfltdrrcd") != null ? rs.getString("mnfltdrrcd") : ""); |
||||
mapNullableTimestamp(rs, "mnfltdrhtm", entity::setMnfltdrhtm); |
||||
|
||||
// 落潮潮差数据
|
||||
mapBigDecimal(rs, "aver", entity::setAver); |
||||
entity.setAverbbrrcd(rs.getString("averbbrrcd") != null ? rs.getString("averbbrrcd") : ""); |
||||
mapBigDecimal(rs, "mxebtdr", entity::setMxebtdr); |
||||
entity.setMxebtdrrcd(rs.getString("mxebtdrrcd") != null ? rs.getString("mxebtdrrcd") : ""); |
||||
mapNullableTimestamp(rs, "mxebtdrht", entity::setMxebtdrht); |
||||
mapBigDecimal(rs, "mnebtdr", entity::setMnebtdr); |
||||
entity.setMnebtdrrcd(rs.getString("mnebtdrrcd") != null ? rs.getString("mnebtdrrcd") : ""); |
||||
mapNullableTimestamp(rs, "mnebtdrhtm", entity::setMnebtdrhtm); |
||||
|
||||
// 涨潮历时数据
|
||||
setNullableInt(rs, "avftd", entity::setAvftd); |
||||
entity.setAvftdrcd(rs.getString("avftdrcd") != null ? rs.getString("avftdrcd") : ""); |
||||
setNullableInt(rs, "mxfltddr", entity::setMxfltddr); |
||||
entity.setMxfltddrrcd(rs.getString("mxfltddrrcd") != null ? rs.getString("mxfltddrrcd") : ""); |
||||
mapNullableTimestamp(rs, "mxfltddrhtm", entity::setMxfltddrhtm); |
||||
setNullableInt(rs, "mnfltddr", entity::setMnfltddr); |
||||
entity.setMnfltddrrcd(rs.getString("mnfltddrrcd") != null ? rs.getString("mnfltddrrcd") : ""); |
||||
mapNullableTimestamp(rs, "mnfltddrhtm", entity::setMnfltddrhtm); |
||||
|
||||
// 落潮历时数据
|
||||
setNullableInt(rs, "avebbdr", entity::setAvebbdr); |
||||
entity.setAvedrc(rs.getString("avedrc") != null ? rs.getString("avedrc") : ""); |
||||
setNullableInt(rs, "mxebtddr", entity::setMxebtddr); |
||||
entity.setMxebtddrrcd(rs.getString("mxebtddrrcd") != null ? rs.getString("mxebtddrrcd") : ""); |
||||
mapNullableTimestamp(rs, "mxebtddrhtm", entity::setMxebtddrhtm); |
||||
setNullableInt(rs, "mnbtddr", entity::setMnbtddr); |
||||
entity.setMnebtddrrcd(rs.getString("mnebtddrrcd") != null ? rs.getString("mnebtddrrcd") : ""); |
||||
mapNullableTimestamp(rs, "mnebtddrhtm", entity::setMnebtddrhtm); |
||||
|
||||
// 综合潮位数据
|
||||
mapBigDecimal(rs, "hravtdz", entity::setHravtdz); |
||||
entity.setHravtdzrcd(rs.getString("hravtdzrcd") != null ? rs.getString("hravtdzrcd") : ""); |
||||
mapBigDecimal(rs, "avtdr", entity::setAvtdr); |
||||
entity.setAvtdrrcd(rs.getString("avtdrrcd") != null ? rs.getString("avtdrrcd") : ""); |
||||
setNullableInt(rs, "avtddr", entity::setAvtddr); |
||||
entity.setAvtddrrcd(rs.getString("avtddrrcd") != null ? rs.getString("avtddrrcd") : ""); |
||||
|
||||
return entity; |
||||
} |
||||
|
||||
// 辅助方法:安全处理整数空值
|
||||
private void setNullableInt(ResultSet rs, String column, |
||||
java.util.function.Consumer<Integer> setter) |
||||
throws SQLException { |
||||
int value = rs.getInt(column); |
||||
setter.accept(rs.wasNull() ? null : value); |
||||
} |
||||
|
||||
// 辅助方法:安全处理时间戳(精确到秒)
|
||||
private void mapNullableTimestamp(ResultSet rs, String column, |
||||
java.util.function.Consumer<Date> setter) |
||||
throws SQLException { |
||||
Timestamp timestamp = rs.getTimestamp(column); |
||||
if (timestamp != null && !rs.wasNull()) { |
||||
setter.accept(new Date(timestamp.getTime())); |
||||
} |
||||
} |
||||
|
||||
// 新增辅助方法:安全处理BigDecimal空值(保留NULL语义)
|
||||
private void mapBigDecimal(ResultSet rs, String column, |
||||
java.util.function.Consumer<BigDecimal> setter) |
||||
throws SQLException { |
||||
BigDecimal value = rs.getBigDecimal(column); |
||||
setter.accept(value); // 保留NULL表示数据缺失
|
||||
} |
||||
} |
@ -0,0 +1,75 @@
@@ -0,0 +1,75 @@
|
||||
|
||||
package com.ruoyi.swlscx.basic.domain.rowMapper; |
||||
|
||||
import com.ruoyi.swlscx.day.domain.po.HyDzC; |
||||
import com.ruoyi.swlscx.month.domain.po.HyMtzE; |
||||
import org.springframework.jdbc.core.RowMapper; |
||||
|
||||
import java.math.BigDecimal; |
||||
import java.sql.ResultSet; |
||||
import java.sql.SQLException; |
||||
import java.sql.Timestamp; |
||||
import java.util.Date; |
||||
|
||||
/** |
||||
* @Author al |
||||
* @Date 2025/6/20 0:01 |
||||
* @Description: TODO |
||||
* @Version |
||||
*/ |
||||
public class HyMtzERowMapper implements RowMapper<HyMtzE> { |
||||
|
||||
@Override |
||||
public HyMtzE mapRow(ResultSet rs, int rowNum) throws SQLException { |
||||
HyMtzE hyMtzE = new HyMtzE(); |
||||
|
||||
// 1. 站码(字符串)
|
||||
hyMtzE.setStcd(rs.getString("stcd")); |
||||
|
||||
// 2. 年份(整数)
|
||||
Integer yr = rs.getInt("yr"); |
||||
hyMtzE.setYr(rs.wasNull() ? null : yr); // 处理SQL NULL
|
||||
|
||||
// 3. 月份(整数)
|
||||
Integer mth = rs.getInt("mth"); |
||||
hyMtzE.setMth(rs.wasNull() ? null : mth); |
||||
|
||||
// 4. 平均水位(精确数值)
|
||||
BigDecimal avz = rs.getBigDecimal("avz"); |
||||
hyMtzE.setAvz(avz != null ? avz : BigDecimal.ZERO); // NULL 转为 0.00
|
||||
|
||||
// 5. 平均水位注解码
|
||||
String avzrcd = rs.getString("avzrcd"); |
||||
hyMtzE.setAvzrcd(avzrcd != null ? avzrcd : ""); |
||||
|
||||
// 6. 最高水位(精确数值)
|
||||
BigDecimal htz = rs.getBigDecimal("htz"); |
||||
hyMtzE.setHtz(htz != null ? htz : BigDecimal.ZERO); |
||||
|
||||
// 7. 最高水位注解码
|
||||
String htzrcd = rs.getString("htzrcd"); |
||||
hyMtzE.setHtzrcd(htzrcd != null ? htzrcd : ""); |
||||
|
||||
// 8. 最高水位日期(带空值检查)
|
||||
Timestamp htzdtTimestamp = rs.getTimestamp("htzdt"); |
||||
if (htzdtTimestamp != null) { |
||||
hyMtzE.setHtzdt(new Date(htzdtTimestamp.getTime())); |
||||
} |
||||
|
||||
// 9. 最低水位(精确数值)
|
||||
BigDecimal mnz = rs.getBigDecimal("mnz"); |
||||
hyMtzE.setMnz(mnz != null ? mnz : BigDecimal.ZERO); |
||||
|
||||
// 10. 最低水位注解码
|
||||
String mnzrcd = rs.getString("mnzrcd"); |
||||
hyMtzE.setMnzrcd(mnzrcd != null ? mnzrcd : ""); |
||||
|
||||
// 11. 最低水位日期(带空值检查)
|
||||
Timestamp mnzdtTimestamp = rs.getTimestamp("mnzdt"); |
||||
if (mnzdtTimestamp != null) { |
||||
hyMtzE.setMnzdt(new Date(mnzdtTimestamp.getTime())); |
||||
} |
||||
|
||||
return hyMtzE; |
||||
} |
||||
} |
@ -0,0 +1,49 @@
@@ -0,0 +1,49 @@
|
||||
|
||||
package com.ruoyi.swlscx.basic.domain.rowMapper; |
||||
|
||||
import com.ruoyi.swlscx.excerpt.domain.po.HyPrexB; |
||||
import com.ruoyi.swlscx.year.domain.po.HyMmxpF; |
||||
import org.springframework.jdbc.core.RowMapper; |
||||
|
||||
import java.sql.ResultSet; |
||||
import java.sql.SQLException; |
||||
import java.sql.Timestamp; |
||||
import java.util.Date; |
||||
|
||||
/** |
||||
* @Author al |
||||
* @Date 2025/6/20 0:01 |
||||
* @Description: TODO |
||||
* @Version |
||||
*/ |
||||
public class HyPrexBRowMapper implements RowMapper<HyPrexB> { |
||||
|
||||
|
||||
@Override |
||||
public HyPrexB mapRow(ResultSet rs, int rowNum) throws SQLException { |
||||
HyPrexB hyPrexB = new HyPrexB(); |
||||
|
||||
// 1. 站码(字符串)
|
||||
hyPrexB.setStcd(rs.getString("stcd")); |
||||
|
||||
// 2. 起止时间(带时区转换)
|
||||
Timestamp bgTimestamp = rs.getTimestamp("bgtm"); |
||||
if (bgTimestamp != null) { |
||||
hyPrexB.setBgtm(new Date(bgTimestamp.getTime())); // SQL Timestamp -> Java Date
|
||||
} |
||||
|
||||
Timestamp endTimestamp = rs.getTimestamp("endtm"); |
||||
if (endTimestamp != null) { |
||||
hyPrexB.setEndtm(new Date(endTimestamp.getTime())); |
||||
} |
||||
|
||||
// 3. 降水量(精确数值)
|
||||
hyPrexB.setP(rs.getBigDecimal("p")); // 直接映射BigDecimal
|
||||
|
||||
// 4. 注解码(空值安全处理)
|
||||
String prcd = rs.getString("prcd"); |
||||
hyPrexB.setPrcd(prcd != null ? prcd : ""); // NULL转空字符串
|
||||
|
||||
return hyPrexB; |
||||
} |
||||
} |
@ -0,0 +1,61 @@
@@ -0,0 +1,61 @@
|
||||
package com.ruoyi.swlscx.basic.domain.rowMapper; |
||||
|
||||
import com.ruoyi.swlscx.basic.domain.po.HyStscA; |
||||
import org.springframework.jdbc.core.RowMapper; |
||||
|
||||
import java.sql.ResultSet; |
||||
import java.sql.SQLException; |
||||
|
||||
/** |
||||
* @Author al |
||||
* @Date 2025/6/20 0:01 |
||||
* @Description: TODO |
||||
* @Version |
||||
*/ |
||||
public class HyStscARowMapper implements RowMapper<HyStscA> { |
||||
|
||||
@Override |
||||
public HyStscA mapRow(java.sql.ResultSet rs, int rowNum) throws java.sql.SQLException { |
||||
HyStscA hyStscA = new HyStscA(); |
||||
// 主键字段
|
||||
hyStscA.setStcd(rs.getString("stcd")); |
||||
hyStscA.setStnm(rs.getString("stnm")); |
||||
|
||||
// 字符串类型字段
|
||||
hyStscA.setStct(rs.getString("stct")); |
||||
hyStscA.setBshncd(rs.getString("bshncd")); |
||||
hyStscA.setHnnm(rs.getString("hnnm")); |
||||
hyStscA.setRvnm(rs.getString("rvnm")); |
||||
hyStscA.setObitmcd(rs.getString("obitmcd")); |
||||
hyStscA.setAddvcd(rs.getString("addvcd")); |
||||
hyStscA.setWrrgcd(rs.getString("wrrgcd")); |
||||
hyStscA.setFlto(rs.getString("flto")); |
||||
hyStscA.setFdtmnm(rs.getString("fdtmnm")); |
||||
hyStscA.setAdmag(rs.getString("admag")); |
||||
hyStscA.setAdmnst(rs.getString("admnst")); |
||||
hyStscA.setStlc(rs.getString("stlc")); |
||||
hyStscA.setStgrd(rs.getString("stgrd")); |
||||
hyStscA.setFrgrd(rs.getString("frgrd")); |
||||
hyStscA.setNt(rs.getString("nt")); |
||||
|
||||
// 整数类型字段(注意处理 NULL 值)
|
||||
hyStscA.setEsstyr(getNullableInt(rs, "esstyr")); |
||||
hyStscA.setEsstmth(getNullableInt(rs, "esstmth")); |
||||
hyStscA.setWdstyr(getNullableInt(rs, "wdstyr")); |
||||
hyStscA.setWdstmth(getNullableInt(rs, "wdstmth")); |
||||
|
||||
// 小数类型字段(使用 BigDecimal 精确计算)
|
||||
hyStscA.setDrar(rs.getBigDecimal("drar")); |
||||
hyStscA.setDstrvm(rs.getBigDecimal("dstrvm")); |
||||
hyStscA.setLgtd(rs.getBigDecimal("lgtd")); |
||||
hyStscA.setLttd(rs.getBigDecimal("lttd")); |
||||
|
||||
return hyStscA; |
||||
} |
||||
|
||||
// 处理可能为 NULL 的整数字段
|
||||
private Integer getNullableInt(ResultSet rs, String column) throws SQLException { |
||||
Object value = rs.getObject(column); |
||||
return (value != null) ? rs.getInt(column) : null; |
||||
} |
||||
} |
@ -0,0 +1,54 @@
@@ -0,0 +1,54 @@
|
||||
package com.ruoyi.swlscx.basic.domain.rowMapper; |
||||
|
||||
import com.ruoyi.swlscx.basic.domain.po.HyWfdzF; |
||||
import com.ruoyi.swlscx.year.domain.po.HyYrpF; |
||||
import org.springframework.jdbc.core.RowMapper; |
||||
|
||||
import java.math.BigDecimal; |
||||
import java.sql.ResultSet; |
||||
import java.sql.SQLException; |
||||
import java.util.Date; |
||||
|
||||
/** |
||||
* @Author al |
||||
* @Date 2025/6/20 0:01 |
||||
* @Description: TODO |
||||
* @Version |
||||
*/ |
||||
public class HyWfdzFRowMapper implements RowMapper<HyWfdzF> { |
||||
|
||||
@Override |
||||
public HyWfdzF mapRow(ResultSet rs, int rowNum) throws SQLException { |
||||
HyWfdzF hyWfdzF = new HyWfdzF(); |
||||
|
||||
// 1. 站码(直接映射)
|
||||
hyWfdzF.setStcd(rs.getString("stcd")); |
||||
|
||||
// 2. 年份(BigDecimal类型)
|
||||
BigDecimal yr = rs.getBigDecimal("yr"); |
||||
hyWfdzF.setYr(yr != null ? yr : BigDecimal.ZERO); // NULL → 0
|
||||
|
||||
// 3. 降水量(BigDecimal类型)
|
||||
BigDecimal wf = rs.getBigDecimal("wf"); |
||||
hyWfdzF.setWf(wf != null ? wf : BigDecimal.ZERO); // NULL → 0.00
|
||||
|
||||
// 4. 水位值(BigDecimal类型)
|
||||
BigDecimal rfz = rs.getBigDecimal("rfz"); |
||||
hyWfdzF.setRfz(rfz != null ? rfz : BigDecimal.ZERO); // NULL → 0.00
|
||||
|
||||
// 5. 注解码(空值安全处理)
|
||||
String rzrcd = rs.getString("rzrcd"); |
||||
hyWfdzF.setRzrcd(rzrcd != null ? rzrcd : ""); // NULL → 空字符串
|
||||
|
||||
return hyWfdzF; |
||||
} |
||||
|
||||
// 辅助方法:安全处理日期空值
|
||||
private void mapNullableDate(ResultSet rs, String column, java.util.function.Consumer<Date> setter) |
||||
throws SQLException { |
||||
java.sql.Date sqlDate = rs.getDate(column); |
||||
if (sqlDate != null && !rs.wasNull()) { |
||||
setter.accept(new Date(sqlDate.getTime())); |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,53 @@
@@ -0,0 +1,53 @@
|
||||
package com.ruoyi.swlscx.basic.domain.rowMapper; |
||||
|
||||
import com.ruoyi.swlscx.excerpt.domain.po.HyWsfhexB; |
||||
import com.ruoyi.swlscx.year.domain.po.HyMmxpF; |
||||
import org.springframework.jdbc.core.RowMapper; |
||||
|
||||
import java.sql.ResultSet; |
||||
import java.sql.SQLException; |
||||
import java.sql.Timestamp; |
||||
import java.util.Date; |
||||
|
||||
/** |
||||
* @Author al |
||||
* @Date 2025/6/20 0:01 |
||||
* @Description: TODO |
||||
* @Version |
||||
*/ |
||||
public class HyWsfhexBRowMapper implements RowMapper<HyWsfhexB> { |
||||
|
||||
@Override |
||||
public HyWsfhexB mapRow(ResultSet rs, int rowNum) throws SQLException { |
||||
HyWsfhexB entity = new HyWsfhexB(); |
||||
|
||||
// 站码(字符串,处理空值)
|
||||
entity.setStcd(rs.getString("stcd") != null ? rs.getString("stcd") : ""); |
||||
|
||||
// 时间(使用getTimestamp获取时间戳,然后转换为Date)
|
||||
Timestamp tmTimestamp = rs.getTimestamp("tm"); |
||||
if (tmTimestamp != null) { |
||||
entity.setTm(new Date(tmTimestamp.getTime())); |
||||
} |
||||
|
||||
// 闸上水位(BigDecimal,允许为NULL)
|
||||
entity.setUpz(rs.getBigDecimal("upz")); |
||||
|
||||
// 闸上水位注解码(字符串,处理空值)
|
||||
entity.setUpzrcd(rs.getString("upzrcd") != null ? rs.getString("upzrcd") : ""); |
||||
|
||||
// 闸下水位(BigDecimal,允许为NULL)
|
||||
entity.setDwz(rs.getBigDecimal("dwz")); |
||||
|
||||
// 闸下水位注解码(字符串,处理空值)
|
||||
entity.setDwzrcd(rs.getString("dwzrcd") != null ? rs.getString("dwzrcd") : ""); |
||||
|
||||
// 流量(BigDecimal,允许为NULL)
|
||||
entity.setQ(rs.getBigDecimal("q")); |
||||
|
||||
// 含沙量(BigDecimal,允许为NULL)
|
||||
entity.setS(rs.getBigDecimal("s")); |
||||
|
||||
return entity; |
||||
} |
||||
} |
@ -0,0 +1,52 @@
@@ -0,0 +1,52 @@
|
||||
package com.ruoyi.swlscx.basic.domain.rowMapper; |
||||
|
||||
import com.ruoyi.swlscx.month.domain.po.HyMtpE; |
||||
import com.ruoyi.swlscx.year.domain.po.HyYrpF; |
||||
import org.springframework.jdbc.core.RowMapper; |
||||
|
||||
import java.sql.ResultSet; |
||||
import java.sql.SQLException; |
||||
import java.util.Date; |
||||
|
||||
/** |
||||
* @Author al |
||||
* @Date 2025/6/20 0:01 |
||||
* @Description: TODO |
||||
* @Version |
||||
*/ |
||||
public class HyYrpFRowMapper implements RowMapper<HyYrpF> { |
||||
|
||||
@Override |
||||
public HyYrpF mapRow(ResultSet rs, int rowNum) throws SQLException { |
||||
HyYrpF hyYrpF = new HyYrpF(); |
||||
|
||||
// 映射基础字段
|
||||
hyYrpF.setStcd(rs.getString("stcd")); // 站码
|
||||
hyYrpF.setYr(rs.getInt("yr")); // 年
|
||||
|
||||
// 映射降水量相关字段
|
||||
hyYrpF.setP(rs.getBigDecimal("p")); // 降水量(毫米)
|
||||
hyYrpF.setPrcd(rs.getString("prcd")); // 降水量注解码
|
||||
|
||||
// 映射降水日数字段
|
||||
hyYrpF.setPdynum(rs.getString("pdynum")); // 降水日数
|
||||
hyYrpF.setPdynumrcd(rs.getString("pdynumrcd")); // 降水日数注解码
|
||||
|
||||
// 映射日期字段(处理空值)
|
||||
mapNullableDate(rs, "frdsdt", hyYrpF::setFrdsdt); // 终霜日期
|
||||
mapNullableDate(rs, "frapdt", hyYrpF::setFrapdt); // 初霜日期
|
||||
mapNullableDate(rs, "sndsdt", hyYrpF::setSndsdt); // 终雪日期
|
||||
mapNullableDate(rs, "snapdt", hyYrpF::setSnapdt); // 初雪日期
|
||||
|
||||
return hyYrpF; |
||||
} |
||||
|
||||
// 辅助方法:安全处理日期空值
|
||||
private void mapNullableDate(ResultSet rs, String column, java.util.function.Consumer<Date> setter) |
||||
throws SQLException { |
||||
java.sql.Date sqlDate = rs.getDate(column); |
||||
if (sqlDate != null && !rs.wasNull()) { |
||||
setter.accept(new Date(sqlDate.getTime())); |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,73 @@
@@ -0,0 +1,73 @@
|
||||
package com.ruoyi.swlscx.basic.domain.rowMapper; |
||||
|
||||
import com.ruoyi.swlscx.month.domain.po.HyMtpE; |
||||
import com.ruoyi.swlscx.year.domain.po.HyYrqF; |
||||
import org.springframework.jdbc.core.RowMapper; |
||||
|
||||
import java.math.BigDecimal; |
||||
import java.sql.ResultSet; |
||||
import java.sql.SQLException; |
||||
import java.sql.Timestamp; |
||||
import java.util.Date; |
||||
|
||||
/** |
||||
* @Author al |
||||
* @Date 2025/6/20 0:01 |
||||
* @Description: TODO |
||||
* @Version |
||||
*/ |
||||
public class HyYrqFRowMapper implements RowMapper<HyYrqF> { |
||||
|
||||
@Override |
||||
public HyYrqF mapRow(ResultSet rs, int rowNum) throws SQLException { |
||||
HyYrqF entity = new HyYrqF(); |
||||
|
||||
// 基础信息映射
|
||||
entity.setStcd(rs.getString("stcd") != null ? rs.getString("stcd") : ""); // 站码(空值→空字符串)[2,4](@ref)
|
||||
setNullableInt(rs, "yr", entity::setYr); // 年份(保留NULL语义)
|
||||
|
||||
// 流量核心数据
|
||||
mapBigDecimal(rs, "avq", entity::setAvq); // 平均流量(保留NULL)
|
||||
entity.setAvqrcd(rs.getString("avqrcd") != null ? rs.getString("avqrcd") : ""); |
||||
mapBigDecimal(rs, "mxq", entity::setMxq); // 最高流量(保留NULL)
|
||||
entity.setMxqrcd(rs.getString("mxqrcd") != null ? rs.getString("mxqrcd") : ""); |
||||
mapNullableTimestamp(rs, "mxqdt", entity::setMxqdt); // 最高流量日期(精确时间戳)
|
||||
mapBigDecimal(rs, "mnq", entity::setMnq); // 最低流量(保留NULL)
|
||||
entity.setMnqrcd(rs.getString("mnqrcd") != null ? rs.getString("mnqrcd") : ""); |
||||
mapNullableTimestamp(rs, "mnqdt", entity::setMnqdt); // 最低流量日期
|
||||
|
||||
// 径流特征数据
|
||||
mapBigDecimal(rs, "rw", entity::setRw); // 径流量(万立方米)
|
||||
entity.setRwrcd(rs.getString("rwrcd") != null ? rs.getString("rwrcd") : ""); |
||||
mapBigDecimal(rs, "rm", entity::setRm); // 径流模数
|
||||
mapBigDecimal(rs, "rd", entity::setRd); // 径流深
|
||||
|
||||
return entity; |
||||
} |
||||
|
||||
// 辅助方法:安全处理整数空值(保留NULL语义)[3,5](@ref)
|
||||
private void setNullableInt(ResultSet rs, String column, |
||||
java.util.function.Consumer<Integer> setter) |
||||
throws SQLException { |
||||
int value = rs.getInt(column); |
||||
setter.accept(rs.wasNull() ? null : value); // 明确区分0值和数据缺失
|
||||
} |
||||
|
||||
// 辅助方法:安全处理时间戳(精确到毫秒)[4](@ref)
|
||||
private void mapNullableTimestamp(ResultSet rs, String column, |
||||
java.util.function.Consumer<Date> setter) |
||||
throws SQLException { |
||||
Timestamp timestamp = rs.getTimestamp(column); |
||||
if (timestamp != null && !rs.wasNull()) { |
||||
setter.accept(new Date(timestamp.getTime())); // 确保时间精度
|
||||
} |
||||
} |
||||
|
||||
// 辅助方法:安全处理BigDecimal(保留NULL语义)[6](@ref)
|
||||
private void mapBigDecimal(ResultSet rs, String column, |
||||
java.util.function.Consumer<BigDecimal> setter) |
||||
throws SQLException { |
||||
BigDecimal value = rs.getBigDecimal(column); |
||||
setter.accept(value); // 不转换NULL,区分真实0值与数据缺失
|
||||
} |
||||
} |
@ -0,0 +1,125 @@
@@ -0,0 +1,125 @@
|
||||
package com.ruoyi.swlscx.basic.domain.rowMapper; |
||||
|
||||
import com.ruoyi.swlscx.month.domain.po.HyMttdzE; |
||||
import com.ruoyi.swlscx.year.domain.po.HyYrtdzF; |
||||
import org.springframework.jdbc.core.RowMapper; |
||||
|
||||
import java.math.BigDecimal; |
||||
import java.sql.ResultSet; |
||||
import java.sql.SQLException; |
||||
import java.sql.Timestamp; |
||||
import java.util.Date; |
||||
|
||||
/** |
||||
* @Author al |
||||
* @Date 2025/6/20 15:15 |
||||
* @Description: TODO |
||||
* @Version |
||||
*/ |
||||
public class HyYrtdzFRowMapper implements RowMapper<HyYrtdzF> { |
||||
|
||||
@Override |
||||
public HyYrtdzF mapRow(ResultSet rs, int rowNum) throws SQLException { |
||||
HyYrtdzF entity = new HyYrtdzF(); |
||||
|
||||
// 基础信息映射
|
||||
entity.setStcd(rs.getString("stcd") != null ? rs.getString("stcd") : ""); |
||||
setNullableInt(rs, "yr", entity::setYr); |
||||
|
||||
// 高潮潮位数据
|
||||
mapBigDecimal(rs, "avhtdz", entity::setAvhtdz); |
||||
entity.setAvhtdzrcd(rs.getString("avhtdzrcd") != null ? rs.getString("avhtdzrcd") : ""); |
||||
mapBigDecimal(rs, "hthtdz", entity::setHthtdz); |
||||
entity.setHthtdzrcd(rs.getString("hthtdzrcd") != null ? rs.getString("hthtdzrcd") : ""); |
||||
mapNullableTimestamp(rs, "hthtdzotm", entity::setHthtdzotm); |
||||
mapBigDecimal(rs, "lthtdz", entity::setLthtdz); |
||||
entity.setLthtdzrcd(rs.getString("lthtdzrcd") != null ? rs.getString("lthtdzrcd") : ""); |
||||
mapNullableTimestamp(rs, "lthtdzotm", entity::setLthtdzotm); |
||||
|
||||
// 低潮潮位数据
|
||||
mapBigDecimal(rs, "avltdz", entity::setAvltdz); |
||||
entity.setAvltdzrcd(rs.getString("avltdzrcd") != null ? rs.getString("avltdzrcd") : ""); |
||||
mapBigDecimal(rs, "htltdz", entity::setHtltdz); |
||||
entity.setHtltdzrcd(rs.getString("htltdzrcd") != null ? rs.getString("htltdzrcd") : ""); |
||||
mapNullableTimestamp(rs, "htltdzotm", entity::setHtltdzotm); |
||||
mapBigDecimal(rs, "ltltdz", entity::setLtltdz); |
||||
entity.setLtltdzrcd(rs.getString("ltltdzrcd") != null ? rs.getString("ltltdzrcd") : ""); |
||||
mapNullableTimestamp(rs, "ltltdzotm", entity::setLtltdzotm); |
||||
|
||||
// 涨潮潮差数据
|
||||
mapBigDecimal(rs, "avftdr", entity::setAvftdr); |
||||
entity.setAvftdrrcd(rs.getString("avftdrrcd") != null ? rs.getString("avftdrrcd") : ""); |
||||
mapBigDecimal(rs, "mxfltdr", entity::setMxfltdr); |
||||
entity.setMxfltdrrcd(rs.getString("mxfltdrrcd") != null ? rs.getString("mxfltdrrcd") : ""); |
||||
mapNullableTimestamp(rs, "mxfltdrhtm", entity::setMxfltdrhtm); |
||||
mapBigDecimal(rs, "mnfltdr", entity::setMnfltdr); |
||||
entity.setMnfltdrrcd(rs.getString("mnfltdrrcd") != null ? rs.getString("mnfltdrrcd") : ""); |
||||
mapNullableTimestamp(rs, "mnfltdrhtm", entity::setMnfltdrhtm); |
||||
|
||||
// 落潮潮差数据
|
||||
mapBigDecimal(rs, "aver", entity::setAver); |
||||
entity.setAverbbrrcd(rs.getString("averbbrrcd") != null ? rs.getString("averbbrrcd") : ""); |
||||
mapBigDecimal(rs, "mxebtdr", entity::setMxebtdr); |
||||
entity.setMxebtdrrcd(rs.getString("mxebtdrrcd") != null ? rs.getString("mxebtdrrcd") : ""); |
||||
mapNullableTimestamp(rs, "mxebtdrht", entity::setMxebtdrht); |
||||
mapBigDecimal(rs, "mnebtdr", entity::setMnebtdr); |
||||
entity.setMnebtdrrcd(rs.getString("mnebtdrrcd") != null ? rs.getString("mnebtdrrcd") : ""); |
||||
mapNullableTimestamp(rs, "mnebtdrhtm", entity::setMnebtdrhtm); |
||||
|
||||
// 涨潮历时数据
|
||||
setNullableInt(rs, "avftd", entity::setAvftd); |
||||
entity.setAvftdrcd(rs.getString("avftdrcd") != null ? rs.getString("avftdrcd") : ""); |
||||
setNullableInt(rs, "mxfltddr", entity::setMxfltddr); |
||||
entity.setMxfltddrrcd(rs.getString("mxfltddrrcd") != null ? rs.getString("mxfltddrrcd") : ""); |
||||
mapNullableTimestamp(rs, "mxfltddrhtm", entity::setMxfltddrhtm); |
||||
setNullableInt(rs, "mnfltddr", entity::setMnfltddr); |
||||
entity.setMnfltddrrcd(rs.getString("mnfltddrrcd") != null ? rs.getString("mnfltddrrcd") : ""); |
||||
mapNullableTimestamp(rs, "mnfltddrhtm", entity::setMnfltddrhtm); |
||||
|
||||
// 落潮历时数据
|
||||
setNullableInt(rs, "avebbdr", entity::setAvebbdr); |
||||
entity.setAvedrc(rs.getString("avedrc") != null ? rs.getString("avedrc") : ""); |
||||
setNullableInt(rs, "mxebtddr", entity::setMxebtddr); |
||||
entity.setMxebtddrrcd(rs.getString("mxebtddrrcd") != null ? rs.getString("mxebtddrrcd") : ""); |
||||
mapNullableTimestamp(rs, "mxebtddrhtm", entity::setMxebtddrhtm); |
||||
setNullableInt(rs, "mnbtddr", entity::setMnbtddr); |
||||
entity.setMnebtddrrcd(rs.getString("mnebtddrrcd") != null ? rs.getString("mnebtddrrcd") : ""); |
||||
mapNullableTimestamp(rs, "mnebtddrhtm", entity::setMnebtddrhtm); |
||||
|
||||
// 综合潮位数据
|
||||
mapBigDecimal(rs, "hravtdz", entity::setHravtdz); |
||||
entity.setHravtdzrcd(rs.getString("hravtdzrcd") != null ? rs.getString("hravtdzrcd") : ""); |
||||
mapBigDecimal(rs, "avtdr", entity::setAvtdr); |
||||
entity.setAvtdrrcd(rs.getString("avtdrrcd") != null ? rs.getString("avtdrrcd") : ""); |
||||
setNullableInt(rs, "avtddr", entity::setAvtddr); |
||||
entity.setAvtddrrcd(rs.getString("avtddrrcd") != null ? rs.getString("avtddrrcd") : ""); |
||||
|
||||
return entity; |
||||
} |
||||
|
||||
// 辅助方法:安全处理整数空值
|
||||
private void setNullableInt(ResultSet rs, String column, |
||||
java.util.function.Consumer<Integer> setter) |
||||
throws SQLException { |
||||
int value = rs.getInt(column); |
||||
setter.accept(rs.wasNull() ? null : value); |
||||
} |
||||
|
||||
// 辅助方法:安全处理时间戳(精确到秒)
|
||||
private void mapNullableTimestamp(ResultSet rs, String column, |
||||
java.util.function.Consumer<Date> setter) |
||||
throws SQLException { |
||||
Timestamp timestamp = rs.getTimestamp(column); |
||||
if (timestamp != null && !rs.wasNull()) { |
||||
setter.accept(new Date(timestamp.getTime())); |
||||
} |
||||
} |
||||
|
||||
// 新增辅助方法:安全处理BigDecimal空值(保留NULL语义)
|
||||
private void mapBigDecimal(ResultSet rs, String column, |
||||
java.util.function.Consumer<BigDecimal> setter) |
||||
throws SQLException { |
||||
BigDecimal value = rs.getBigDecimal(column); |
||||
setter.accept(value); // 保留NULL表示数据缺失
|
||||
} |
||||
} |
@ -0,0 +1,60 @@
@@ -0,0 +1,60 @@
|
||||
package com.ruoyi.swlscx.basic.domain.rowMapper; |
||||
|
||||
import com.ruoyi.swlscx.month.domain.po.HyMtpE; |
||||
import com.ruoyi.swlscx.year.domain.po.HyYrzF; |
||||
import org.springframework.jdbc.core.RowMapper; |
||||
|
||||
import java.math.BigDecimal; |
||||
import java.sql.ResultSet; |
||||
import java.sql.SQLException; |
||||
import java.sql.Timestamp; |
||||
import java.util.Date; |
||||
|
||||
/** |
||||
* @Author al |
||||
* @Date 2025/6/20 0:01 |
||||
* @Description: TODO |
||||
* @Version |
||||
*/ |
||||
public class HyYrzFRowMapper implements RowMapper<HyYrzF> { |
||||
|
||||
@Override |
||||
public HyYrzF mapRow(ResultSet rs, int rowNum) throws SQLException { |
||||
HyYrzF hyYrzF = new HyYrzF(); |
||||
|
||||
// 1. 站码(直接映射)
|
||||
hyYrzF.setStcd(rs.getString("stcd")); |
||||
|
||||
// 2. 年份(处理SQL NULL)
|
||||
int yrValue = rs.getInt("yr"); |
||||
hyYrzF.setYr(rs.wasNull() ? null : yrValue); |
||||
|
||||
// 3. 平均水位及注解码
|
||||
BigDecimal avz = rs.getBigDecimal("avz"); |
||||
hyYrzF.setAvz(avz != null ? avz : BigDecimal.ZERO); // NULL → 0.00
|
||||
String avzrcd = rs.getString("avzrcd"); |
||||
hyYrzF.setAvzrcd(avzrcd != null ? avzrcd : ""); // NULL → 空字符串
|
||||
|
||||
// 4. 最高水位及关联字段
|
||||
BigDecimal htz = rs.getBigDecimal("htz"); |
||||
hyYrzF.setHtz(htz != null ? htz : BigDecimal.ZERO); |
||||
String htzrcd = rs.getString("htzrcd"); |
||||
hyYrzF.setHtzrcd(htzrcd != null ? htzrcd : ""); |
||||
Timestamp htzdtTimestamp = rs.getTimestamp("htzdt"); |
||||
if (htzdtTimestamp != null) { |
||||
hyYrzF.setHtzdt(new Date(htzdtTimestamp.getTime())); // SQL → Java Date
|
||||
} |
||||
|
||||
// 5. 最低水位及关联字段
|
||||
BigDecimal mnz = rs.getBigDecimal("mnz"); |
||||
hyYrzF.setMnz(mnz != null ? mnz : BigDecimal.ZERO); |
||||
String mnzrcd = rs.getString("mnzrcd"); |
||||
hyYrzF.setMnzrcd(mnzrcd != null ? mnzrcd : ""); |
||||
Timestamp mnzdtTimestamp = rs.getTimestamp("mnzdt"); |
||||
if (mnzdtTimestamp != null) { |
||||
hyYrzF.setMnzdt(new Date(mnzdtTimestamp.getTime())); |
||||
} |
||||
|
||||
return hyYrzF; |
||||
} |
||||
} |
@ -0,0 +1,31 @@
@@ -0,0 +1,31 @@
|
||||
package com.ruoyi.swlscx.basic.domain.vo; |
||||
|
||||
import lombok.Data; |
||||
|
||||
import java.io.Serializable; |
||||
import java.util.List; |
||||
|
||||
/** |
||||
* 测站一览表 |
||||
* @Author al |
||||
* @Date 2024/7/30 13:52 |
||||
* @Description: TODO |
||||
* @Version |
||||
*/ |
||||
|
||||
@Data |
||||
public class HyStscASelectVo implements Serializable { |
||||
|
||||
/** 站码 */ |
||||
private String value; |
||||
|
||||
private Boolean disabled; |
||||
|
||||
/**站名**/ |
||||
private String label; |
||||
|
||||
private List<HyStscASelectVo> children; |
||||
|
||||
private static final long serialVersionUID = 1L; |
||||
|
||||
} |
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,84 @@
@@ -0,0 +1,84 @@
|
||||
package com.ruoyi.swlscx.common.enums; |
||||
|
||||
/** |
||||
* 水位最大最小值 |
||||
*/ |
||||
public enum SelectTableEnum { |
||||
|
||||
DAY_RAIN("日降水", "DayRain"), |
||||
|
||||
|
||||
DAY_DCS("日平均含沙量表", "DayDcs"), |
||||
|
||||
DAY_DWE("日水面蒸发量表", "DayDwe"), |
||||
|
||||
DAY_DWT("日水温表", "DayDwt"), |
||||
DAY_ZSCS("逐时潮水位表", "DayZscs"), |
||||
|
||||
DAY_Q("日流量表", "DayQ"), |
||||
|
||||
DAY_DMXP("日时段最大降水表", "YearDmxp"), |
||||
|
||||
DAY_MXFW("时段最大洪量表", "YearImxfw"), |
||||
|
||||
DAY_DZ("日平均水位表", "DayDz"), |
||||
|
||||
DP_FDHEEX("洪水水文要素摘录表", "DpFdheex"), |
||||
DP_PREX("降水量摘录表", "DayPrex"), |
||||
|
||||
DP_RVFHEX("水库洪水水文要素摘录表", "DpRvfhex"), |
||||
DP_WSFHEX("水闸洪水水文要素摘录表", "DpWsfhex"), |
||||
DP_HLTDZ("逐潮高低潮位表", "DpHltdz"), |
||||
|
||||
DP_HMXP("小时时段最大降水量表", "YearHmxp"), |
||||
DP_MMXP("分钟时段最大降水量表", "YearMmxp"), |
||||
|
||||
MONTH_MTCS("月含沙量表", "MthMtcs"), |
||||
|
||||
MONTH_RAIN("月降水量表", "MthRain"), |
||||
|
||||
MONTH_MTQS( "月输沙率表", "MthMtqs"), |
||||
MONTH_MTTDZ( "月潮位表", "MthMttdz"), |
||||
|
||||
MONTH_MTWE("月水面蒸发量表", "MthMtwe"), |
||||
MONTH_MTWT("月水温表", "MthMtwt"), |
||||
|
||||
MONTH_Q("月流量表", "MthQ"), |
||||
MONTH_MTZ("月水位表", "MthMtz"), |
||||
DP_OBQ("实测流量表", "dp_obq_r"), |
||||
|
||||
|
||||
|
||||
DP_XSMSRS("实测大断面流量表", "dp_xsmsrs_g"), |
||||
|
||||
YEAR_YRCS("年含沙量表", "YearYrcs"), |
||||
YEAR_YRQS("年输沙率表", "YearYrqs"), |
||||
YEAR_YRWE("年水面蒸发量表", "YearYrwe"), |
||||
|
||||
YEAR_Q("年流量表", "YearYrq"), |
||||
|
||||
YEAR_RAIN("年降水表", "YearRain"), |
||||
YEAR_TIDE("年潮位表", "YearYrtdz"), |
||||
YEAR_YRWT("年水温表", "YearYrwt"), |
||||
|
||||
YEAR_YRZ("年水位表", "YearYrz"); |
||||
|
||||
|
||||
|
||||
|
||||
private final String desc; |
||||
private final String value; |
||||
|
||||
private SelectTableEnum(String desc, String value) { |
||||
this.desc = desc; |
||||
this.value = value; |
||||
} |
||||
|
||||
public String desc() { |
||||
return desc; |
||||
} |
||||
|
||||
public String value() { |
||||
return value; |
||||
} |
||||
} |
@ -0,0 +1,48 @@
@@ -0,0 +1,48 @@
|
||||
package com.ruoyi.swlscx.common.utils; |
||||
import com.alibaba.druid.pool.DruidDataSource; |
||||
import com.ruoyi.swlscx.basic.domain.ro.FormDataRo; |
||||
|
||||
import javax.sql.DataSource; |
||||
|
||||
public class SqlServerDataSourceUtil { |
||||
public static DataSource createDataSource(FormDataRo formDataRo) { |
||||
// formDataRo.setDataBase("hy_shdp");
|
||||
// formDataRo.setUserName("sa");
|
||||
// formDataRo.setPassword("admin");
|
||||
// formDataRo.setSqlseverIp("192.168.16.232");
|
||||
DruidDataSource dataSource = new DruidDataSource(); |
||||
// 基本连接配置
|
||||
dataSource.setDriverClassName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); |
||||
dataSource.setUrl(String.format( |
||||
"jdbc:sqlserver://%s:1433;databaseName=%s;encrypt=false;", |
||||
formDataRo.getSqlseverIp(), |
||||
formDataRo.getDataBase() |
||||
)); |
||||
dataSource.setUsername(formDataRo.getUserName()); |
||||
dataSource.setPassword(formDataRo.getPassword()); |
||||
|
||||
// 连接池优化配置(根据实际需求调整)
|
||||
dataSource.setInitialSize(5); // 初始连接数
|
||||
dataSource.setMinIdle(5); // 最小空闲连接
|
||||
dataSource.setMaxActive(20); // 最大活跃连接
|
||||
dataSource.setMaxWait(60000); // 获取连接超时时间(毫秒)
|
||||
dataSource.setTimeBetweenEvictionRunsMillis(60000); // 检测间隔
|
||||
dataSource.setMinEvictableIdleTimeMillis(300000); // 连接空闲超时
|
||||
dataSource.setValidationQuery("SELECT 1"); // 连接有效性检测SQL
|
||||
dataSource.setTestWhileIdle(true); // 空闲时检测连接
|
||||
dataSource.setTestOnBorrow(false); // 借出连接时不检测
|
||||
dataSource.setTestOnReturn(false); // 归还连接时不检测
|
||||
|
||||
// 其他安全配置
|
||||
dataSource.setPoolPreparedStatements(true); // 缓存PreparedStatement
|
||||
dataSource.setMaxPoolPreparedStatementPerConnectionSize(20); // 每个连接的PS缓存数
|
||||
|
||||
try { |
||||
dataSource.init(); // 初始化连接池
|
||||
} catch (Exception e) { |
||||
throw new RuntimeException("Druid数据源初始化失败", e); |
||||
} |
||||
|
||||
return dataSource; |
||||
} |
||||
} |
@ -0,0 +1,32 @@
@@ -0,0 +1,32 @@
|
||||
package com.ruoyi.swlscx.day.domain.bo; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField; |
||||
import lombok.Data; |
||||
|
||||
import java.io.Serializable; |
||||
import java.math.BigDecimal; |
||||
import java.util.Date; |
||||
|
||||
/** |
||||
* @Author al |
||||
* @Date 2025/5/10 22:10 |
||||
* @Description: TODO |
||||
* @Version |
||||
*/ |
||||
@Data |
||||
public class HyZscsBBo implements Serializable { |
||||
|
||||
private String stcd; |
||||
|
||||
private String stnm; |
||||
|
||||
private String tm; |
||||
private String tdr; |
||||
private String tdz; |
||||
|
||||
private String tdzrcd; |
||||
|
||||
@TableField(exist = false) |
||||
private static final long serialVersionUID = 1L; |
||||
|
||||
} |
@ -0,0 +1,33 @@
@@ -0,0 +1,33 @@
|
||||
package com.ruoyi.swlscx.day.domain.po; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField; |
||||
import lombok.Data; |
||||
|
||||
import java.io.Serializable; |
||||
import java.math.BigDecimal; |
||||
import java.util.Date; |
||||
|
||||
/** |
||||
* @Author al |
||||
* @Date 2025/5/10 22:10 |
||||
* @Description: TODO |
||||
* @Version |
||||
*/ |
||||
@Data |
||||
public class HyZscsB implements Serializable { |
||||
|
||||
private String stcd; |
||||
|
||||
private String stnm; |
||||
|
||||
private Date tm; |
||||
private String tdr; |
||||
private Long tdz; |
||||
|
||||
private String tdzrcd; |
||||
|
||||
@TableField(exist = false) |
||||
private static final long serialVersionUID = 1L; |
||||
|
||||
|
||||
} |
@ -0,0 +1,32 @@
@@ -0,0 +1,32 @@
|
||||
package com.ruoyi.swlscx.day.domain.vo; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField; |
||||
import lombok.Data; |
||||
|
||||
import java.io.Serializable; |
||||
import java.util.Date; |
||||
|
||||
/** |
||||
* @Author al |
||||
* @Date 2025/5/10 22:10 |
||||
* @Description: TODO |
||||
* @Version |
||||
*/ |
||||
@Data |
||||
public class HyZscsBVo implements Serializable { |
||||
|
||||
private String stcd; |
||||
|
||||
private String stnm; |
||||
|
||||
private Date tm; |
||||
private String tdr; |
||||
private Long tdz; |
||||
|
||||
private String tdzrcd; |
||||
|
||||
@TableField(exist = false) |
||||
private static final long serialVersionUID = 1L; |
||||
|
||||
|
||||
} |
@ -0,0 +1,30 @@
@@ -0,0 +1,30 @@
|
||||
package com.ruoyi.swlscx.day.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
||||
import com.ruoyi.swlscx.day.domain.po.HyDpC; |
||||
import com.ruoyi.swlscx.day.domain.po.HyZscsB; |
||||
import com.ruoyi.swlscx.day.domain.vo.HyDpCVo; |
||||
import com.ruoyi.swlscx.day.domain.vo.HyZscsBVo; |
||||
import org.apache.ibatis.annotations.Mapper; |
||||
import org.apache.ibatis.annotations.Param; |
||||
|
||||
import java.util.List; |
||||
import java.util.Map; |
||||
|
||||
/** |
||||
* @author 12974 |
||||
* @description 针对表【hy_dp_c(日降水表)】的数据库操作Mapper |
||||
* @createDate 2024-10-15 17:40:46 |
||||
* @Entity com.ruoyi.swlscx.day.domain.po.HyDpC |
||||
*/ |
||||
@Mapper |
||||
public interface HyZscsBMapper extends BaseMapper<HyZscsB> { |
||||
|
||||
IPage<HyZscsBVo> selectHyZscsBDataByPageAndInfo(Page<HyZscsBVo> page,@Param("map") Map<String, Object> map); |
||||
} |
||||
|
||||
|
||||
|
||||
|
@ -0,0 +1,39 @@
@@ -0,0 +1,39 @@
|
||||
package com.ruoyi.swlscx.day.service; |
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||
import com.baomidou.mybatisplus.extension.service.IService; |
||||
import com.ruoyi.common.core.page.R; |
||||
import com.ruoyi.swlscx.common.PageParams; |
||||
import com.ruoyi.swlscx.day.domain.po.HyZscsB; |
||||
import com.ruoyi.swlscx.day.domain.vo.HyDpCVo; |
||||
import com.ruoyi.swlscx.day.domain.vo.HyZscsBVo; |
||||
import org.springframework.web.multipart.MultipartFile; |
||||
|
||||
import javax.servlet.http.HttpServletResponse; |
||||
|
||||
/** |
||||
* @author 12974 |
||||
* @description 针对表【hy_dp_c(日降水表)】的数据库操作Service |
||||
* @createDate 2024-10-15 17:40:46 |
||||
*/ |
||||
public interface HyZscsBService extends IService<HyZscsB> { |
||||
|
||||
|
||||
/** |
||||
* 导入逐时潮水位表数据 |
||||
*/ |
||||
void importHyZscsBData(MultipartFile file); |
||||
|
||||
/** |
||||
* 查询逐时潮水位表数据 |
||||
*/ |
||||
IPage<HyZscsBVo> selectHyZscsBDataByPageAndInfo(PageParams pageParams, String startTime, String endTime, String stcd, String stnm); |
||||
|
||||
R exportDayZscs(HttpServletResponse response, String startTime, String endTime, String stcd, String stnm); |
||||
|
||||
/** |
||||
* 导出逐时潮水位表数据 |
||||
*/ |
||||
// R exportHyDpCData(HttpServletResponse response,String startTime, String endTime, String stcd, String stnm);
|
||||
|
||||
} |
@ -0,0 +1,226 @@
@@ -0,0 +1,226 @@
|
||||
package com.ruoyi.swlscx.day.service.impl; |
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
||||
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||
import com.baomidou.mybatisplus.extension.service.IService; |
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
||||
import com.ruoyi.common.config.RuoYiConfig; |
||||
import com.ruoyi.common.core.page.R; |
||||
import com.ruoyi.common.core.text.Convert; |
||||
import com.ruoyi.common.utils.DateUtils; |
||||
import com.ruoyi.common.utils.SecurityUtils; |
||||
import com.ruoyi.swlscx.basic.domain.po.HyStscA; |
||||
import com.ruoyi.swlscx.basic.domain.po.YcExportTask; |
||||
import com.ruoyi.swlscx.basic.service.YcExportTaskService; |
||||
import com.ruoyi.swlscx.common.PageParams; |
||||
import com.ruoyi.swlscx.common.constants.SystemConstants; |
||||
import com.ruoyi.swlscx.common.utils.CommonUtils; |
||||
import com.ruoyi.swlscx.common.utils.ExcelUtils; |
||||
import com.ruoyi.swlscx.common.utils.Query; |
||||
import com.ruoyi.swlscx.day.domain.bo.HyDpCBo; |
||||
import com.ruoyi.swlscx.day.domain.bo.HyZscsBBo; |
||||
import com.ruoyi.swlscx.day.domain.po.HyDpC; |
||||
import com.ruoyi.swlscx.day.domain.po.HyDweC; |
||||
import com.ruoyi.swlscx.day.domain.po.HyZscsB; |
||||
import com.ruoyi.swlscx.day.domain.vo.HyDpCVo; |
||||
import com.ruoyi.swlscx.day.domain.vo.HyZscsBVo; |
||||
import com.ruoyi.swlscx.day.mapper.HyDweCMapper; |
||||
import com.ruoyi.swlscx.day.mapper.HyZscsBMapper; |
||||
import com.ruoyi.swlscx.day.service.HyDweCService; |
||||
import com.ruoyi.swlscx.day.service.HyZscsBService; |
||||
import org.apache.commons.lang3.ObjectUtils; |
||||
import org.apache.poi.ss.usermodel.CellStyle; |
||||
import org.apache.poi.ss.usermodel.Row; |
||||
import org.apache.poi.ss.usermodel.Sheet; |
||||
import org.springframework.beans.BeanUtils; |
||||
import org.springframework.beans.factory.annotation.Autowired; |
||||
import org.springframework.context.ApplicationContext; |
||||
import org.springframework.stereotype.Service; |
||||
import org.springframework.transaction.annotation.Transactional; |
||||
import org.springframework.web.multipart.MultipartFile; |
||||
|
||||
import javax.annotation.Resource; |
||||
import javax.servlet.http.HttpServletResponse; |
||||
import java.io.File; |
||||
import java.util.Date; |
||||
import java.util.List; |
||||
import java.util.Map; |
||||
import java.util.concurrent.CompletableFuture; |
||||
import java.util.concurrent.ThreadPoolExecutor; |
||||
import java.util.stream.Collectors; |
||||
|
||||
/** |
||||
* @author 12974 |
||||
* @description 针对表【hy_dp_c(日降水表)】的数据库操作Service |
||||
* @createDate 2024-10-15 17:40:46 |
||||
*/ |
||||
@Service |
||||
public class HyZscsBServiceImpl extends ServiceImpl<HyZscsBMapper, HyZscsB> |
||||
implements HyZscsBService { |
||||
|
||||
|
||||
/** |
||||
* 导入逐时潮水位表数据 |
||||
* @param file |
||||
*/ |
||||
@Override |
||||
@Transactional(rollbackFor = Exception.class) |
||||
public void importHyZscsBData(MultipartFile file) { |
||||
try { |
||||
List<HyZscsBBo> hyDpCBos = ExcelUtils.readExcel(file.getInputStream(), HyZscsBBo.class, 2); |
||||
List<HyZscsB> hyDpCList = hyDpCBos.stream().map(i -> { |
||||
HyZscsB hyDpC = new HyZscsB(); |
||||
BeanUtils.copyProperties(i, hyDpC); |
||||
hyDpC.setTm(DateUtils.parseDate(i.getTm())); |
||||
hyDpC.setTdz(Convert.toLong(i.getTdz())); |
||||
return hyDpC; |
||||
}).collect(Collectors.toList()); |
||||
//重临时表中把数据刷过去
|
||||
this.saveBatch(hyDpCList); |
||||
} catch (Exception e) { |
||||
e.printStackTrace(); |
||||
} |
||||
} |
||||
|
||||
@Override |
||||
public IPage<HyZscsBVo> selectHyZscsBDataByPageAndInfo(PageParams pageParams, String startTime, String endTime, String stcd, String stnm) { |
||||
System.out.println("stcd ->"+stcd); |
||||
Map<String, Object> map = CommonUtils.getYearAndDayDataMap(pageParams, startTime, endTime, stcd, stnm); |
||||
return this.baseMapper.selectHyZscsBDataByPageAndInfo(new Query<HyZscsBVo>().getPage(map), map); |
||||
} |
||||
|
||||
@Override |
||||
public R exportDayZscs(HttpServletResponse response, String startTime, String endTime, String stcd, String stnm) { |
||||
Long userId = SecurityUtils.getUserId(); |
||||
String tableName = "逐时潮水位表"; |
||||
return taskAndExport(tableName,startTime, endTime, stcd, stnm, userId); |
||||
} |
||||
|
||||
@Resource |
||||
private ThreadPoolExecutor importThreadPool; |
||||
|
||||
@Resource |
||||
private ThreadPoolExecutor labelThreadPool; |
||||
|
||||
@Autowired |
||||
private ApplicationContext context; |
||||
|
||||
@Resource |
||||
private YcExportTaskService ycExportTaskService; |
||||
|
||||
private R taskAndExport(String tableName,String startTime, String endTime, String stcd, String stnm, Long userId) { |
||||
String startNewTime=""; |
||||
String endNewTime=""; |
||||
if (ObjectUtils.isNotEmpty(startTime) ){ |
||||
startNewTime=startTime.substring(0,10); |
||||
} |
||||
if (ObjectUtils.isNotEmpty(endTime)){ |
||||
endNewTime=endTime.substring(0,10); |
||||
} |
||||
String filename = tableName + startNewTime + "-" + endNewTime; |
||||
// 查询是否已存在相同条件且未完成的任务
|
||||
List<YcExportTask> ongoingTasks = ycExportTaskService.list( |
||||
new QueryWrapper<YcExportTask>() |
||||
.eq("user_id", userId) |
||||
.eq("filename", filename) |
||||
.eq("status", 0) // 状态为0表示任务未完成
|
||||
); |
||||
|
||||
if (!ongoingTasks.isEmpty()) { |
||||
return R.error("当前任务正在下载中,请稍后重试"); |
||||
} |
||||
|
||||
YcExportTask ycExportTask = new YcExportTask(); |
||||
String pathPeffix = RuoYiConfig.getExportPath() + |
||||
File.separator + userId + File.separator+ |
||||
DateUtils.parseDateToStr("yyyy-MM-dd",DateUtils.getNowDate()) + File.separator + |
||||
DateUtils.parseDateToStr("HH_mm",DateUtils.getNowDate())+File.separator; |
||||
ycExportTask.setFilename(filename); |
||||
ycExportTask.setUserId(userId); |
||||
ycExportTask.setStartTime(new Date()); |
||||
ycExportTask.setStatus(0); |
||||
ycExportTask.setFilepath(pathPeffix); |
||||
ycExportTaskService.save(ycExportTask); |
||||
CompletableFuture.runAsync(() -> { |
||||
try { |
||||
File dest = new File(pathPeffix); |
||||
if (!dest.exists()) { |
||||
dest.mkdirs(); |
||||
} |
||||
String fullPath = pathPeffix + filename; |
||||
exportBlackData(fullPath, startTime, endTime, stcd, stnm); |
||||
|
||||
ycExportTask.setStatus(1); |
||||
ycExportTask.setEndTime(new Date()); |
||||
ycExportTaskService.updateById(ycExportTask); |
||||
} catch (Exception e) { |
||||
log.error(e.getMessage(), e); |
||||
R.error("任务下载失败"); |
||||
} |
||||
}, labelThreadPool); |
||||
return R.ok("任务已提交,请稍后下载"); |
||||
} |
||||
|
||||
|
||||
private void exportBlackData(String tableName, String startTime, String endTime, String stcd, String stnm) { |
||||
Map<String, Object> rainMap = CommonUtils.getYearAndDayDataMap(new PageParams(0L, 1000000000L), startTime, endTime, stcd, stnm); |
||||
ExcelUtils.excelBackExport2("dayDscs.xls", tableName, (Sheet sheet, CellStyle style) -> |
||||
dataModel1(rainMap, sheet, style)); |
||||
} |
||||
|
||||
public int dataModel1(Map<String, Object> map, Sheet sheet, CellStyle style) { |
||||
// 批量查询数据
|
||||
IPage<HyZscsBVo> hyZscsBVoIPage = this.baseMapper.selectHyZscsBDataByPageAndInfo(new Query<HyZscsBVo>().getPage(map), map); |
||||
|
||||
List<HyZscsBVo> records = hyZscsBVoIPage.getRecords(); |
||||
// 定义当前sheet的行号
|
||||
int rowIndex = 2; // 从第二行开始写入数据
|
||||
// 定义全局序号
|
||||
int globalIndex = 1; // 从1开始
|
||||
|
||||
// 定义当前sheet的编号
|
||||
int sheetIndex = 1; |
||||
|
||||
// 最大行数限制
|
||||
int maxRowsPerSheet = 65536; // 对于 .xls 文件,最大行数为 65536
|
||||
int batchSize = 1000; // 每次批量处理1000行,减少逐行写入的开销
|
||||
|
||||
// 复制表头到新sheet的逻辑
|
||||
ExcelUtils.copyHeader(sheet, style); |
||||
|
||||
// 批量处理数据
|
||||
for (int i = 0; i < records.size(); i += batchSize) { |
||||
// 处理一批数据
|
||||
int toIndex = Math.min(i + batchSize, records.size()); |
||||
List<HyZscsBVo> batchList = records.subList(i, toIndex); |
||||
|
||||
// 批量写入数据
|
||||
for (HyZscsBVo vo : batchList) { |
||||
// 如果当前行数达到最大行数,创建新sheet
|
||||
if (rowIndex >= maxRowsPerSheet) { |
||||
sheetIndex++; |
||||
sheet = sheet.getWorkbook().createSheet("逐时潮水位表" + sheetIndex); |
||||
rowIndex = 2; // 重置行号
|
||||
// 复制表头到新sheet
|
||||
ExcelUtils.copyHeader(sheet, style); |
||||
} |
||||
|
||||
// 创建新行并写入数据
|
||||
Row row = ExcelUtils.createRow(sheet, rowIndex); |
||||
|
||||
// 使用 globalIndex 作为序号
|
||||
ExcelUtils.formatCell(row, 0, String.valueOf(globalIndex), style); |
||||
ExcelUtils.formatCell(row, 1, vo.getStcd() != null ? vo.getStcd() : "", style); |
||||
ExcelUtils.formatCell(row, 2, vo.getStnm() != null ? vo.getStnm() : "", style); |
||||
ExcelUtils.formatCell(row, 3, vo.getTm() != null ? DateUtils.parseDateToStr(SystemConstants.TIME_FORMAT,vo.getTm()) : "", style); |
||||
ExcelUtils.formatCell(row, 4, vo.getTdr() != null ? vo.getTdr() : "", style); |
||||
ExcelUtils.formatCell(row, 5, vo.getTdz() != null ? vo.getTdz().toString() : "", style); |
||||
ExcelUtils.formatCell(row, 6, vo.getTdzrcd() != null ? vo.getTdzrcd() : "", style); |
||||
// 增加行号和全局序号
|
||||
rowIndex++; |
||||
globalIndex++; |
||||
} |
||||
} |
||||
return 0; |
||||
} |
||||
} |
@ -0,0 +1,271 @@
@@ -0,0 +1,271 @@
|
||||
package com.ruoyi.swlscx.synchronousData.controller;//package com.ruoyi.zxzb.synchronousData.controller;
|
||||
|
||||
import com.ruoyi.common.core.page.R; |
||||
import com.ruoyi.swlscx.basic.service.YcExportTaskService; |
||||
import com.ruoyi.swlscx.synchronousData.dto.JHDayData; |
||||
import com.ruoyi.swlscx.synchronousData.service.TimeTasksService; |
||||
import org.springframework.beans.factory.annotation.Autowired; |
||||
import org.springframework.web.bind.annotation.RequestBody; |
||||
import org.springframework.web.bind.annotation.RequestHeader; |
||||
import org.springframework.web.bind.annotation.RequestMapping; |
||||
import org.springframework.web.bind.annotation.RestController; |
||||
|
||||
import java.util.List; |
||||
import java.util.concurrent.CompletableFuture; |
||||
|
||||
|
||||
@RestController |
||||
@RequestMapping("/api") |
||||
public class TimeTasksController { |
||||
|
||||
@Autowired |
||||
private YcExportTaskService ycExportTaskService; |
||||
|
||||
@Autowired |
||||
private TimeTasksService timeTasksService; |
||||
|
||||
|
||||
@RequestMapping("/importSqlserverToMysql") |
||||
public R importSqlserverToMysql(@RequestBody List<JHDayData> jhDayDataList, @RequestHeader("X-Type")String type) { |
||||
ycExportTaskService.updateOrInsertDataToMysql(jhDayDataList,type); |
||||
return R.ok(); |
||||
} |
||||
|
||||
|
||||
@RequestMapping("/test") |
||||
public R getTest1(){ |
||||
timeTasksService.setYcStaions(); |
||||
// 2. 异步执行 getDpJhQData()
|
||||
CompletableFuture<Integer> future1 = CompletableFuture.supplyAsync(() -> { |
||||
try { |
||||
timeTasksService.getDayDzcData(); |
||||
return 1; |
||||
} catch (Exception e) { return -1; } |
||||
}); |
||||
|
||||
// 2. 异步执行 getDpJhQData()
|
||||
CompletableFuture<Integer> future2 = CompletableFuture.supplyAsync(() -> { |
||||
try { |
||||
timeTasksService.getMonthMttdzData(); |
||||
return 1; |
||||
} catch (Exception e) { return -1; } |
||||
}); |
||||
|
||||
CompletableFuture<Integer> future4 = CompletableFuture.supplyAsync(() -> { |
||||
try { |
||||
timeTasksService.getDayRainData(); |
||||
return 1; |
||||
} catch (Exception e) { return -1; } |
||||
}); |
||||
CompletableFuture<Integer> future5 = CompletableFuture.supplyAsync(() -> { |
||||
try { |
||||
timeTasksService.getDayQData(); |
||||
return 1; |
||||
} catch (Exception e) { return -1; } |
||||
}); |
||||
|
||||
CompletableFuture<Integer> future6 = CompletableFuture.supplyAsync(() -> { |
||||
try { |
||||
timeTasksService.getDayDqsData(); |
||||
return 1; |
||||
} catch (Exception e) { return -1; } |
||||
}); |
||||
CompletableFuture<Integer> future7 = CompletableFuture.supplyAsync(() -> { |
||||
try { |
||||
timeTasksService.getDayDcsData(); |
||||
return 1; |
||||
} catch (Exception e) { return -1; } |
||||
}); |
||||
CompletableFuture<Integer> future8 = CompletableFuture.supplyAsync(() -> { |
||||
try { |
||||
timeTasksService.getDayDweData(); |
||||
return 1; |
||||
} catch (Exception e) { return -1; } |
||||
}); |
||||
CompletableFuture<Integer> future9 = CompletableFuture.supplyAsync(() -> { |
||||
try { |
||||
timeTasksService.getDayDwtData(); |
||||
return 1; |
||||
} catch (Exception e) { return -1; } |
||||
}); |
||||
return R.ok("测试成功"); |
||||
} |
||||
|
||||
|
||||
@RequestMapping("/test2") |
||||
public R getTest2(){ |
||||
timeTasksService.setYcStaions(); |
||||
|
||||
|
||||
// 2. 异步执行 getDpJhQData()
|
||||
CompletableFuture<Integer> future2 = CompletableFuture.supplyAsync(() -> { |
||||
try { |
||||
timeTasksService.getDayDmxpData(); |
||||
return 1; |
||||
} catch (Exception e) { return -1; } |
||||
}); |
||||
CompletableFuture<Integer> future3 = CompletableFuture.supplyAsync(() -> { |
||||
try { |
||||
timeTasksService.getDayImxfwData(); |
||||
return 1; |
||||
} catch (Exception e) { return -1; } |
||||
}); |
||||
|
||||
CompletableFuture<Integer> future4 = CompletableFuture.supplyAsync(() -> { |
||||
try { |
||||
timeTasksService.getFdheexData(); |
||||
return 1; |
||||
} catch (Exception e) { return -1; } |
||||
}); |
||||
CompletableFuture<Integer> future5 = CompletableFuture.supplyAsync(() -> { |
||||
try { |
||||
timeTasksService.getHltdzData(); |
||||
return 1; |
||||
} catch (Exception e) { return -1; } |
||||
}); |
||||
|
||||
CompletableFuture<Integer> future6 = CompletableFuture.supplyAsync(() -> { |
||||
try { |
||||
timeTasksService.getHmxpData(); |
||||
return 1; |
||||
} catch (Exception e) { return -1; } |
||||
}); |
||||
CompletableFuture<Integer> future7 = CompletableFuture.supplyAsync(() -> { |
||||
try { |
||||
timeTasksService.getMmxpData(); |
||||
return 1; |
||||
} catch (Exception e) { return -1; } |
||||
}); |
||||
CompletableFuture<Integer> future8 = CompletableFuture.supplyAsync(() -> { |
||||
try { |
||||
timeTasksService.getMtcsData(); |
||||
return 1; |
||||
} catch (Exception e) { return -1; } |
||||
}); |
||||
CompletableFuture<Integer> future9 = CompletableFuture.supplyAsync(() -> { |
||||
try { |
||||
timeTasksService.getMonthRainData(); |
||||
return 1; |
||||
} catch (Exception e) { return -1; } |
||||
}); |
||||
CompletableFuture<Integer> future10 = CompletableFuture.supplyAsync(() -> { |
||||
try { |
||||
timeTasksService.getMonthQData(); |
||||
return 1; |
||||
} catch (Exception e) { return -1; } |
||||
}); |
||||
return R.ok("测试成功"); |
||||
} |
||||
|
||||
|
||||
@RequestMapping("/test3") |
||||
public R getTest3(){ |
||||
timeTasksService.setYcStaions(); |
||||
// 2. 异步执行 getDpJhQData()
|
||||
CompletableFuture<Integer> future1 = CompletableFuture.supplyAsync(() -> { |
||||
try { |
||||
timeTasksService.getMonthMtqsData(); |
||||
return 1; |
||||
} catch (Exception e) { return -1; } |
||||
}); |
||||
|
||||
|
||||
// 2. 异步执行 getDpJhQData()
|
||||
CompletableFuture<Integer> future2 = CompletableFuture.supplyAsync(() -> { |
||||
try { |
||||
timeTasksService.getMonthMtweData(); |
||||
return 1; |
||||
} catch (Exception e) { return -1; } |
||||
}); |
||||
CompletableFuture<Integer> future3 = CompletableFuture.supplyAsync(() -> { |
||||
try { |
||||
timeTasksService.getMonthMtwtData(); |
||||
return 1; |
||||
} catch (Exception e) { return -1; } |
||||
}); |
||||
|
||||
CompletableFuture<Integer> future4 = CompletableFuture.supplyAsync(() -> { |
||||
try { |
||||
timeTasksService.getMonthRiverData(); |
||||
return 1; |
||||
} catch (Exception e) { return -1; } |
||||
}); |
||||
|
||||
CompletableFuture<Integer> future7 = CompletableFuture.supplyAsync(() -> { |
||||
try { |
||||
timeTasksService.getHourRainData(); |
||||
return 1; |
||||
} catch (Exception e) { return -1; } |
||||
}); |
||||
CompletableFuture<Integer> future8 = CompletableFuture.supplyAsync(() -> { |
||||
try { |
||||
timeTasksService.getWsfhexData(); |
||||
return 1; |
||||
} catch (Exception e) { return -1; } |
||||
}); |
||||
CompletableFuture<Integer> future9 = CompletableFuture.supplyAsync(() -> { |
||||
try { |
||||
timeTasksService.getRvfhexData(); |
||||
return 1; |
||||
} catch (Exception e) { return -1; } |
||||
}); |
||||
return R.ok("测试成功"); |
||||
} |
||||
|
||||
|
||||
@RequestMapping("/test4") |
||||
public R getTest4(){ |
||||
timeTasksService.setYcStaions(); |
||||
// 2. 异步执行 getDpJhQData()
|
||||
CompletableFuture<Integer> future1 = CompletableFuture.supplyAsync(() -> { |
||||
try { |
||||
timeTasksService.getYrcsData(); |
||||
return 1; |
||||
} catch (Exception e) { return -1; } |
||||
}); |
||||
|
||||
|
||||
// 2. 异步执行 getDpJhQData()
|
||||
CompletableFuture<Integer> future2 = CompletableFuture.supplyAsync(() -> { |
||||
try { |
||||
timeTasksService.getYearQData(); |
||||
return 1; |
||||
} catch (Exception e) { return -1; } |
||||
}); |
||||
CompletableFuture<Integer> future3 = CompletableFuture.supplyAsync(() -> { |
||||
try { |
||||
timeTasksService.getYearRainData(); |
||||
return 1; |
||||
} catch (Exception e) { return -1; } |
||||
}); |
||||
|
||||
CompletableFuture<Integer> future4 = CompletableFuture.supplyAsync(() -> { |
||||
try { |
||||
timeTasksService.getYearTideData(); |
||||
return 1; |
||||
} catch (Exception e) { return -1; } |
||||
}); |
||||
CompletableFuture<Integer> future5 = CompletableFuture.supplyAsync(() -> { |
||||
try { |
||||
timeTasksService.getYearMtweData(); |
||||
return 1; |
||||
} catch (Exception e) { return -1; } |
||||
}); |
||||
|
||||
CompletableFuture<Integer> future6 = CompletableFuture.supplyAsync(() -> { |
||||
try { |
||||
timeTasksService.getYearWtData(); |
||||
return 1; |
||||
} catch (Exception e) { return -1; } |
||||
}); |
||||
CompletableFuture<Integer> future7 = CompletableFuture.supplyAsync(() -> { |
||||
try { |
||||
timeTasksService.getYearYrzData(); |
||||
return 1; |
||||
} catch (Exception e) { return -1; } |
||||
}); |
||||
return R.ok("测试成功"); |
||||
} |
||||
|
||||
|
||||
} |
@ -0,0 +1,860 @@
@@ -0,0 +1,860 @@
|
||||
package com.ruoyi.swlscx.synchronousData.dto; |
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty; |
||||
import com.alibaba.excel.annotation.format.DateTimeFormat; |
||||
import com.baomidou.mybatisplus.annotation.FieldStrategy; |
||||
import com.baomidou.mybatisplus.annotation.TableField; |
||||
import com.baomidou.mybatisplus.annotation.TableId; |
||||
import lombok.Data; |
||||
|
||||
import java.math.BigDecimal; |
||||
import java.util.Date; |
||||
|
||||
/** |
||||
* @Author al |
||||
* @Date 2025/5/14 16:09 |
||||
* @Description: TODO |
||||
* @Version |
||||
*/ |
||||
@Data |
||||
public class JHDayData { |
||||
|
||||
|
||||
private String stnm; |
||||
|
||||
private String stct; |
||||
|
||||
private String bshncd; |
||||
|
||||
private String hnnm; |
||||
|
||||
private String rvnm; |
||||
|
||||
private String obitmcd; |
||||
|
||||
private String addvcd; |
||||
|
||||
private String wrrgcd; |
||||
|
||||
private Integer esstyr; |
||||
|
||||
private Integer esstmth; |
||||
|
||||
private Integer wdstyr; |
||||
|
||||
private Integer wdstmth; |
||||
|
||||
private BigDecimal drar; |
||||
|
||||
private String flto; |
||||
|
||||
private BigDecimal dstrvm; |
||||
|
||||
private String fdtmnm; |
||||
|
||||
private String admag; |
||||
|
||||
private String admnst; |
||||
|
||||
private String stlc; |
||||
|
||||
private BigDecimal lgtd; |
||||
|
||||
private BigDecimal lttd; |
||||
|
||||
private String stgrd; |
||||
|
||||
private String frgrd; |
||||
|
||||
|
||||
/** |
||||
* 站码 |
||||
*/ |
||||
private String stcd; |
||||
|
||||
/** |
||||
* 日期 |
||||
*/ |
||||
private String dt; |
||||
|
||||
/** |
||||
* 降水量(毫米) |
||||
*/ |
||||
private BigDecimal p; |
||||
|
||||
/** |
||||
* 降水量注解码 |
||||
*/ |
||||
private String prcd; |
||||
|
||||
private BigDecimal avq; |
||||
|
||||
/** |
||||
* 平均流量注解码 |
||||
*/ |
||||
private String avqrcd; |
||||
|
||||
/** |
||||
* 泥沙类型 |
||||
*/ |
||||
private String sdtp; |
||||
|
||||
|
||||
/** |
||||
* 平均输沙率(千克每秒) |
||||
*/ |
||||
private BigDecimal avqs; |
||||
|
||||
/** |
||||
* 平均输沙率注解码 |
||||
*/ |
||||
private String avqsrcd; |
||||
|
||||
|
||||
|
||||
/** |
||||
* 平均含沙量(千克每立方米) |
||||
*/ |
||||
private BigDecimal avcs; |
||||
|
||||
/** |
||||
* 平均含沙量注解码 |
||||
*/ |
||||
private String avcsrcd; |
||||
|
||||
|
||||
/** |
||||
* 最大降水量时段长 |
||||
*/ |
||||
private String mxpdr; |
||||
|
||||
/** |
||||
* 年 |
||||
*/ |
||||
private String yr; |
||||
|
||||
/** |
||||
* 起始日期 |
||||
*/ |
||||
private String bgdt; |
||||
|
||||
/** |
||||
* 最大降水量 |
||||
*/ |
||||
private BigDecimal mxp; |
||||
|
||||
/** |
||||
* 最大降水量注解码 |
||||
*/ |
||||
private String mxprc; |
||||
|
||||
/** |
||||
* 蒸发器型式 |
||||
*/ |
||||
private String eetp; |
||||
|
||||
/** |
||||
* 水面蒸发量(毫米) |
||||
*/ |
||||
private BigDecimal wsfe; |
||||
|
||||
/** |
||||
* 水面蒸发量注解码 |
||||
*/ |
||||
private String wsfercd; |
||||
|
||||
|
||||
/** |
||||
* 水温 |
||||
*/ |
||||
private BigDecimal wtmp; |
||||
|
||||
/** |
||||
* 水温注解码 |
||||
*/ |
||||
private String wtmprcd; |
||||
|
||||
/** |
||||
* 平均水位(米) |
||||
*/ |
||||
private BigDecimal avz; |
||||
|
||||
/** |
||||
* 平均水位注解码 |
||||
*/ |
||||
private String avzrcd; |
||||
|
||||
/** |
||||
* 最大洪量时段长 |
||||
*/ |
||||
private String mxwdr; |
||||
|
||||
|
||||
|
||||
/** |
||||
* 最大洪量 |
||||
*/ |
||||
private BigDecimal mxw; |
||||
|
||||
/** |
||||
* 最大洪量注解码 |
||||
*/ |
||||
private String mxwrc; |
||||
|
||||
/** |
||||
* 时间 |
||||
*/ |
||||
private String tm; |
||||
|
||||
/** |
||||
* 水位 |
||||
*/ |
||||
private BigDecimal z; |
||||
|
||||
/** |
||||
* 水位注解码 |
||||
|
||||
*/ |
||||
private String zrcd; |
||||
|
||||
/** |
||||
* 流量 |
||||
*/ |
||||
private BigDecimal q; |
||||
|
||||
/** |
||||
* 含沙量 |
||||
*/ |
||||
private BigDecimal s; |
||||
|
||||
|
||||
|
||||
/** |
||||
* 潮别 |
||||
*/ |
||||
private String tdtp; |
||||
|
||||
/** |
||||
* 潮位 |
||||
*/ |
||||
private BigDecimal tdz; |
||||
|
||||
/** |
||||
* 潮位注解码 |
||||
*/ |
||||
private String tdzrcd; |
||||
|
||||
/** |
||||
* 潮差 |
||||
*/ |
||||
private BigDecimal tdrng; |
||||
|
||||
/** |
||||
* 历时 |
||||
*/ |
||||
private String dr; |
||||
|
||||
/** |
||||
* 备注 |
||||
*/ |
||||
private String nt; |
||||
|
||||
|
||||
|
||||
/** |
||||
* 起时间 |
||||
*/ |
||||
private String bgtm; |
||||
|
||||
|
||||
/** |
||||
* 月 |
||||
*/ |
||||
private String mth; |
||||
|
||||
|
||||
/** |
||||
* 最大含沙量(千克每立方米) |
||||
*/ |
||||
private BigDecimal mxs; |
||||
|
||||
/** |
||||
* 最大含沙量注解码 |
||||
*/ |
||||
private String mxsrcd; |
||||
|
||||
/** |
||||
* 最大含沙量日期 |
||||
*/ |
||||
private String mxsdt; |
||||
|
||||
/** |
||||
* 最小含沙量(千克每立方米) |
||||
*/ |
||||
private BigDecimal mns; |
||||
|
||||
/** |
||||
* 最小含沙量注解码 |
||||
*/ |
||||
private String mnsrcd; |
||||
|
||||
/** |
||||
* 最小含沙量日期 |
||||
*/ |
||||
private String mnsdt; |
||||
|
||||
|
||||
/** |
||||
* 降水日数 |
||||
*/ |
||||
private String pdynum; |
||||
|
||||
/** |
||||
* 降水日数注解码 |
||||
*/ |
||||
private String pdynumrcd; |
||||
|
||||
/** |
||||
* 最大降水量(毫米) |
||||
*/ |
||||
private BigDecimal mxdyp; |
||||
|
||||
/** |
||||
* 最大降水量注解码 |
||||
*/ |
||||
private String mxdyprcd; |
||||
|
||||
/** |
||||
* 最大日降水量出现日期 |
||||
*/ |
||||
private String mxdypodt; |
||||
|
||||
|
||||
/** |
||||
* 最高流量 |
||||
*/ |
||||
private BigDecimal mxq; |
||||
|
||||
/** |
||||
* 最高流量注解码 |
||||
*/ |
||||
private String mxqrcd; |
||||
|
||||
/** |
||||
* 最高流量日期 |
||||
*/ |
||||
private String mxqdt; |
||||
|
||||
/** |
||||
* 最小流量 |
||||
*/ |
||||
private BigDecimal mnq; |
||||
|
||||
/** |
||||
* 最小流量注解码 |
||||
*/ |
||||
private String mnqrcd; |
||||
|
||||
/** |
||||
* 最小流量日期 |
||||
*/ |
||||
private String mnqdt; |
||||
|
||||
/** |
||||
* 最大日平均沙率(千克每秒) |
||||
*/ |
||||
private BigDecimal mxdyqs; |
||||
|
||||
/** |
||||
* 最大日平均沙率注解码 |
||||
*/ |
||||
private String mxdyqsrcd; |
||||
|
||||
/** |
||||
* 最大日平均沙率出现日期 |
||||
*/ |
||||
private String mxdyqsodt; |
||||
|
||||
|
||||
|
||||
|
||||
/** |
||||
* 最大日水面蒸发量 |
||||
*/ |
||||
private BigDecimal mxdye; |
||||
|
||||
/** |
||||
* 最大日水面蒸发量注解码 |
||||
*/ |
||||
private String mxdyercd; |
||||
|
||||
/** |
||||
* 最小日水面蒸发量 |
||||
*/ |
||||
private BigDecimal mndye; |
||||
|
||||
/** |
||||
* 最小日水面蒸发量注解码 |
||||
*/ |
||||
private String mndyercd; |
||||
|
||||
/** |
||||
* 平均水温(摄氏度) |
||||
*/ |
||||
private BigDecimal avwtmp; |
||||
|
||||
/** |
||||
* 平均水温注解码 |
||||
*/ |
||||
private String avwtmprcd; |
||||
|
||||
/** |
||||
* 最高水温(摄氏度) |
||||
*/ |
||||
private BigDecimal mxwtmp; |
||||
|
||||
/** |
||||
* 最高水温注解码 |
||||
*/ |
||||
private String mxwtmprcd; |
||||
|
||||
/** |
||||
* 最高水温日期 |
||||
*/ |
||||
private String mxwtmpdt; |
||||
|
||||
/** |
||||
* 最低水温(摄氏度) |
||||
*/ |
||||
private BigDecimal mnwtmp; |
||||
|
||||
/** |
||||
* 最低水温注解码 |
||||
*/ |
||||
private String mnwtmprcd; |
||||
|
||||
/** |
||||
* 最低水温日期 |
||||
*/ |
||||
private String mnwtmpdt; |
||||
|
||||
|
||||
/** |
||||
* 最高水位 |
||||
*/ |
||||
private BigDecimal htz; |
||||
|
||||
/** |
||||
* 最高水位注解码 |
||||
*/ |
||||
private String htzrcd; |
||||
|
||||
/** |
||||
* 最高水位日期 |
||||
*/ |
||||
private String htzdt; |
||||
|
||||
/** |
||||
* 最低水位 |
||||
*/ |
||||
private BigDecimal mnz; |
||||
|
||||
/** |
||||
* 最低水位注解码 |
||||
*/ |
||||
private String mnzrcd; |
||||
|
||||
/** |
||||
* 最低水位日期 |
||||
*/ |
||||
private String mnzdt; |
||||
|
||||
|
||||
/** |
||||
* 止时间 |
||||
*/ |
||||
private String endtm; |
||||
|
||||
|
||||
/** |
||||
* 坝上水位 |
||||
*/ |
||||
private BigDecimal dambhdz; |
||||
|
||||
/** |
||||
* 坝上水位注解码 |
||||
*/ |
||||
private String dambhdzrcd; |
||||
|
||||
|
||||
/** |
||||
* 蓄水量 |
||||
*/ |
||||
private BigDecimal w; |
||||
|
||||
|
||||
|
||||
/** |
||||
* 闸上水位 |
||||
*/ |
||||
private BigDecimal upz; |
||||
|
||||
/** |
||||
* 闸上水位注解码 |
||||
*/ |
||||
private String upzrcd; |
||||
|
||||
/** |
||||
* 闸下水位 |
||||
*/ |
||||
private BigDecimal dwz; |
||||
|
||||
/** |
||||
* 闸下水位注解码 |
||||
*/ |
||||
private String dwzrcd; |
||||
|
||||
|
||||
/** |
||||
* 径流量(万立方米) |
||||
*/ |
||||
private BigDecimal rw; |
||||
|
||||
/** |
||||
* 径流量注解码 |
||||
*/ |
||||
private String rwrcd; |
||||
|
||||
/** |
||||
* 径流模数(立方分米每秒平方千米) |
||||
*/ |
||||
private BigDecimal rm; |
||||
|
||||
/** |
||||
* 径流深(毫米) |
||||
*/ |
||||
private BigDecimal rd; |
||||
|
||||
|
||||
|
||||
/** |
||||
* 终霜日期 |
||||
*/ |
||||
private String frdsdt; |
||||
|
||||
/** |
||||
* 初霜日期 |
||||
*/ |
||||
private String frapdt; |
||||
|
||||
/** |
||||
* 终雪日期 |
||||
*/ |
||||
private String sndsdt; |
||||
|
||||
/** |
||||
* 初雪日期 |
||||
*/ |
||||
private String snapdt; |
||||
|
||||
|
||||
/** |
||||
* 平均高潮潮位 |
||||
*/ |
||||
private BigDecimal avhtdz; |
||||
|
||||
/** |
||||
* 平均高潮潮位注解码 |
||||
*/ |
||||
private String avhtdzrcd; |
||||
|
||||
/** |
||||
* 最高高潮位 |
||||
*/ |
||||
private BigDecimal hthtdz; |
||||
|
||||
/** |
||||
* 最高高潮位注解码 |
||||
*/ |
||||
private String hthtdzrcd; |
||||
|
||||
/** |
||||
* 最高高潮位出现时间 |
||||
*/ |
||||
private String hthtdzotm; |
||||
|
||||
/** |
||||
* 最低高潮位 |
||||
*/ |
||||
private BigDecimal lthtdz; |
||||
|
||||
/** |
||||
* 最低高潮位注解码 |
||||
*/ |
||||
private String lthtdzrcd; |
||||
|
||||
/** |
||||
* 最低高潮位出现时间 |
||||
*/ |
||||
private String lthtdzotm; |
||||
|
||||
/** |
||||
* 平均低潮潮位 |
||||
*/ |
||||
private BigDecimal avltdz; |
||||
|
||||
/** |
||||
* 平均低潮潮位注解码 |
||||
*/ |
||||
private String avltdzrcd; |
||||
|
||||
/** |
||||
* 最高低潮位 |
||||
*/ |
||||
private BigDecimal htltdz; |
||||
|
||||
/** |
||||
* 最高低潮位注解码 |
||||
*/ |
||||
private String htltdzrcd; |
||||
|
||||
/** |
||||
* 最高低潮潮位出现时间 |
||||
*/ |
||||
private String htltdzotm; |
||||
|
||||
/** |
||||
* 最低低潮位 |
||||
*/ |
||||
private BigDecimal ltltdz; |
||||
|
||||
/** |
||||
* 最低低潮潮位注解码 |
||||
*/ |
||||
private String ltltdzrcd; |
||||
|
||||
/** |
||||
* 最低地潮位出现时间 |
||||
*/ |
||||
private String ltltdzotm; |
||||
|
||||
/** |
||||
* 平均涨潮潮差 |
||||
*/ |
||||
private BigDecimal avftdr; |
||||
|
||||
/** |
||||
* 平均涨潮潮差注解码 |
||||
*/ |
||||
private String avftdrrcd; |
||||
|
||||
/** |
||||
* 最大涨潮潮差 |
||||
*/ |
||||
private BigDecimal mxfltdr; |
||||
|
||||
/** |
||||
* 最大涨潮潮差注解码 |
||||
*/ |
||||
private String mxfltdrrcd; |
||||
|
||||
/** |
||||
* 最大涨潮潮差(高潮)时间 |
||||
*/ |
||||
private String mxfltdrhtm; |
||||
|
||||
/** |
||||
* 最小潮潮差 |
||||
*/ |
||||
private BigDecimal mnfltdr; |
||||
|
||||
/** |
||||
* 最小涨潮潮差注解码 |
||||
*/ |
||||
private String mnfltdrrcd; |
||||
|
||||
/** |
||||
* 最小涨潮潮差(高潮)时间 |
||||
*/ |
||||
private String mnfltdrhtm; |
||||
|
||||
/** |
||||
* 平均涨潮潮差 |
||||
*/ |
||||
private BigDecimal aver; |
||||
|
||||
/** |
||||
* 平均涨潮潮差注解码 |
||||
*/ |
||||
private String averbbrrcd; |
||||
|
||||
/** |
||||
* 最大落潮潮差 |
||||
*/ |
||||
private BigDecimal mxebtdr; |
||||
|
||||
/** |
||||
* 最大落潮潮差注解码 |
||||
*/ |
||||
private String mxebtdrrcd; |
||||
|
||||
/** |
||||
* 最大落潮潮差(高潮)时间 |
||||
*/ |
||||
private String mxebtdrht; |
||||
|
||||
/** |
||||
* 最小落潮潮差 |
||||
*/ |
||||
private BigDecimal mnebtdr; |
||||
|
||||
/** |
||||
* 最小落潮潮差注解码 |
||||
*/ |
||||
private String mnebtdrrcd; |
||||
|
||||
/** |
||||
* 最小落潮潮差(高潮)时间 |
||||
*/ |
||||
private String mnebtdrhtm; |
||||
|
||||
/** |
||||
* 平均涨潮历时 |
||||
*/ |
||||
private String avftd; |
||||
|
||||
/** |
||||
* 平均涨潮历时注解码 |
||||
*/ |
||||
private String avftdrcd; |
||||
|
||||
/** |
||||
* 最长涨潮历时 |
||||
*/ |
||||
private String mxfltddr; |
||||
|
||||
/** |
||||
* 最长涨潮历时注解码 |
||||
*/ |
||||
private String mxfltddrrcd; |
||||
|
||||
/** |
||||
* 最长涨潮历时(高潮)时间 |
||||
*/ |
||||
private String mxfltddrhtm; |
||||
|
||||
/** |
||||
* 最短涨潮历时 |
||||
*/ |
||||
private String mnfltddr; |
||||
|
||||
/** |
||||
* 最短涨潮历时注解码 |
||||
*/ |
||||
private String mnfltddrrcd; |
||||
|
||||
/** |
||||
* 最短涨潮历时(高潮)时间 |
||||
*/ |
||||
private String mnfltddrhtm; |
||||
|
||||
/** |
||||
* 平均落潮历时 |
||||
*/ |
||||
private String avebbdr; |
||||
|
||||
/** |
||||
* 平均落潮历时注解码 |
||||
*/ |
||||
private String avedrc; |
||||
|
||||
/** |
||||
* 最长落潮历时 |
||||
*/ |
||||
private Integer mxebtddr; |
||||
|
||||
/** |
||||
* 最长落潮历时注解码 |
||||
*/ |
||||
private String mxebtddrrcd; |
||||
|
||||
/** |
||||
* 最长落潮历时(高潮)时间 |
||||
*/ |
||||
private String mxebtddrhtm; |
||||
|
||||
/** |
||||
* 最短落潮历时 |
||||
*/ |
||||
private String mnbtddr; |
||||
|
||||
/** |
||||
* 最短落潮历时注解码 |
||||
*/ |
||||
private String mnebtddrrcd; |
||||
|
||||
/** |
||||
* 最短落潮历时(高潮)时间 |
||||
*/ |
||||
private String mnebtddrhtm; |
||||
|
||||
/** |
||||
* 逐时平均潮位 |
||||
*/ |
||||
private BigDecimal hravtdz; |
||||
|
||||
/** |
||||
* 逐时平均潮位注解码 |
||||
*/ |
||||
private String hravtdzrcd; |
||||
|
||||
/** |
||||
* 平均潮差 |
||||
*/ |
||||
private BigDecimal avtdr; |
||||
|
||||
/** |
||||
* 平均潮差注解码 |
||||
*/ |
||||
private String avtdrrcd; |
||||
|
||||
/** |
||||
* 平均历时 |
||||
*/ |
||||
private String avtddr; |
||||
|
||||
/** |
||||
* 平均历时注解码 |
||||
*/ |
||||
private String avtddrrcd; |
||||
|
||||
|
||||
/** |
||||
* 最大日水面蒸发量出现日期 |
||||
*/ |
||||
private String mxdyeodt; |
||||
|
||||
|
||||
/** |
||||
* 最小日水面蒸发量出现日期 |
||||
*/ |
||||
private String mndyeodt; |
||||
|
||||
/** |
||||
* 终冰日期 |
||||
*/ |
||||
private String idsdt; |
||||
|
||||
/** |
||||
* 初冰日期 |
||||
*/ |
||||
private String icapd; |
||||
|
||||
/** |
||||
* 蒸发场位置特征 |
||||
*/ |
||||
private String eslcch; |
||||
|
||||
|
||||
|
||||
} |
@ -0,0 +1,25 @@
@@ -0,0 +1,25 @@
|
||||
package com.ruoyi.swlscx.synchronousData.dto; |
||||
|
||||
import lombok.Data; |
||||
|
||||
import java.math.BigDecimal; |
||||
|
||||
/** |
||||
* @Author al |
||||
* @Date 2025/5/14 16:09 |
||||
* @Description: TODO |
||||
* @Version |
||||
*/ |
||||
@Data |
||||
public class SWDayData { |
||||
|
||||
private String stnmId; |
||||
|
||||
private String tm; |
||||
|
||||
private BigDecimal value; |
||||
|
||||
private String sign; |
||||
|
||||
|
||||
} |
@ -0,0 +1,25 @@
@@ -0,0 +1,25 @@
|
||||
package com.ruoyi.swlscx.synchronousData.dto; |
||||
|
||||
import lombok.Data; |
||||
|
||||
import java.math.BigDecimal; |
||||
|
||||
/** |
||||
* @Author al |
||||
* @Date 2025/5/14 16:09 |
||||
* @Description: TODO |
||||
* @Version |
||||
*/ |
||||
@Data |
||||
public class SWMonthData { |
||||
|
||||
private String stnmId; |
||||
|
||||
private String tm; |
||||
|
||||
private BigDecimal value; |
||||
|
||||
private String sign; |
||||
|
||||
|
||||
} |
@ -0,0 +1,81 @@
@@ -0,0 +1,81 @@
|
||||
package com.ruoyi.swlscx.synchronousData.enums; |
||||
|
||||
/** |
||||
* 水位最大最小值 |
||||
*/ |
||||
public enum JhhkTableEnum { |
||||
|
||||
DAY_RAIN("日降水", "dp_dp_c"), |
||||
|
||||
DAY_DQS("日平均输沙率表", "dp_dqs_c"), |
||||
|
||||
DAY_DCS("日平均含沙量表", "dp_dcs_c"), |
||||
|
||||
DAY_DWE("日水面蒸发量表", "dp_dwe_c"), |
||||
|
||||
DAY_DWT("日水温表", "dp_dwt_c"), |
||||
|
||||
DAY_DMXP("日时段最大降水表", "dp_dmxp_f"), |
||||
|
||||
DAY_MXFW("时段最大洪量表", "dp_imxfw_f"), |
||||
|
||||
DAY_DZ("日平均水位表", "dp_dz_c"), |
||||
|
||||
DP_FDHEEX("洪水水文要素摘录表", "dp_fdheex_b"), |
||||
DP_HLTDZ("逐潮高低潮位表", "dp_hltdz_b"), |
||||
|
||||
DP_HMXP("小时时段最大降水量表", "dp_hmxp_f"), |
||||
DP_MMXP("分钟时段最大降水量表", "dp_mmxp_f"), |
||||
|
||||
MONTH_MTCS("月含沙量表", "dp_mtcs_e"), |
||||
|
||||
MONTH_RAIN("月降水量表", "dp_mtp_e"), |
||||
|
||||
MONTH_MTQS( "月输沙率表", "dp_mtqs_e"), |
||||
MONTH_MTTDZ( "月潮位表", "dp_mttdz_e"), |
||||
|
||||
MONTH_MTWE("月水面蒸发量表", "dp_mtwe_e"), |
||||
MONTH_MTWT("月水温表", "dp_mtwt_e"), |
||||
|
||||
MONTH_Q("月流量表", "dp_mtq_e"), |
||||
MONTH_MTZ("月水位表", "dp_mtz_e"), |
||||
DP_OBQ("实测流量表", "dp_obq_r"), |
||||
|
||||
DP_PREX("降水量摘录表", "dp_prex_b"), |
||||
|
||||
DP_RVFHEX("水库洪水水文要素摘录表", "dp_rvfhex_b"), |
||||
|
||||
DP_WSFHEX("水闸洪水水文要素摘录表", "dp_wsfhex_b"), |
||||
|
||||
DP_XSMSRS("实测大断面流量表", "dp_xsmsrs_g"), |
||||
|
||||
YEAR_YRCS("年含沙量表", "dp_yrcs_f"), |
||||
|
||||
YEAR_YRWE("年水面蒸发量表", "dp_yrwe_f"), |
||||
|
||||
YEAR_Q("年流量表", "dp_yrq_f"), |
||||
|
||||
YEAR_RAIN("年降水表", "dp_yrp_f"), |
||||
YEAR_TIDE("年潮位表", "dp_yrtdz_f"), |
||||
YEAR_YRWT("年水温表", "dp_yrwt_f"), |
||||
|
||||
YEAR_YRZ("年水位表", "dp_yrz_f"), |
||||
|
||||
DAY_Q("日平均流量", "dp_dq_c"); |
||||
//DAY_Q("日平均流量", "yc_rpt_hy_dq_c");
|
||||
private final String desc; |
||||
private final String value; |
||||
|
||||
private JhhkTableEnum(String desc, String value) { |
||||
this.desc = desc; |
||||
this.value = value; |
||||
} |
||||
|
||||
public String desc() { |
||||
return desc; |
||||
} |
||||
|
||||
public String value() { |
||||
return value; |
||||
} |
||||
} |
@ -0,0 +1,94 @@
@@ -0,0 +1,94 @@
|
||||
package com.ruoyi.swlscx.synchronousData.enums; |
||||
|
||||
/** |
||||
* 水位最大最小值 |
||||
*/ |
||||
public enum SWTableEnum { |
||||
HY_STSC("测站一览表", "hy_stsc_a"), |
||||
DAY_RAIN("日降水表", "hy_dp_c"), |
||||
|
||||
DAY_Q("日平均流量表", "hy_dq_c"), |
||||
|
||||
DAY_DQS("日平均输沙率表","hy_dqs_c"), |
||||
|
||||
DAY_DCS("日平均含沙量表", "hy_dcs_f"), |
||||
DAY_DWE("日水面蒸发量表", "hy_dwe_c"), |
||||
|
||||
DAY_DWT("日水温表", "hy_dwt_c"), |
||||
|
||||
DAY_DZC("日平均水位表", "hy_dz_c"), |
||||
|
||||
DAY_MXFW("时段最大洪量表", "hy_imxfw_f"), |
||||
|
||||
HY_DMXP_F("日时段最大降水表", "hy_dmxp_f"), |
||||
|
||||
|
||||
HY_WFDZ_F("保证率水位表", "hy_wfdz_f"), |
||||
|
||||
DP_FDHEEX("洪水水文要素摘录表", "hy_fdheex_b"), |
||||
|
||||
DP_HLTDZ("逐潮高低潮位表", "hy_hltdz_b"), |
||||
|
||||
DP_HMXP("小时时段最大降水量表", "hy_hmxp_f"), |
||||
|
||||
DP_MMXP("分钟时段最大降水量表", "hy_mmxp_f"), |
||||
|
||||
DP_HOUR("降水量摘录表", "hy_prex_b"), |
||||
|
||||
MONTH_MTCS("月含沙量表", "hy_mtcs_e"), |
||||
|
||||
MONTH_RAIN( "月降水量表", "hy_mtp_e"), |
||||
|
||||
MONTH_Q("月平均流量表", "hy_mtq_e"), |
||||
|
||||
MONTH_MTQS( "月输沙率表", "hy_mtqs_e"), |
||||
|
||||
MONTH_MTTDZ( "月潮位表", "hy_mttdz_e"), |
||||
|
||||
MONTH_MTWE("月水面蒸发量表", "hy_mtwe_e"), |
||||
|
||||
MONTH_MTWT("月水温表", "hy_mtwt_e"), |
||||
|
||||
MONTH_RIVER("月水位表", "hy_mtz_e"), |
||||
MONTH_RSVR("月水库水位表", "yc_rpt_rsvr_month"), |
||||
DP_OBQ("实测流量表", "yc_rpt_hy_obq_g"), |
||||
|
||||
|
||||
DP_RVFHEX("水库洪水水文要素摘录表", "hy_rvfhex_b"), |
||||
|
||||
|
||||
DP_WSFHEX("水闸洪水水文要素摘录表", "hy_wsfhex_b"), |
||||
DP_XSMSRS("实测大断面流量表", "yc_rpt_hy_xsmsrs_g"), |
||||
YEAR_YRCS("年含沙量表", "hy_yrcs_f"), |
||||
YEAR_Q("年流量表", "hy_yrq_f"), |
||||
YEAR_RAIN("年降水量表", "hy_yrp_f"), |
||||
|
||||
YEAR_TIDE("年潮位表", "hy_yrtdz_f"), |
||||
|
||||
YEAR_RIVER("年水位表", "hy_yrz_f"), |
||||
|
||||
YEAR_RSVR("年水库水位表", "yc_rpt_rsvr_year"), |
||||
|
||||
YEAR_YRWT("年水温表", "hy_yrwt_f"), |
||||
|
||||
|
||||
YEAR_YRWE("年水面蒸发量表", "hy_yrwe_f"); |
||||
|
||||
|
||||
|
||||
private final String desc; |
||||
private final String value; |
||||
|
||||
private SWTableEnum(String desc, String value) { |
||||
this.desc = desc; |
||||
this.value = value; |
||||
} |
||||
|
||||
public String desc() { |
||||
return desc; |
||||
} |
||||
|
||||
public String value() { |
||||
return value; |
||||
} |
||||
} |
@ -0,0 +1,151 @@
@@ -0,0 +1,151 @@
|
||||
package com.ruoyi.swlscx.synchronousData.mapper; |
||||
|
||||
import com.ruoyi.swlscx.basic.domain.po.HyWfdzF; |
||||
import com.ruoyi.swlscx.day.domain.po.*; |
||||
import com.ruoyi.swlscx.excerpt.domain.po.*; |
||||
import com.ruoyi.swlscx.month.domain.po.*; |
||||
import com.ruoyi.swlscx.synchronousData.dto.JHDayData; |
||||
import com.ruoyi.swlscx.synchronousData.dto.SWDayData; |
||||
import com.ruoyi.swlscx.synchronousData.dto.SWMonthData; |
||||
import com.ruoyi.swlscx.year.domain.po.*; |
||||
import org.apache.ibatis.annotations.Mapper; |
||||
import org.apache.ibatis.annotations.Param; |
||||
|
||||
import java.util.List; |
||||
|
||||
/** |
||||
* @Author al |
||||
* @Date 2025/5/14 15:01 |
||||
* @Description: TODO |
||||
* @Version |
||||
*/ |
||||
@Mapper |
||||
public interface TimeTasksMapper { |
||||
|
||||
|
||||
List<JHDayData> getDayData(@Param("stcd")String stcd, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("tableName") String tableName); |
||||
|
||||
List<JHDayData> getDataByDgdt(@Param("stcd")String stcd,@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("tableName") String tableName); |
||||
|
||||
List<JHDayData> getDataByTm(@Param("stcd")String stcd,@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("tableName") String tableName); |
||||
|
||||
List<JHDayData> getDataByBgtm(@Param("stcd")String stcd,@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("tableName") String tableName); |
||||
|
||||
List<JHDayData> getDataByYr(@Param("stcd") String stcd, @Param("year") String year, @Param("tableName") String tableName); |
||||
|
||||
void insertOrUpdateHyDpc(@Param("list") List<HyDpC> ycRptHyDpcList, @Param("tableName") String tableName); |
||||
|
||||
void insertOrUpdateHyDqc(@Param("list") List<HyDqC> hyDqCList, @Param("tableName") String tableName); |
||||
|
||||
void insertOrUpdateHyDqsC(@Param("list") List<HyDqsC> hyDqsCList, @Param("tableName") String tableName); |
||||
|
||||
void insertOrUpdateHyDcsF(@Param("list") List<HyDcsF> hyDcsFList, @Param("tableName") String tableName); |
||||
|
||||
void insertOrUpdateHyDmxpF(@Param("list") List<HyDmxpF> hyDmxpFList, @Param("tableName") String tableName); |
||||
|
||||
void insertOrUpdateHyDweC(@Param("list") List<HyDweC> hyDweCList, @Param("tableName") String tableName); |
||||
|
||||
void insertOrUpdateHyDwtC(@Param("list") List<HyDwtC> hyDwtCList,@Param("tableName") String tableName); |
||||
|
||||
void insertOrUpdateHyDzC(@Param("list") List<HyDzC> hyDzCList, @Param("tableName") String tableName); |
||||
|
||||
void insertOrUpdateHyImxfwF(@Param("list") List<HyImxfwF> hyImxfwFList, @Param("tableName") String tableName); |
||||
|
||||
void insertOrUpdateHyFdheexB(@Param("list") List<HyFdheexB> hyFdheexBList, @Param("tableName") String tableName); |
||||
|
||||
void insertOrUpdateHyHltdzB(@Param("list") List<HyHltdzB> hyHltdzBList, @Param("tableName") String tableName); |
||||
|
||||
void insertOrUpdateHyHmxpF(@Param("list") List<HyHmxpF> hyHmxpFList, @Param("tableName") String tableName); |
||||
|
||||
void insertOrUpdateHyMmxpF(@Param("list") List<HyMmxpF> hyMmxpFList, @Param("tableName") String tableName); |
||||
|
||||
void insertOrUpdateHyMtcsE(@Param("list") List<HyMtcsE> hyMtcsEList, @Param("tableName") String tableName); |
||||
|
||||
void insertOrUpdateHyMtpEList(@Param("list") List<HyMtpE> hyMtpEList, @Param("tableName") String tableName); |
||||
|
||||
void insertOrUpdateHyMtqE(@Param("list") List<HyMtqE> hyMtqEList, @Param("tableName") String tableName); |
||||
|
||||
void insertOrUpdateHyMtqsEList(@Param("list") List<HyMtqsE> hyMtqsEList, @Param("tableName") String tableName); |
||||
|
||||
void insertOrUpdateHyMtweE(@Param("list") List<HyMtweE> hyMtweEList, @Param("tableName") String tableName); |
||||
|
||||
void insertOrUpdateHyMtwtE(@Param("list") List<HyMtwtE> hyMtwtEList, @Param("tableName") String tableName); |
||||
|
||||
void insertOrUpdateHyMtzE(@Param("list") List<HyMtzE> hyMtzEList, @Param("tableName") String tableName); |
||||
|
||||
void insertOrUpdateHyPrexBList(@Param("list") List<HyPrexB> hyPrexBList, @Param("tableName") String tableName); |
||||
|
||||
void insertOrUpdateHyRvfhexBList(@Param("list") List<HyRvfhexB> hyRvfhexBList, @Param("tableName") String tableName); |
||||
|
||||
void insertOrUpdateHyWsfhexBList(@Param("list") List<HyWsfhexB> hyWsfhexBList, @Param("tableName") String tableName); |
||||
|
||||
void insertOrUpdateHyYrcsFList(@Param("list") List<HyYrcsF> hyYrcsFList, @Param("tableName") String tableName); |
||||
|
||||
void insertOrUpdateHyYrqFList(@Param("list") List<HyYrqF> hyYrqFList, @Param("tableName") String tableName); |
||||
|
||||
void insertOrUpdateHyYrpFList(@Param("list") List<HyYrpF> hyYrpFList, @Param("tableName") String tableName); |
||||
|
||||
void insertOrUpdateHyYrtdzFList(@Param("list") List<HyYrtdzF> hyYrtdzFList,@Param("tableName") String tableName); |
||||
|
||||
void insertOrUpdateHyYrweFList(@Param("list") List<HyYrweF> hyYrweFList, @Param("tableName") String tableName); |
||||
|
||||
void insertOrUpdateHyYrwtFList(@Param("list") List<HyYrwtF> hyYrwtFList, @Param("tableName") String tableName); |
||||
|
||||
void insertOrUpdateHyYrzFList(@Param("list") List<HyYrzF> hyYrzFList, @Param("tableName") String tableName); |
||||
|
||||
void insertOrUpdateHyMttdzEList(@Param("list") List<HyMttdzE> hyMttdzEList,@Param("tableName") String tableName); |
||||
|
||||
void insertOrUpdateHyWfdzF(@Param("list") List<HyWfdzF> hyWfdzFList,@Param("tableName") String value); |
||||
//
|
||||
// void deleteAll(@Param("tableName") String tableName);
|
||||
//
|
||||
// void insertOrUpdate(@Param("list") List<SWDayData> swDayDataList, @Param("tableName") String tableName);
|
||||
//
|
||||
// void insertOrUpdateHyDqs(@Param("list") List<YcRptHyDqs> ycRptHyDqsList,@Param("tableName") String tableName);
|
||||
//
|
||||
// void insertOrUpdateHyDcs(@Param("list") List<YcRptHyDcs> ycRptHyDcsList,@Param("tableName") String tableName);
|
||||
//
|
||||
// void insertOrUpdateHyDwe(@Param("list") List<YcRptHyDwe> ycRptHyDweList, @Param("tableName") String tableName);
|
||||
//
|
||||
// void insertOrUpdateHyDwt(@Param("list") List<YcRptHyDwt> ycRptHyDwtList, @Param("tableName") String tableName);
|
||||
//
|
||||
|
||||
//
|
||||
// void insertOrUpdateArchCharRain(@Param("list") List<ArchCharRain> archCharRainList,@Param("tableName") String tableName);
|
||||
//
|
||||
// void insertOrUpdateImxfw(@Param("list") List<YcRptImxfw> ycRptImxfwList, @Param("tableName") String tableName);
|
||||
//
|
||||
//
|
||||
// void insertOrUpdateFdheex(@Param("list") List<YcRptFdheex> ycRptFdheexList, @Param("tableName") String tableName);
|
||||
//
|
||||
// void insertOrUpdateTideHour(@Param("list") List<YcRptTideHour> ycRptTideHourList, @Param("tableName") String tableName);
|
||||
//
|
||||
|
||||
//
|
||||
//
|
||||
// void insertOrUpdateHyMtcs(@Param("list") List<YcRptHyMtcs> ycRptHyMtcsList, @Param("tableName") String tableName);
|
||||
//
|
||||
// void insertOrUpdateMonthData(@Param("list") List<SWMonthData> swMonthData, @Param("tableName") String tableName);
|
||||
//
|
||||
// void insertOrUpdateMtqsData(@Param("list") List<YcRptHyMtqs> ycRptHyMtqsList, @Param("tableName") String tableName);
|
||||
//
|
||||
// void insertOrUpdateHyMtwe(@Param("list") List<YcRptHyMtwe> ycRptHyMtweList, @Param("tableName") String tableName);
|
||||
//
|
||||
// void insertOrUpdateHyMtwt(@Param("list") List<YcRptHyMtwt> ycRptHyMtwtList,@Param("tableName") String tableName);
|
||||
//
|
||||
// void insertOrUpdateDpObq(@Param("list") List<YcRptDpObqR> ycRptDpObqRS, @Param("tableName") String tableName);
|
||||
//
|
||||
// void insertOrUpdateHyRvfhexB(@Param("list") List<YcRptHyRvfhexB> ycRptHyRvfhexBList, @Param("tableName") String tableName);
|
||||
//
|
||||
// void insertOrUpdateHyWsfhexB(@Param("list") List<YcRptHyWsfhexB> ycRptHyWsfhexBList, @Param("tableName") String tableName);
|
||||
//
|
||||
// List<JHDayData> getDataByObdt(@Param("stcd")String stcd,@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("tableName") String tableName);
|
||||
//
|
||||
// void insertOrUpdateXsmsrs(@Param("list") List<YcRptXsmsrsG> ycRptXsmsrsGS, @Param("tableName") String tableName);
|
||||
//
|
||||
// void insertOrUpdateHyYrcsF(@Param("list") List<YcRptHyYrcs> ycRptHyYrcsList, @Param("tableName") String tableName);
|
||||
//
|
||||
// void insertOrUpdateYrweData(@Param("list") List<YcRptHyYrwe> ycRptHyYrweList, @Param("tableName") String tableName);
|
||||
//
|
||||
// void insertOrUpdateYrwtData(@Param("list") List<YcRptHyYrwt> ycRptHyYrwtList, @Param("tableName") String tableName);
|
||||
} |
@ -0,0 +1,15 @@
@@ -0,0 +1,15 @@
|
||||
package com.ruoyi.swlscx.synchronousData.service; |
||||
|
||||
import java.util.List; |
||||
|
||||
/** |
||||
* @Author al |
||||
* @Date 2025/5/14 14:49 |
||||
* @Description: TODO |
||||
* @Version |
||||
*/ |
||||
public interface GetDateService { |
||||
|
||||
void insertRainData(List<String> stcds,String tableName); |
||||
|
||||
} |
@ -0,0 +1,83 @@
@@ -0,0 +1,83 @@
|
||||
package com.ruoyi.swlscx.synchronousData.service; |
||||
|
||||
/** |
||||
* @Author al |
||||
* @Date 2025/5/14 14:49 |
||||
* @Description: TODO |
||||
* @Version |
||||
*/ |
||||
public interface TimeTasksService { |
||||
|
||||
void getDayRainData(); |
||||
|
||||
void getDayQData(); |
||||
|
||||
void getDayDqsData(); |
||||
//
|
||||
void getDayDcsData(); |
||||
|
||||
void getDayDweData(); |
||||
|
||||
void getDayDwtData(); |
||||
|
||||
void getDayDzcData(); |
||||
//
|
||||
// void getDayRsverData();
|
||||
|
||||
void getDayDmxpData(); |
||||
//
|
||||
void getDayImxfwData(); |
||||
|
||||
void getFdheexData(); |
||||
|
||||
void getHltdzData(); |
||||
|
||||
void getHmxpData(); |
||||
|
||||
void getMmxpData(); |
||||
|
||||
void getMtcsData(); |
||||
|
||||
void getMonthRainData(); |
||||
|
||||
void getMonthQData(); |
||||
|
||||
void getMonthMtqsData(); |
||||
|
||||
void getMonthMtweData(); |
||||
|
||||
void getMonthMtwtData(); |
||||
|
||||
void getMonthRiverData(); |
||||
//
|
||||
// void getMonthRsvrData();
|
||||
//
|
||||
// void getObqData();
|
||||
|
||||
void getHourRainData(); |
||||
|
||||
void getWsfhexData(); |
||||
|
||||
void getRvfhexData(); |
||||
|
||||
|
||||
void getYrcsData(); |
||||
|
||||
void getYearQData(); |
||||
|
||||
void getYearRainData(); |
||||
|
||||
void getYearTideData(); |
||||
|
||||
void getYearMtweData(); |
||||
|
||||
void getYearWtData(); |
||||
|
||||
void getYearYrzData(); |
||||
//
|
||||
// void getYearRsvrData();
|
||||
//
|
||||
|
||||
void getMonthMttdzData(); |
||||
void setYcStaions(); |
||||
} |
@ -0,0 +1,210 @@
@@ -0,0 +1,210 @@
|
||||
package com.ruoyi.swlscx.synchronousData.service.impl; |
||||
|
||||
import com.alibaba.fastjson.JSON; |
||||
import com.ruoyi.common.annotation.DataSource; |
||||
import com.ruoyi.common.enums.DataSourceType; |
||||
import com.ruoyi.swlscx.day.domain.po.*; |
||||
import com.ruoyi.swlscx.excerpt.domain.po.*; |
||||
import com.ruoyi.swlscx.month.domain.po.*; |
||||
import com.ruoyi.swlscx.synchronousData.dto.SWDayData; |
||||
import com.ruoyi.swlscx.synchronousData.dto.SWMonthData; |
||||
import com.ruoyi.swlscx.synchronousData.enums.SWTableEnum; |
||||
import com.ruoyi.swlscx.synchronousData.mapper.TimeTasksMapper; |
||||
import com.ruoyi.swlscx.synchronousData.service.GetDateService; |
||||
import com.ruoyi.swlscx.year.domain.po.*; |
||||
import org.springframework.beans.factory.annotation.Autowired; |
||||
import org.springframework.data.redis.core.StringRedisTemplate; |
||||
import org.springframework.stereotype.Service; |
||||
import org.springframework.transaction.annotation.Transactional; |
||||
|
||||
import java.util.List; |
||||
|
||||
/** |
||||
* @Author al |
||||
* @Date 2025/5/14 14:49 |
||||
* @Description: TODO |
||||
* @Version |
||||
*/ |
||||
@Service |
||||
public class GetDateServiceImpl implements GetDateService { |
||||
|
||||
|
||||
@Autowired |
||||
private TimeTasksMapper timeTasksMapper; |
||||
|
||||
@Autowired |
||||
private StringRedisTemplate stringRedisTemplate; |
||||
|
||||
/** |
||||
* 处理雨量数据 |
||||
*/ |
||||
@Transactional(rollbackFor = Exception.class) |
||||
@Override |
||||
@DataSource(DataSourceType.MASTER) |
||||
public void insertRainData(List<String> stcds,String tableName) { |
||||
for (String stcd : stcds) { |
||||
if (tableName.equals(SWTableEnum.DAY_RAIN.value())) { |
||||
//从redis中查数据
|
||||
List<HyDpC> ycRptHyDpcList = JSON.parseArray(stringRedisTemplate.opsForValue().get(stcd), HyDpC.class); |
||||
//更新新增操作
|
||||
timeTasksMapper.insertOrUpdateHyDpc(ycRptHyDpcList, tableName); |
||||
}else if (tableName.equals(SWTableEnum.DAY_Q.value())) { |
||||
//从redis中查数据
|
||||
List<HyDqC> hyDqCList = JSON.parseArray(stringRedisTemplate.opsForValue().get(stcd), HyDqC.class); |
||||
//更新新增操作
|
||||
timeTasksMapper.insertOrUpdateHyDqc(hyDqCList, tableName); |
||||
} else if (tableName.equals(SWTableEnum.DAY_DQS.value())) { |
||||
//从redis中查数据
|
||||
List<HyDqsC> hyDqsCList = JSON.parseArray(stringRedisTemplate.opsForValue().get(stcd), HyDqsC.class); |
||||
//更新新增操作
|
||||
timeTasksMapper.insertOrUpdateHyDqsC(hyDqsCList, tableName); |
||||
}else if (tableName.equals(SWTableEnum.DAY_DCS.value())) { |
||||
//从redis中查数据
|
||||
List<HyDcsF> hyDcsFList = JSON.parseArray(stringRedisTemplate.opsForValue().get(stcd), HyDcsF.class); |
||||
//更新新增操作
|
||||
timeTasksMapper.insertOrUpdateHyDcsF(hyDcsFList, tableName); |
||||
}else if (tableName.equals(SWTableEnum.HY_DMXP_F.value())) { |
||||
//从redis中查数据
|
||||
List<HyDmxpF> hyDmxpFList = JSON.parseArray(stringRedisTemplate.opsForValue().get(stcd), HyDmxpF.class); |
||||
//更新新增操作
|
||||
timeTasksMapper.insertOrUpdateHyDmxpF(hyDmxpFList, tableName); |
||||
}else if (tableName.equals(SWTableEnum.DAY_DWE.value())) { |
||||
//从redis中查数据
|
||||
List<HyDweC> hyDweCList = JSON.parseArray(stringRedisTemplate.opsForValue().get(stcd), HyDweC.class); |
||||
//更新新增操作
|
||||
timeTasksMapper.insertOrUpdateHyDweC(hyDweCList, tableName); |
||||
}else if (tableName.equals(SWTableEnum.DAY_DWT.value())) { |
||||
//从redis中查数据
|
||||
List<HyDwtC> hyDwtCList = JSON.parseArray(stringRedisTemplate.opsForValue().get(stcd), HyDwtC.class); |
||||
//更新新增操作
|
||||
timeTasksMapper.insertOrUpdateHyDwtC(hyDwtCList, tableName); |
||||
}else if (tableName.equals(SWTableEnum.DAY_DZC.value())) { |
||||
//从redis中查数据
|
||||
List<HyDzC> hyDzCList = JSON.parseArray(stringRedisTemplate.opsForValue().get(stcd), HyDzC.class); |
||||
//更新新增操作
|
||||
timeTasksMapper.insertOrUpdateHyDzC(hyDzCList, tableName); |
||||
}else if (tableName.equals(SWTableEnum.DAY_MXFW.value())) { |
||||
//从redis中查数据
|
||||
List<HyImxfwF> hyImxfwFList = JSON.parseArray(stringRedisTemplate.opsForValue().get(stcd), HyImxfwF.class); |
||||
//更新新增操作
|
||||
timeTasksMapper.insertOrUpdateHyImxfwF(hyImxfwFList, tableName); |
||||
}else if (tableName.equals(SWTableEnum.DP_FDHEEX.value())) { |
||||
//从redis中查数据
|
||||
List<HyFdheexB> hyFdheexBList= JSON.parseArray(stringRedisTemplate.opsForValue().get(stcd), HyFdheexB.class); |
||||
//更新新增操作
|
||||
timeTasksMapper.insertOrUpdateHyFdheexB(hyFdheexBList, tableName); |
||||
}else if (tableName.equals(SWTableEnum.DP_HLTDZ.value())) { |
||||
//从redis中查数据
|
||||
List<HyHltdzB> hyHltdzBList = JSON.parseArray(stringRedisTemplate.opsForValue().get(stcd), HyHltdzB.class); |
||||
//更新新增操作
|
||||
timeTasksMapper.insertOrUpdateHyHltdzB(hyHltdzBList, tableName); |
||||
}else if (tableName.equals(SWTableEnum.DP_HMXP.value())) { |
||||
//从redis中查数据
|
||||
List<HyHmxpF> hyHmxpFList = JSON.parseArray(stringRedisTemplate.opsForValue().get(stcd), HyHmxpF.class); |
||||
//更新新增操作
|
||||
timeTasksMapper.insertOrUpdateHyHmxpF(hyHmxpFList, tableName); |
||||
}else if (tableName.equals(SWTableEnum.DP_MMXP.value())) { |
||||
//从redis中查数据
|
||||
List<HyMmxpF> hyMmxpFList = JSON.parseArray(stringRedisTemplate.opsForValue().get(stcd), HyMmxpF.class); |
||||
//更新新增操作
|
||||
timeTasksMapper.insertOrUpdateHyMmxpF(hyMmxpFList, tableName); |
||||
}else if (tableName.equals(SWTableEnum.MONTH_MTCS.value())) { |
||||
//从redis中查数据
|
||||
List<HyMtcsE> hyMtcsEList = JSON.parseArray(stringRedisTemplate.opsForValue().get(stcd), HyMtcsE.class); |
||||
//更新新增操作
|
||||
timeTasksMapper.insertOrUpdateHyMtcsE(hyMtcsEList, tableName); |
||||
}else if (tableName.equals(SWTableEnum.MONTH_RAIN.value())) { |
||||
//从redis中查数据
|
||||
List<HyMtpE> hyMtpEList = JSON.parseArray(stringRedisTemplate.opsForValue().get(stcd), HyMtpE.class); |
||||
//更新新增操作
|
||||
timeTasksMapper.insertOrUpdateHyMtpEList(hyMtpEList, tableName); |
||||
}else if (tableName.equals(SWTableEnum.MONTH_Q.value())) { |
||||
//从redis中查数据
|
||||
List<HyMtqE> hyMtqEList = JSON.parseArray(stringRedisTemplate.opsForValue().get(stcd), HyMtqE.class); |
||||
//更新新增操作
|
||||
timeTasksMapper.insertOrUpdateHyMtqE(hyMtqEList, tableName); |
||||
}else if (tableName.equals(SWTableEnum.MONTH_MTQS.value())) { |
||||
//从redis中查数据
|
||||
List<HyMtqsE> hyMtqsEList = JSON.parseArray(stringRedisTemplate.opsForValue().get(stcd), HyMtqsE.class); |
||||
//更新新增操作
|
||||
timeTasksMapper.insertOrUpdateHyMtqsEList(hyMtqsEList, tableName); |
||||
}else if (tableName.equals(SWTableEnum.MONTH_MTWE.value())) { |
||||
//从redis中查数据
|
||||
List<HyMtweE> hyMtweEList = JSON.parseArray(stringRedisTemplate.opsForValue().get(stcd), HyMtweE.class); |
||||
//更新新增操作
|
||||
timeTasksMapper.insertOrUpdateHyMtweE(hyMtweEList, tableName); |
||||
}else if (tableName.equals(SWTableEnum.MONTH_MTWT.value())) { |
||||
//从redis中查数据
|
||||
List<HyMtwtE> hyMtwtEList = JSON.parseArray(stringRedisTemplate.opsForValue().get(stcd), HyMtwtE.class); |
||||
//更新新增操作
|
||||
timeTasksMapper.insertOrUpdateHyMtwtE(hyMtwtEList, tableName); |
||||
}else if (tableName.equals(SWTableEnum.MONTH_RIVER.value())) { |
||||
//从redis中查数据
|
||||
List<HyMtzE> hyMtzEList = JSON.parseArray(stringRedisTemplate.opsForValue().get(stcd), HyMtzE.class); |
||||
//更新新增操作
|
||||
timeTasksMapper.insertOrUpdateHyMtzE(hyMtzEList, tableName); |
||||
}else if (tableName.equals(SWTableEnum.DP_HOUR.value())) { |
||||
//从redis中查数据
|
||||
List<HyPrexB> hyPrexBList = JSON.parseArray(stringRedisTemplate.opsForValue().get(stcd), HyPrexB.class); |
||||
//更新新增操作
|
||||
timeTasksMapper.insertOrUpdateHyPrexBList(hyPrexBList, tableName); |
||||
}else if (tableName.equals(SWTableEnum.DP_RVFHEX.value())) { |
||||
//从redis中查数据
|
||||
List<HyRvfhexB> hyRvfhexBList = JSON.parseArray(stringRedisTemplate.opsForValue().get(stcd), HyRvfhexB.class); |
||||
//更新新增操作
|
||||
timeTasksMapper.insertOrUpdateHyRvfhexBList(hyRvfhexBList, tableName); |
||||
}else if (tableName.equals(SWTableEnum.DP_WSFHEX.value())) { |
||||
//从redis中查数据
|
||||
List<HyWsfhexB> hyWsfhexBList = JSON.parseArray(stringRedisTemplate.opsForValue().get(stcd), HyWsfhexB.class); |
||||
//更新新增操作
|
||||
timeTasksMapper.insertOrUpdateHyWsfhexBList(hyWsfhexBList, tableName); |
||||
}else if (tableName.equals(SWTableEnum.YEAR_YRCS.value())) { |
||||
//从redis中查数据
|
||||
List<HyYrcsF> hyYrcsFList = JSON.parseArray(stringRedisTemplate.opsForValue().get(stcd), HyYrcsF.class); |
||||
//更新新增操作
|
||||
timeTasksMapper.insertOrUpdateHyYrcsFList(hyYrcsFList, tableName); |
||||
}else if (tableName.equals(SWTableEnum.YEAR_Q.value())) { |
||||
//从redis中查数据
|
||||
List<HyYrqF> hyYrqFList = JSON.parseArray(stringRedisTemplate.opsForValue().get(stcd), HyYrqF.class); |
||||
//更新新增操作
|
||||
timeTasksMapper.insertOrUpdateHyYrqFList(hyYrqFList, tableName); |
||||
}else if (tableName.equals(SWTableEnum.YEAR_RAIN.value())) { |
||||
//从redis中查数据
|
||||
List<HyYrpF> hyYrpFList = JSON.parseArray(stringRedisTemplate.opsForValue().get(stcd), HyYrpF.class); |
||||
//更新新增操作
|
||||
timeTasksMapper.insertOrUpdateHyYrpFList(hyYrpFList, tableName); |
||||
}else if (tableName.equals(SWTableEnum.YEAR_TIDE.value())) { |
||||
//从redis中查数据
|
||||
List<HyYrtdzF> hyYrtdzFList = JSON.parseArray(stringRedisTemplate.opsForValue().get(stcd), HyYrtdzF.class); |
||||
//更新新增操作
|
||||
timeTasksMapper.insertOrUpdateHyYrtdzFList(hyYrtdzFList, tableName); |
||||
}else if (tableName.equals(SWTableEnum.YEAR_YRWE.value())) { |
||||
//从redis中查数据
|
||||
List<HyYrweF> hyYrweFList = JSON.parseArray(stringRedisTemplate.opsForValue().get(stcd), HyYrweF.class); |
||||
//更新新增操作
|
||||
timeTasksMapper.insertOrUpdateHyYrweFList(hyYrweFList, tableName); |
||||
}else if (tableName.equals(SWTableEnum.YEAR_YRWT.value())) { |
||||
//从redis中查数据
|
||||
List<HyYrwtF> hyYrwtFList = JSON.parseArray(stringRedisTemplate.opsForValue().get(stcd), HyYrwtF.class); |
||||
//更新新增操作
|
||||
timeTasksMapper.insertOrUpdateHyYrwtFList(hyYrwtFList, tableName); |
||||
}else if (tableName.equals(SWTableEnum.YEAR_RIVER.value())) { |
||||
//从redis中查数据
|
||||
List<HyYrzF> hyYrzFList = JSON.parseArray(stringRedisTemplate.opsForValue().get(stcd), HyYrzF.class); |
||||
//更新新增操作
|
||||
timeTasksMapper.insertOrUpdateHyYrzFList(hyYrzFList, tableName); |
||||
}else if (tableName.equals(SWTableEnum.MONTH_MTTDZ.value())) { |
||||
//从redis中查数据
|
||||
List<HyMttdzE> hyMttdzEList = JSON.parseArray(stringRedisTemplate.opsForValue().get(stcd), HyMttdzE.class); |
||||
//更新新增操作
|
||||
timeTasksMapper.insertOrUpdateHyMttdzEList(hyMttdzEList, tableName); |
||||
} |
||||
|
||||
} |
||||
//清除redis缓存
|
||||
for (String stcd : stcds) { |
||||
stringRedisTemplate.delete(stcd); |
||||
} |
||||
} |
||||
|
||||
} |
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,38 @@
@@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!DOCTYPE mapper |
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" |
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||
<mapper namespace="com.ruoyi.swlscx.day.mapper.HyZscsBMapper"> |
||||
|
||||
|
||||
<select id="selectHyZscsBDataByPageAndInfo" resultType="com.ruoyi.swlscx.day.domain.vo.HyZscsBVo"> |
||||
select |
||||
hme.stcd, |
||||
hme.stnm , |
||||
hme.tm, |
||||
hme.tdr, |
||||
hme.tdz, |
||||
hme.tdzrcd |
||||
from hy_zscs_b hme |
||||
<where> |
||||
<trim prefixOverrides="and"> |
||||
<if test="map.stnm != null and map.stnm != ''"> |
||||
and hme.stnm like concat('%',#{map.stnm},'%') |
||||
</if> |
||||
<if test="map.stcd != null and map.stcd.size >0"> |
||||
and hme.stcd in |
||||
<foreach collection="map.stcd" item="stcd" separator="," open="(" close=")"> |
||||
#{stcd} |
||||
</foreach> |
||||
</if> |
||||
<if test="map.startTime != null and map.startTime != ''"> |
||||
and hme.tm >= #{map.startTime} |
||||
</if> |
||||
<if test="map.endTime != null and map.endTime != ''"> |
||||
and hme.tm <= #{map.endTime} |
||||
</if> |
||||
</trim> |
||||
</where> |
||||
order by hme.stcd,hme.tm |
||||
</select> |
||||
</mapper> |
File diff suppressed because it is too large
Load Diff
Loading…
Reference in new issue