Browse Source

feat: 南方片交互

master
LeoAnn 6 days ago
parent
commit
ad58c7a796
  1. 2
      swlscx/src/main/java/com/ruoyi/swlscx/basic/controller/BaseInfoController.java
  2. 6
      swlscx/src/main/java/com/ruoyi/swlscx/basic/mapper/HyStscAMapper.java
  3. 60
      swlscx/src/main/java/com/ruoyi/swlscx/basic/service/impl/HyStscAServiceImpl.java
  4. 2
      swlscx/src/main/java/com/ruoyi/swlscx/common/utils/SqlServerDataSourceUtil.java
  5. 10
      swlscx/src/main/resources/mapper/basic/HyStscAMapper.xml

2
swlscx/src/main/java/com/ruoyi/swlscx/basic/controller/BaseInfoController.java

@ -165,7 +165,7 @@ public class BaseInfoController { @@ -165,7 +165,7 @@ public class BaseInfoController {
String password = params.get("password").toString();
String database = params.get("dataBase").toString();
String url = "jdbc:sqlserver://" + ip + ":1433;databaseName=" + database+";ncrypt=false;allowMultiQueries=true";
String url = "jdbc:sqlserver://" + ip + ":14333;databaseName=" + database+";ncrypt=false;allowMultiQueries=true";
// 测试连接
try {

6
swlscx/src/main/java/com/ruoyi/swlscx/basic/mapper/HyStscAMapper.java

@ -7,6 +7,8 @@ import com.ruoyi.swlscx.basic.domain.po.HyStscA; @@ -7,6 +7,8 @@ import com.ruoyi.swlscx.basic.domain.po.HyStscA;
import com.ruoyi.swlscx.basic.domain.po.HyWfdzF;
import com.ruoyi.swlscx.basic.domain.po.YcShdpInfo;
import com.ruoyi.swlscx.basic.domain.vo.HyStscAVo;
import com.ruoyi.swlscx.day.domain.po.HyDpC;
import com.ruoyi.swlscx.day.domain.po.HyDzC;
import com.ruoyi.swlscx.synchronousData.dto.JHDayData;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -48,6 +50,10 @@ public interface HyStscAMapper extends BaseMapper<HyStscA> { @@ -48,6 +50,10 @@ public interface HyStscAMapper extends BaseMapper<HyStscA> {
List<Map<String, Object>> testSqlServer();
List<HyWfdzF> listByHyWfdzF(@Param("startYear") String startYear, @Param("endYear") String endYear, @Param("list") List<String> stringList);
List<HyDzC> listHyDzC(@Param("startTimeDay") String startTimeDay, @Param("endTimeDay") String endTimeDay);
List<HyDpC> listHyDpc(@Param("startTimeDay") String startTimeDay, @Param("endTimeDay") String endTimeDay);
}

60
swlscx/src/main/java/com/ruoyi/swlscx/basic/service/impl/HyStscAServiceImpl.java

@ -778,6 +778,11 @@ public class HyStscAServiceImpl extends ServiceImpl<HyStscAMapper, HyStscA> impl @@ -778,6 +778,11 @@ public class HyStscAServiceImpl extends ServiceImpl<HyStscAMapper, HyStscA> impl
String[] splitEndTime = endTime.split("-");
String endYear = splitEndTime[0];
String endMth = splitEndTime[1];
String[] dateDay = getDateDay(startTime, endTime);
String startTimeDay = dateDay[0];
String endTimeDay = dateDay[1];
List<String> stcds = new ArrayList<>();
if (type.equals("P")) {
QueryWrapper<HyMtpE> queryWrapper = new QueryWrapper<>();
@ -795,39 +800,30 @@ public class HyStscAServiceImpl extends ServiceImpl<HyStscAMapper, HyStscA> impl @@ -795,39 +800,30 @@ public class HyStscAServiceImpl extends ServiceImpl<HyStscAMapper, HyStscA> impl
List<HyMtpE> rainStationList = hyMtpEService.list(queryWrapper);
stcds = rainStationList.stream().map(HyMtpE::getStcd).distinct().collect(Collectors.toList());
} else if (type.equals("H")) {
QueryWrapper<HyMtzE> queryWrapper = new QueryWrapper<>();
queryWrapper.and(wrapper -> {
if (startYear.equals(endYear)) {
// 同一年:直接范围查询
wrapper.apply("(yr = {0} AND mth BETWEEN {1} AND {2})", startYear, "01", "12");
} else {
// 跨年:组合三段条件
wrapper.apply("(yr = {0} AND mth >= {1})", startYear, "01"); // 起始年(1月至今)
for (int year = Integer.parseInt(startYear) + 1; year < Integer.parseInt(endYear); year++) {
wrapper.or().apply("yr = {0}", year); // 中间整年
}
wrapper.or().apply("(yr = {0} AND mth <= {1})", endYear, "12"); // 结束年(1-12月)
}
});
List<HyMtzE> rainStationList = hyMtzEService.list(queryWrapper);
stcds = rainStationList.stream().map(HyMtzE::getStcd).distinct().collect(Collectors.toList());
List<HyMttdzE> hyMttdzEList = hyMttdzEService.list(Wrappers.lambdaQuery(HyMttdzE.class).between(HyMttdzE::getYr, startYear, endYear));
List<HyMtzE> rainStationList = hyMtzEService.list(Wrappers.lambdaQuery(HyMtzE.class).between(HyMtzE::getYr, startYear, endYear));
List<String> allStcdList = new ArrayList<>();
hyMttdzEList.forEach(e -> allStcdList.add(e.getStcd())); // 添加第一个列表
rainStationList.forEach(e -> allStcdList.add(e.getStcd())); // 添加第二个列表
stcds = allStcdList.stream().distinct().collect(Collectors.toList());
} else if (type.equals("Q")) {
QueryWrapper<HyMtqE> queryWrapper = new QueryWrapper<>();
queryWrapper.and(wrapper -> {
if (startYear.equals(endYear)) {
// 同一年:直接范围查询
wrapper.apply("(yr = {0} AND mth BETWEEN {1} AND {2})", startYear, "01", "12");
} else {
// 跨年:组合三段条件
wrapper.apply("(yr = {0} AND mth >= {1})", startYear, "01"); // 起始年(1月至今)
for (int year = Integer.parseInt(startYear) + 1; year < Integer.parseInt(endYear); year++) {
wrapper.or().apply("yr = {0}", year); // 中间整年
}
wrapper.or().apply("(yr = {0} AND mth <= {1})", endYear, "12"); // 结束年(1-12月)
}
});
List<HyMtqE> rainStationList = hyMtqEService.list(queryWrapper);
stcds = rainStationList.stream().map(HyMtqE::getStcd).distinct().collect(Collectors.toList());
// QueryWrapper<HyMtqE> queryWrapper = new QueryWrapper<>();
// queryWrapper.and(wrapper -> {
// if (startYear.equals(endYear)) {
// // 同一年:直接范围查询
// wrapper.apply("(yr = {0} AND mth BETWEEN {1} AND {2})", startYear, "01", "12");
// } else {
// // 跨年:组合三段条件
// wrapper.apply("(yr = {0} AND mth >= {1})", startYear, "01"); // 起始年(1月至今)
// for (int year = Integer.parseInt(startYear) + 1; year < Integer.parseInt(endYear); year++) {
// wrapper.or().apply("yr = {0}", year); // 中间整年
// }
// wrapper.or().apply("(yr = {0} AND mth <= {1})", endYear, "12"); // 结束年(1-12月)
// }
// });
List<HyDpC> rainStationList = this.baseMapper.listHyDpc(startTimeDay,endTimeDay);
stcds = rainStationList.stream().map(HyDpC::getStcd).distinct().collect(Collectors.toList());
}
if (!stcds.isEmpty()) {
list = this.list(Wrappers.lambdaQuery(HyStscA.class).in(HyStscA::getStcd, stcds));

2
swlscx/src/main/java/com/ruoyi/swlscx/common/utils/SqlServerDataSourceUtil.java

@ -14,7 +14,7 @@ public class SqlServerDataSourceUtil { @@ -14,7 +14,7 @@ public class SqlServerDataSourceUtil {
// 基本连接配置
dataSource.setDriverClassName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
dataSource.setUrl(String.format(
"jdbc:sqlserver://%s:1433;databaseName=%s;encrypt=false;",
"jdbc:sqlserver://%s:14333;databaseName=%s;encrypt=false;",
formDataRo.getSqlseverIp(),
formDataRo.getDataBase()
));

10
swlscx/src/main/resources/mapper/basic/HyStscAMapper.xml

@ -211,4 +211,14 @@ WITH @@ -211,4 +211,14 @@ WITH
#{stcd}
</foreach>)
</select>
<select id="listHyDzC" resultType="com.ruoyi.swlscx.day.domain.po.HyDzC">
select stcd,dt from hy_dz_c where dt >= #{startTimeDay} and dt &lt;= #{endTimeDay}
</select>
<select id="listHyDpc" resultType="com.ruoyi.swlscx.day.domain.po.HyDpC">
select stcd,dt from hy_dq_c where dt >= #{startTimeDay} and dt &lt;= #{endTimeDay}
</select>
</mapper>

Loading…
Cancel
Save