fix: 优化逻辑

This commit is contained in:
tangwei 2026-07-23 16:08:02 +08:00
parent c96d572ae6
commit e18ec36653
3 changed files with 8 additions and 8 deletions

View File

@ -32,7 +32,7 @@ public interface MsWarnRuleBMapper extends BaseMapper<MsWarnRuleB> {
@Update("UPDATE MS_WARN_RULE_B SET STCD = #{stcd} WHERE ID = #{id}")
void updateStcd(@Param("stcd") String stcd, @Param("id") String id);
@Select("SELECT t2.STTP_NAME FROM MS_STBPRP_T t1 INNER JOIN SD_STTP_B t2 ON t1.STTP = t2.ID WHERE t1.STCD = #{stcd}")
@Select("SELECT t2.STTP_NAME FROM V_MS_STBPRP_T t1 INNER JOIN SD_STTP_B t2 ON t1.STTP = t2.ID WHERE t1.STCD = #{stcd}")
String getSttpCodeNameByStcd(@Param("stcd") String stcd);
@Select("SELECT COUNT(t1.ID) FROM MS_WARN_RULE_B t1 INNER JOIN MS_WARN_RULE_DETAIL_B t2 ON t1.ID = t2.RULE_ID " +

View File

@ -385,7 +385,7 @@ public class MsWarnRuleBServiceImpl extends ServiceImpl<MsWarnRuleBMapper, MsWar
vo.setSttpId(msStcdWarnRuleB.getSttpId());
}
if (StringUtils.isNotBlank(vo.getStcd())) {
String sql = "SELECT stcd, stnm, rstcd, ennm FROM MS_STBPRP_T WHERE STCD = '" + vo.getStcd() + "'";
String sql = "SELECT stcd, stnm, rstcd, ennm FROM V_MS_STBPRP_T WHERE STCD = '" + vo.getStcd() + "'";
List<MsWarnRuleBVo> voList = microservicDynamicSQLMapper.pageAllListWithResultType(null, sql, null, MsWarnRuleBVo.class);
if (!CollectionUtils.isEmpty(voList)) {
MsWarnRuleBVo stationVo = voList.get(0);

View File

@ -87,7 +87,7 @@ public interface AlongDetailMapper extends BaseMapper<SdAlongDetailVO> {
//降雨量
@Select("SELECT a.TM, AVG(a.DRP) AS DRP " +
"FROM SD_PPTN_R a " +
"INNER JOIN MS_STBPRP_T b ON a.STCD = b.STCD " +
"INNER JOIN V_MS_STBPRP_T b ON a.STCD = b.STCD " +
"WHERE b.STTP_CODE = 'MM' " +
"AND a.IS_DELETED = 0 AND b.IS_DELETED = 0 " +
"AND b.RSTCD = (SELECT RSTCD FROM SD_WT_B_H WHERE STCD = #{stcd} AND IS_DELETED = 0) " +
@ -97,7 +97,7 @@ public interface AlongDetailMapper extends BaseMapper<SdAlongDetailVO> {
//气象站数据
@Select("SELECT a.TM, AVG(a.AT) AS AT " +
"FROM SD_TMP_R a " +
"INNER JOIN MS_STBPRP_T b ON a.STCD = b.STCD " +
"INNER JOIN V_MS_STBPRP_T b ON a.STCD = b.STCD " +
"WHERE b.STTP_CODE = 'MM' AND a.IS_DELETED = 0 AND b.IS_DELETED = 0 " +
"AND b.RSTCD = (SELECT RSTCD FROM SD_WT_B_H WHERE STCD = #{stcd} AND IS_DELETED = 0) " +
"AND a.TM BETWEEN #{startTime} AND #{endTime} " +
@ -124,10 +124,10 @@ public interface AlongDetailMapper extends BaseMapper<SdAlongDetailVO> {
"REGEXP_REPLACE(LISTAGG(TO_CHAR(c.STNM), ',') WITHIN GROUP (ORDER BY c.STCD), '([^,]+)(,\\1)*(,|$)', '\\1\\3') AS vtStnm, " +
"REGEXP_REPLACE(LISTAGG(TO_CHAR(d.STCD), ',') WITHIN GROUP (ORDER BY d.STCD), '([^,]+)(,\\1)*(,|$)', '\\1\\3') AS dwStcd, " +
"REGEXP_REPLACE(LISTAGG(TO_CHAR(d.STNM), ',') WITHIN GROUP (ORDER BY d.STCD), '([^,]+)(,\\1)*(,|$)', '\\1\\3') AS dwStnm " +
"FROM MS_STBPRP_T a " +
"LEFT JOIN MS_STBPRP_T b ON a.STCD = b.RSTCD AND b.STTP_CODE = 'WTRV' AND b.IS_DELETED = 0 AND b.MWAY = 2 AND b.DTIN_TYPE = 0 " +
"LEFT JOIN MS_STBPRP_T c ON a.STCD = c.RSTCD AND c.STTP_CODE = 'WTVT' AND c.IS_DELETED = 0 AND c.MWAY = 2 " +
"LEFT JOIN MS_STBPRP_T d ON a.STCD = d.RSTCD AND d.STTP_CODE LIKE 'DW_%' AND d.IS_DELETED = 0 " +
"FROM V_MS_STBPRP_T a " +
"LEFT JOIN V_MS_STBPRP_T b ON a.STCD = b.RSTCD AND b.STTP_CODE = 'WTRV' AND b.IS_DELETED = 0 AND b.MWAY = 2 AND b.DTIN_TYPE = 0 " +
"LEFT JOIN V_MS_STBPRP_T c ON a.STCD = c.RSTCD AND c.STTP_CODE = 'WTVT' AND c.IS_DELETED = 0 AND c.MWAY = 2 " +
"LEFT JOIN V_MS_STBPRP_T d ON a.STCD = d.RSTCD AND d.STTP_CODE LIKE 'DW_%' AND d.IS_DELETED = 0 " +
"WHERE a.STTP_CODE = 'ENG' AND a.IS_DELETED = 0 " +
"AND b.STCD IS NOT NULL AND c.STCD IS NOT NULL AND d.STCD IS NOT NULL AND b.ENG_DWT_CODE IS NOT NULL " +
"AND (d.STCD = #{stcd} OR b.STCD = #{stcd} OR c.STCD = #{stcd} OR a.STCD = #{stcd}) " +