From 5ba2f5e9bb1c034bf086db04687581a4f90cc38c Mon Sep 17 00:00:00 2001 From: tangwei Date: Fri, 12 Jun 2026 14:28:12 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=A2=9E=E5=8A=A0=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E8=BF=87=E9=B1=BC=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fp/service/impl/FpRunServiceImpl.java | 25 ++++++++----------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/backend/src/main/java/com/yfd/platform/qgc_env/fp/service/impl/FpRunServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_env/fp/service/impl/FpRunServiceImpl.java index c556a84b..9f0266a2 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_env/fp/service/impl/FpRunServiceImpl.java +++ b/backend/src/main/java/com/yfd/platform/qgc_env/fp/service/impl/FpRunServiceImpl.java @@ -390,6 +390,7 @@ public class FpRunServiceImpl implements FpRunService { } private String buildQgcFpssTableCoreSql() { + String fishNameExpr = buildFishDictionaryDisplayExpr("cRv", "cZy", "t.FTP"); return "SELECT " + "src.STCD AS stcd, " + "src.STNM AS stnm, " + @@ -423,9 +424,9 @@ public class FpRunServiceImpl implements FpRunService { " SELECT t.STCD AS STCD, " + " fp.STNM AS STNM, " + " TO_CHAR(t.TM, 'YYYY-MM-DD HH24:MI:SS') AS TM, " + - " COALESCE(fishRv.NAME, relRv.FISH_NAME, fishZy.NAME, relZy.FISH_NAME, fishDirect.NAME, t.FTP) AS FTP, " + + " COALESCE(c.NAME, t.FTP ) AS FTP , " + " t.FTP AS FISHID, " + - " fishRv.NAME AS NAME, " + + " COALESCE(c.NAME, t.FTP ) AS NAME, " + " t.FSZ AS FSZ, " + " TO_CHAR(t.TM, 'YYYY') AS YR, " + " TO_CHAR(t.FCNT) AS FCNT, " + @@ -451,19 +452,15 @@ public class FpRunServiceImpl implements FpRunService { " FROM SD_FPSSRL_R t " + " LEFT JOIN SD_FPSS_B_H fp ON fp.STCD = t.STCD " + " LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = fp.RSTCD AND NVL(eng.IS_DELETED, 0) = 0 " + - " LEFT JOIN SD_FISHDICTORY_RLTN_B relRv ON relRv.FISH_ID = t.FTP AND relRv.RVCD = eng.HBRVCD AND NVL(relRv.IS_DELETED, 0) = 0 " + - " LEFT JOIN SD_FISHDICTORY_B fishRv ON fishRv.ID = relRv.ZY_FISH_ID AND NVL(fishRv.IS_DELETED, 0) = 0 AND NVL(fishRv.ENABLE, 1) = 1 " + - " LEFT JOIN SD_FISHDICTORY_RLTN_B relZy ON relZy.FISH_ID = t.FTP AND relZy.RVCD = 'ZY' AND NVL(relZy.IS_DELETED, 0) = 0 " + - " LEFT JOIN SD_FISHDICTORY_B fishZy ON fishZy.ID = relZy.ZY_FISH_ID AND NVL(fishZy.IS_DELETED, 0) = 0 AND NVL(fishZy.ENABLE, 1) = 1 " + - " LEFT JOIN SD_FISHDICTORY_B fishDirect ON fishDirect.ID = t.FTP AND NVL(fishDirect.IS_DELETED, 0) = 0 AND NVL(fishDirect.ENABLE, 1) = 1 " + + " LEFT JOIN V_SD_FISHDICTORY_B c ON t.FTP = c.FISH_ID AND (fp.HBRVCD = c.RVCD OR c.RVCD = 'ZY') " + " WHERE NVL(t.IS_DELETED, 0) = 0 " + " UNION ALL " + " SELECT t.STCD AS STCD, " + " fp.STNM AS STNM, " + " TO_CHAR(t.STRDT, 'YYYY-MM-DD HH24:MI:SS') AS TM, " + - " COALESCE(fishRv.NAME, relRv.FISH_NAME, fishZy.NAME, relZy.FISH_NAME, fishDirect.NAME, t.FTP) AS FTP, " + + " COALESCE(c.NAME, t.FTP ) AS FTP, " + " t.FTP AS FISHID, " + - " fishRv.NAME AS NAME, " + + " COALESCE(c.NAME, t.FTP ) AS NAME, " + " t.FSZ AS FSZ, " + " TO_CHAR(t.STRDT, 'YYYY') AS YR, " + " TO_CHAR(t.FCNT) AS FCNT, " + @@ -489,15 +486,15 @@ public class FpRunServiceImpl implements FpRunService { " FROM SD_FPSS_R t " + " LEFT JOIN SD_FPSS_B_H fp ON fp.STCD = t.STCD " + " LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = fp.RSTCD AND NVL(eng.IS_DELETED, 0) = 0 " + - " LEFT JOIN SD_FISHDICTORY_RLTN_B relRv ON relRv.FISH_ID = t.FTP AND relRv.RVCD = eng.HBRVCD AND NVL(relRv.IS_DELETED, 0) = 0 " + - " LEFT JOIN SD_FISHDICTORY_B fishRv ON fishRv.ID = relRv.ZY_FISH_ID AND NVL(fishRv.IS_DELETED, 0) = 0 AND NVL(fishRv.ENABLE, 1) = 1 " + - " LEFT JOIN SD_FISHDICTORY_RLTN_B relZy ON relZy.FISH_ID = t.FTP AND relZy.RVCD = 'ZY' AND NVL(relZy.IS_DELETED, 0) = 0 " + - " LEFT JOIN SD_FISHDICTORY_B fishZy ON fishZy.ID = relZy.ZY_FISH_ID AND NVL(fishZy.IS_DELETED, 0) = 0 AND NVL(fishZy.ENABLE, 1) = 1 " + - " LEFT JOIN SD_FISHDICTORY_B fishDirect ON fishDirect.ID = t.FTP AND NVL(fishDirect.IS_DELETED, 0) = 0 AND NVL(fishDirect.ENABLE, 1) = 1 " + + " LEFT JOIN V_SD_FISHDICTORY_B c ON t.FTP = c.FISH_ID AND (fp.HBRVCD = c.RVCD OR c.RVCD = 'ZY') " + " WHERE NVL(t.IS_DELETED, 0) = 0 " + ") src"; } + private String buildFishDictionaryDisplayExpr(String rvAlias, String zyAlias, String fishFieldExpr) { + return "COALESCE(" + rvAlias + ".NAME, " + zyAlias + ".NAME, " + fishFieldExpr + ")"; + } + private String buildQgcFpssTableDetailSelectSql(List selectFields) { Map selectMap = new LinkedHashMap<>(); selectMap.put("stcd", "t.stcd AS stcd");