fix: 增加自动过鱼数据

This commit is contained in:
tangwei 2026-06-12 14:28:12 +08:00
parent 2f4a7b538c
commit 5ba2f5e9bb

View File

@ -390,6 +390,7 @@ public class FpRunServiceImpl implements FpRunService {
} }
private String buildQgcFpssTableCoreSql() { private String buildQgcFpssTableCoreSql() {
String fishNameExpr = buildFishDictionaryDisplayExpr("cRv", "cZy", "t.FTP");
return "SELECT " + return "SELECT " +
"src.STCD AS stcd, " + "src.STCD AS stcd, " +
"src.STNM AS stnm, " + "src.STNM AS stnm, " +
@ -423,9 +424,9 @@ public class FpRunServiceImpl implements FpRunService {
" SELECT t.STCD AS STCD, " + " SELECT t.STCD AS STCD, " +
" fp.STNM AS STNM, " + " fp.STNM AS STNM, " +
" TO_CHAR(t.TM, 'YYYY-MM-DD HH24:MI:SS') AS TM, " + " 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, " + " t.FTP AS FISHID, " +
" fishRv.NAME AS NAME, " + " COALESCE(c.NAME, t.FTP ) AS NAME, " +
" t.FSZ AS FSZ, " + " t.FSZ AS FSZ, " +
" TO_CHAR(t.TM, 'YYYY') AS YR, " + " TO_CHAR(t.TM, 'YYYY') AS YR, " +
" TO_CHAR(t.FCNT) AS FCNT, " + " TO_CHAR(t.FCNT) AS FCNT, " +
@ -451,19 +452,15 @@ public class FpRunServiceImpl implements FpRunService {
" FROM SD_FPSSRL_R t " + " FROM SD_FPSSRL_R t " +
" LEFT JOIN SD_FPSS_B_H fp ON fp.STCD = t.STCD " + " 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_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 V_SD_FISHDICTORY_B c ON t.FTP = c.FISH_ID AND (fp.HBRVCD = c.RVCD OR c.RVCD = 'ZY') " +
" 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 " +
" WHERE NVL(t.IS_DELETED, 0) = 0 " + " WHERE NVL(t.IS_DELETED, 0) = 0 " +
" UNION ALL " + " UNION ALL " +
" SELECT t.STCD AS STCD, " + " SELECT t.STCD AS STCD, " +
" fp.STNM AS STNM, " + " fp.STNM AS STNM, " +
" TO_CHAR(t.STRDT, 'YYYY-MM-DD HH24:MI:SS') AS TM, " + " 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, " + " t.FTP AS FISHID, " +
" fishRv.NAME AS NAME, " + " COALESCE(c.NAME, t.FTP ) AS NAME, " +
" t.FSZ AS FSZ, " + " t.FSZ AS FSZ, " +
" TO_CHAR(t.STRDT, 'YYYY') AS YR, " + " TO_CHAR(t.STRDT, 'YYYY') AS YR, " +
" TO_CHAR(t.FCNT) AS FCNT, " + " TO_CHAR(t.FCNT) AS FCNT, " +
@ -489,15 +486,15 @@ public class FpRunServiceImpl implements FpRunService {
" FROM SD_FPSS_R t " + " FROM SD_FPSS_R t " +
" LEFT JOIN SD_FPSS_B_H fp ON fp.STCD = t.STCD " + " 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_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 V_SD_FISHDICTORY_B c ON t.FTP = c.FISH_ID AND (fp.HBRVCD = c.RVCD OR c.RVCD = 'ZY') " +
" 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 " +
" WHERE NVL(t.IS_DELETED, 0) = 0 " + " WHERE NVL(t.IS_DELETED, 0) = 0 " +
") src"; ") src";
} }
private String buildFishDictionaryDisplayExpr(String rvAlias, String zyAlias, String fishFieldExpr) {
return "COALESCE(" + rvAlias + ".NAME, " + zyAlias + ".NAME, " + fishFieldExpr + ")";
}
private String buildQgcFpssTableDetailSelectSql(List<String> selectFields) { private String buildQgcFpssTableDetailSelectSql(List<String> selectFields) {
Map<String, String> selectMap = new LinkedHashMap<>(); Map<String, String> selectMap = new LinkedHashMap<>();
selectMap.put("stcd", "t.stcd AS stcd"); selectMap.put("stcd", "t.stcd AS stcd");