fix: 增加自动过鱼数据

This commit is contained in:
tangwei 2026-06-12 13:57:43 +08:00
parent 2fcc7e666d
commit 2f4a7b538c
2 changed files with 30 additions and 21 deletions

View File

@ -19,6 +19,10 @@ public class FpTableVo {
@Schema(description = "鱼种类")
private String ftp;
@Schema(description = "鱼种类")
private String ftpName;
@Schema(description = "鱼类编码")
private String fishId;

View File

@ -310,31 +310,32 @@ public class FpRunServiceImpl implements FpRunService {
DataSourceLoadOptionsBase loadOptions,
String stcdFilter) {
StringBuilder sql = new StringBuilder("SELECT ");
sql.append("CAST(NULL AS VARCHAR2(36)) AS stcd, ")
.append("CAST(NULL AS VARCHAR2(255)) AS stnm, ")
.append("CAST(NULL AS VARCHAR2(19)) AS tm, ")
sql.append("MAX(t.stcd) AS stcd, ")
.append("MAX(t.stnm) AS stnm, ")
.append("MIN(t.tm) AS tm, ")
.append("t.ftp AS ftp, ")
.append("CAST(NULL AS VARCHAR2(200)) AS fishId, ")
.append("t.ftpName AS ftpName, ")
.append("MAX(t.fishId) AS fishId, ")
.append("MAX(t.fsz) AS fsz, ")
.append("TO_CHAR(SUM(TO_NUMBER(NVL(t.fcnt, '0')))) AS fcnt, ")
.append("CAST(NULL AS VARCHAR2(50)) AS length, ")
.append("CAST(NULL AS VARCHAR2(50)) AS width, ")
.append("CAST(NULL AS VARCHAR2(50)) AS fishspeed, ")
.append("CAST(NULL AS VARCHAR2(20)) AS direction, ")
.append("CAST(NULL AS VARCHAR2(20)) AS directionName, ")
.append("CAST(NULL AS VARCHAR2(50)) AS temperature, ")
.append("CAST(NULL AS VARCHAR2(50)) AS speed, ")
.append("CAST(NULL AS VARCHAR2(255)) AS firstimgurl, ")
.append("CAST(NULL AS VARCHAR2(255)) AS videourl, ")
.append("MAX(t.length) AS length, ")
.append("MAX(t.width) AS width, ")
.append("MAX(t.fishspeed) AS fishspeed, ")
.append("MAX(t.direction) AS direction, ")
.append("MAX(t.directionName) AS directionName, ")
.append("MAX(t.temperature) AS temperature, ")
.append("MAX(t.speed) AS speed, ")
.append("MAX(t.firstimgurl) AS firstimgurl, ")
.append("MAX(t.videourl) AS videourl, ")
.append("t.yr AS yr, ")
.append("CAST(NULL AS VARCHAR2(50)) AS fwet, ")
.append("CAST(NULL AS VARCHAR2(1000)) AS fid, ")
.append("CAST(NULL AS NUMBER(18,0)) AS upFcnt, ")
.append("CAST(NULL AS NUMBER(18,0)) AS downFcnt, ")
.append("CAST(NULL AS VARCHAR2(64)) AS dataSrc, ")
.append("CAST(NULL AS NUMBER(3,0)) AS mway, ")
.append("CAST(NULL AS VARCHAR2(255)) AS picpth, ")
.append("CAST(NULL AS VARCHAR2(255)) AS vdpth ")
.append("MAX(t.fwet) AS fwet, ")
.append("MAX(t.fid) AS fid, ")
.append("SUM(NVL(t.upFcnt, 0)) AS upFcnt, ")
.append("SUM(NVL(t.downFcnt, 0)) AS downFcnt, ")
.append("CASE WHEN COUNT(DISTINCT t.dataSrc) = 1 THEN MAX(t.dataSrc) ELSE '人工+自动' END AS dataSrc, ")
.append("CASE WHEN COUNT(DISTINCT t.mway) = 1 THEN MAX(t.mway) ELSE NULL END AS mway, ")
.append("MAX(t.picpth) AS picpth, ")
.append("MAX(t.vdpth) AS vdpth ")
.append("FROM (")
.append(buildQgcFpssTableCoreSql())
.append(") t WHERE 1 = 1 ");
@ -394,6 +395,7 @@ public class FpRunServiceImpl implements FpRunService {
"src.STNM AS stnm, " +
"src.TM AS tm, " +
"src.FTP AS ftp, " +
"src.NAME AS ftpName, " +
"src.FISHID AS fishId, " +
"src.FSZ AS fsz, " +
"src.YR AS yr, " +
@ -423,6 +425,7 @@ public class FpRunServiceImpl implements FpRunService {
" 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, " +
" fishRv.NAME AS NAME, " +
" t.FSZ AS FSZ, " +
" TO_CHAR(t.TM, 'YYYY') AS YR, " +
" TO_CHAR(t.FCNT) AS FCNT, " +
@ -460,6 +463,7 @@ public class FpRunServiceImpl implements FpRunService {
" 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, " +
" fishRv.NAME AS NAME, " +
" t.FSZ AS FSZ, " +
" TO_CHAR(t.STRDT, 'YYYY') AS YR, " +
" TO_CHAR(t.FCNT) AS FCNT, " +
@ -500,6 +504,7 @@ public class FpRunServiceImpl implements FpRunService {
selectMap.put("stnm", "t.stnm AS stnm");
selectMap.put("tm", "t.tm AS tm");
selectMap.put("ftp", "t.ftp AS ftp");
selectMap.put("ftpName", "t.ftpName AS ftpName");
selectMap.put("fishId", "t.fishId AS fishId");
selectMap.put("fsz", "t.fsz AS fsz");
selectMap.put("yr", "t.yr AS yr");