100 changed files with 9103 additions and 234 deletions
Binary file not shown.
@ -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 @@ |
|||||||
|
|
||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
|
||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
|
||||||
|
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 @@ |
|||||||
|
|
||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
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 @@ |
|||||||
|
<?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