From 2fcc7e666d2380b59d945fa4515efcfd976b61ed Mon Sep 17 00:00:00 2001 From: tangwei Date: Fri, 12 Jun 2026 11:38:05 +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 | 134 +++++++++--------- 1 file changed, 69 insertions(+), 65 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 db09544e..31f88ac9 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,36 +390,73 @@ public class FpRunServiceImpl implements FpRunService { private String buildQgcFpssTableCoreSql() { return "SELECT " + - "manualData.STCD AS stcd, " + - "manualData.STNM AS stnm, " + - "manualData.TM AS tm, " + - "manualData.FTP AS ftp, " + - "manualData.FISHID AS fishId, " + - "manualData.FSZ AS fsz, " + - "manualData.YR AS yr, " + - "manualData.FCNT AS fcnt, " + - "manualData.LENGTH AS length, " + - "manualData.WIDTH AS width, " + - "manualData.FISHSPEED AS fishspeed, " + - "manualData.DIRECTION AS direction, " + - "manualData.DIRECTIONNAME AS directionName, " + - "manualData.UPFCNT AS upFcnt, " + - "manualData.DOWNFCNT AS downFcnt, " + - "manualData.TEMPERATURE AS temperature, " + - "manualData.SPEED AS speed, " + - "manualData.FIRSTIMGURL AS firstimgurl, " + - "manualData.VIDEOURL AS videourl, " + - "manualData.FWET AS fwet, " + - "manualData.FID AS fid, " + - "manualData.PICPTH AS picpth, " + - "manualData.VDPTH AS vdpth, " + - "manualData.DATASRC AS dataSrc, " + - "manualData.MWAY AS mway, " + - "manualData.STRDT AS strdt, " + - "manualData.ENDDT AS enddt " + + "src.STCD AS stcd, " + + "src.STNM AS stnm, " + + "src.TM AS tm, " + + "src.FTP AS ftp, " + + "src.FISHID AS fishId, " + + "src.FSZ AS fsz, " + + "src.YR AS yr, " + + "src.FCNT AS fcnt, " + + "src.LENGTH AS length, " + + "src.WIDTH AS width, " + + "src.FISHSPEED AS fishspeed, " + + "src.DIRECTION AS direction, " + + "src.DIRECTIONNAME AS directionName, " + + "src.UPFCNT AS upFcnt, " + + "src.DOWNFCNT AS downFcnt, " + + "src.TEMPERATURE AS temperature, " + + "src.SPEED AS speed, " + + "src.FIRSTIMGURL AS firstimgurl, " + + "src.VIDEOURL AS videourl, " + + "src.FWET AS fwet, " + + "src.FID AS fid, " + + "src.PICPTH AS picpth, " + + "src.VDPTH AS vdpth, " + + "src.DATASRC AS dataSrc, " + + "src.MWAY AS mway, " + + "src.STRDT AS strdt, " + + "src.ENDDT AS enddt " + "FROM ( " + " 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, " + + " t.FTP AS FISHID, " + + " t.FSZ AS FSZ, " + + " TO_CHAR(t.TM, 'YYYY') AS YR, " + + " TO_CHAR(t.FCNT) AS FCNT, " + + " TO_CHAR(t.LENGTH) AS LENGTH, " + + " TO_CHAR(t.WIDTH) AS WIDTH, " + + " t.FISHSPEED AS FISHSPEED, " + + " TO_CHAR(t.DIRECTION) AS DIRECTION, " + + " CASE t.DIRECTION WHEN 0 THEN '上行' WHEN 1 THEN '下行' WHEN 2 THEN '上行折返' WHEN 3 THEN '下行折返' END AS DIRECTIONNAME, " + + " CASE WHEN t.DIRECTION = 0 THEN t.FCNT END AS UPFCNT, " + + " CASE WHEN t.DIRECTION = 1 THEN t.FCNT END AS DOWNFCNT, " + + " TO_CHAR(t.TEMPERATURE) AS TEMPERATURE, " + + " TO_CHAR(t.SPEED) AS SPEED, " + + " t.FIRSTIMGURL AS FIRSTIMGURL, " + + " t.VIDEOURL AS VIDEOURL, " + + " NULL AS FWET, " + + " t.FID AS FID, " + + " t.FIRSTIMGURL AS PICPTH, " + + " t.VIDEOURL AS VDPTH, " + + " '自动识别' AS DATASRC, " + + " 2 AS MWAY, " + + " t.TM AS STRDT, " + + " t.TM AS ENDDT " + + " 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 " + + " 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, " + " t.FTP AS FISHID, " + @@ -439,55 +476,22 @@ public class FpRunServiceImpl implements FpRunService { " CAST(NULL AS VARCHAR2(255)) AS VIDEOURL, " + " t.FWET AS FWET, " + " NULL AS FID, " + - "t.PICPTH AS picpth, " + - "t.VDPTH AS vdpth, " + - " '人工填报' AS DATASRC, " + -// " CASE WHEN t.AI_STCD IS NULL THEN '人工填报' ELSE aiFp.STNM END AS DATASRC, " + + " t.PICPTH AS PICPTH, " + + " t.VDPTH AS VDPTH, " + + " '人工填报' AS DATASRC, " + " 1 AS MWAY, " + " t.STRDT AS STRDT, " + " t.ENDDT AS ENDDT " + " FROM SD_FPSS_R t " + " LEFT JOIN SD_FPSS_B_H fp ON fp.STCD = t.STCD " + -// " LEFT JOIN SD_FPSS_B_H aiFp ON aiFp.STCD = t.AI_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 " + - " WHERE " + -// "(t.TASK_STATUS = 'Approved' OR t.TASK_STATUS IS NULL) AND "+ - " NVL(t.IS_DELETED, 0) = 0 " + -// " UNION ALL " + -// " SELECT CAST(NULL AS VARCHAR2(36)) AS STCD, " + -// " CAST(NULL AS VARCHAR2(64)) AS STNM, " + -// " CAST(NULL AS VARCHAR2(19)) AS TM, " + -// " CAST(NULL AS VARCHAR2(255)) AS FTP, " + -// " CAST(NULL AS VARCHAR2(200)) AS FISHID, " + -// " CAST(NULL AS VARCHAR2(256)) AS FSZ, " + -// " CAST(NULL AS VARCHAR2(4)) AS YR, " + -// " CAST(NULL AS VARCHAR2(20)) AS FCNT, " + -// " CAST(NULL AS VARCHAR2(50)) AS LENGTH, " + -// " CAST(NULL AS VARCHAR2(50)) AS WIDTH, " + -// " CAST(NULL AS VARCHAR2(50)) AS FISHSPEED, " + -// " CAST(NULL AS VARCHAR2(10)) AS DIRECTION, " + -// " CAST(NULL AS VARCHAR2(20)) AS DIRECTIONNAME, " + -// " CAST(NULL AS NUMBER(18,0)) AS UPFCNT, " + -// " CAST(NULL AS NUMBER(18,0)) AS DOWNFCNT, " + -// " CAST(NULL AS VARCHAR2(50)) AS TEMPERATURE, " + -// " CAST(NULL AS VARCHAR2(50)) AS SPEED, " + -// " CAST(NULL AS VARCHAR2(255)) AS FIRSTIMGURL, " + -// " CAST(NULL AS VARCHAR2(255)) AS VIDEOURL, " + -// " CAST(NULL AS VARCHAR2(50)) AS FWET, " + -// " CAST(NULL AS VARCHAR2(255)) AS picpth, " + -// " CAST(NULL AS VARCHAR2(255)) vdpth FWET, " + -// " CAST(NULL AS VARCHAR2(1000)) AS FID, " + -// " CAST(NULL AS VARCHAR2(64)) AS DATASRC, " + -// " 2 AS MWAY, " + -// " CAST(NULL AS TIMESTAMP) AS STRDT, " + -// " CAST(NULL AS TIMESTAMP) AS ENDDT " + -// " FROM DUAL WHERE 1 = 0 " + - ") manualData"; + " WHERE NVL(t.IS_DELETED, 0) = 0 " + + ") src"; } private String buildQgcFpssTableDetailSelectSql(List selectFields) {