feat: 环保自动监测开展情况
This commit is contained in:
parent
0295c67e41
commit
1fe6607dbf
@ -75,6 +75,12 @@ public class WeFishController {
|
|||||||
return ResponseResult.successData(weFishService.getWeCompareBarList(dataSourceRequest));
|
return ResponseResult.successData(weFishService.getWeCompareBarList(dataSourceRequest));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/base/evnmAutoMonitor/GetKendoListCust")
|
||||||
|
@Operation(summary = "环保自动监测开展情况")
|
||||||
|
public ResponseResult getEnvmAutoMonitorList(@RequestBody DataSourceRequest dataSourceRequest) {
|
||||||
|
return ResponseResult.successData(weFishService.getEnvmAutoMonitorList(dataSourceRequest));
|
||||||
|
}
|
||||||
|
|
||||||
@PostMapping("/we/fisht/year/qgc/GetKendoListCust")
|
@PostMapping("/we/fisht/year/qgc/GetKendoListCust")
|
||||||
@Operation(summary = "全过程沿程鱼类变化情况有数据的流域和年份")
|
@Operation(summary = "全过程沿程鱼类变化情况有数据的流域和年份")
|
||||||
public ResponseResult getQgcFishStaticsYearList(@RequestBody DataSourceRequest dataSourceRequest) {
|
public ResponseResult getQgcFishStaticsYearList(@RequestBody DataSourceRequest dataSourceRequest) {
|
||||||
|
|||||||
@ -0,0 +1,27 @@
|
|||||||
|
package com.yfd.platform.qgc_env.wte.entity.vo;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Schema(description = "环保自动监测开展情况")
|
||||||
|
public class WeEnvmAutoMonitorVo {
|
||||||
|
|
||||||
|
@Schema(description = "数量")
|
||||||
|
private Integer cnt;
|
||||||
|
|
||||||
|
@Schema(description = "功能序号")
|
||||||
|
private Integer orderInx;
|
||||||
|
|
||||||
|
@Schema(description = "功能序号名称")
|
||||||
|
private String orderInxName;
|
||||||
|
|
||||||
|
@Schema(description = "类型路径")
|
||||||
|
private String sttpFullPath;
|
||||||
|
|
||||||
|
@Schema(description = "站点类型")
|
||||||
|
private String sttpCode;
|
||||||
|
|
||||||
|
@Schema(description = "站点类型名称")
|
||||||
|
private String sttpName;
|
||||||
|
}
|
||||||
@ -5,6 +5,7 @@ import com.yfd.platform.common.DataSourceResult;
|
|||||||
import com.yfd.platform.qgc_env.wte.entity.vo.WeFishListQgcVo;
|
import com.yfd.platform.qgc_env.wte.entity.vo.WeFishListQgcVo;
|
||||||
import com.yfd.platform.qgc_env.wte.entity.vo.WeFishListStatQgcVo;
|
import com.yfd.platform.qgc_env.wte.entity.vo.WeFishListStatQgcVo;
|
||||||
import com.yfd.platform.qgc_env.wte.entity.vo.WeCompareBarTableVo;
|
import com.yfd.platform.qgc_env.wte.entity.vo.WeCompareBarTableVo;
|
||||||
|
import com.yfd.platform.qgc_env.wte.entity.vo.WeEnvmAutoMonitorVo;
|
||||||
import com.yfd.platform.qgc_env.wte.entity.vo.WeFishDetailVo;
|
import com.yfd.platform.qgc_env.wte.entity.vo.WeFishDetailVo;
|
||||||
import com.yfd.platform.qgc_env.wte.entity.vo.WeMsstbprptVo;
|
import com.yfd.platform.qgc_env.wte.entity.vo.WeMsstbprptVo;
|
||||||
import com.yfd.platform.qgc_env.wte.entity.vo.WeFishPointQgcVo;
|
import com.yfd.platform.qgc_env.wte.entity.vo.WeFishPointQgcVo;
|
||||||
@ -41,6 +42,8 @@ public interface WeFishService {
|
|||||||
|
|
||||||
DataSourceResult<WeCompareBarTableVo> getWeCompareBarList(DataSourceRequest dataSourceRequest);
|
DataSourceResult<WeCompareBarTableVo> getWeCompareBarList(DataSourceRequest dataSourceRequest);
|
||||||
|
|
||||||
|
DataSourceResult<WeEnvmAutoMonitorVo> getEnvmAutoMonitorList(DataSourceRequest dataSourceRequest);
|
||||||
|
|
||||||
DataSourceResult<Map<String, List<String>>> getQgcFishStaticsYearList(DataSourceRequest dataSourceRequest);
|
DataSourceResult<Map<String, List<String>>> getQgcFishStaticsYearList(DataSourceRequest dataSourceRequest);
|
||||||
|
|
||||||
DataSourceResult<WeStaticsVo> getQgcWeFishStatics(DataSourceRequest dataSourceRequest);
|
DataSourceResult<WeStaticsVo> getQgcWeFishStatics(DataSourceRequest dataSourceRequest);
|
||||||
|
|||||||
@ -13,6 +13,7 @@ import com.yfd.platform.common.MicroservicDynamicSQLMapper;
|
|||||||
import com.yfd.platform.qgc_env.wte.entity.vo.WeCompareBarHeadColumnVo;
|
import com.yfd.platform.qgc_env.wte.entity.vo.WeCompareBarHeadColumnVo;
|
||||||
import com.yfd.platform.qgc_env.wte.entity.vo.WeCompareBarTableVo;
|
import com.yfd.platform.qgc_env.wte.entity.vo.WeCompareBarTableVo;
|
||||||
import com.yfd.platform.qgc_env.wte.entity.vo.WeCompareBarVo;
|
import com.yfd.platform.qgc_env.wte.entity.vo.WeCompareBarVo;
|
||||||
|
import com.yfd.platform.qgc_env.wte.entity.vo.WeEnvmAutoMonitorVo;
|
||||||
import com.yfd.platform.qgc_env.wte.entity.vo.WeFishListQgcVo;
|
import com.yfd.platform.qgc_env.wte.entity.vo.WeFishListQgcVo;
|
||||||
import com.yfd.platform.qgc_env.wte.entity.vo.WeFishListStatQgcVo;
|
import com.yfd.platform.qgc_env.wte.entity.vo.WeFishListStatQgcVo;
|
||||||
import com.yfd.platform.qgc_env.wte.entity.vo.WeFishDetailVo;
|
import com.yfd.platform.qgc_env.wte.entity.vo.WeFishDetailVo;
|
||||||
@ -478,6 +479,135 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DataSourceResult<WeEnvmAutoMonitorVo> getEnvmAutoMonitorList(DataSourceRequest dataSourceRequest) {
|
||||||
|
DataSourceLoadOptionsBase loadOptions = dataSourceRequest == null ? null : dataSourceRequest.toDevRequest();
|
||||||
|
DataSourceRequest.FilterDescriptor filter = dataSourceRequest == null ? null : dataSourceRequest.getFilter();
|
||||||
|
|
||||||
|
String baseId = resolveWeFishStringFilterValue(dataSourceRequest, loadOptions, "baseId");
|
||||||
|
Date startTime = toDateValue(resolveWeFishStringFilterValue(dataSourceRequest, loadOptions, "startTime"));
|
||||||
|
Date endTime = toDateValue(resolveWeFishStringFilterValue(dataSourceRequest, loadOptions, "endTime"));
|
||||||
|
if (startTime == null || endTime == null) {
|
||||||
|
startTime = null;
|
||||||
|
endTime = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
List<String> rstcds = getWeFishFilterTexts(filter, "rstcd");
|
||||||
|
List<String> hbrvcds = getWeFishFilterTexts(filter, "hbrvcd");
|
||||||
|
List<String> rvcds = getWeFishFilterTexts(filter, "rvcd");
|
||||||
|
List<String> showIds = getWeFishFilterTexts(filter, "showIds");
|
||||||
|
boolean ignoreFhRstcd = shouldIgnoreWeEnvmFhRstcd(rstcds);
|
||||||
|
|
||||||
|
List<WeEnvmAutoMonitorVo> rows = new ArrayList<>();
|
||||||
|
rows.add(buildWeEnvmAutoMonitorVo(
|
||||||
|
queryWeEnvmAutoMonitorCount(buildWeEnvmWtSql(baseId, rstcds)),
|
||||||
|
1, null, "ENV,ENVM,WT,", "水温监测"
|
||||||
|
));
|
||||||
|
rows.add(buildWeEnvmAutoMonitorVo(
|
||||||
|
queryWeEnvmAutoMonitorCount(buildWeEnvmGjWqSql(baseId, hbrvcds, rvcds)),
|
||||||
|
2, "WQ", "ENV,ENVM,WQ,", "国家水质站"
|
||||||
|
));
|
||||||
|
rows.add(buildWeEnvmAutoMonitorVo(
|
||||||
|
queryWeEnvmAutoMonitorCount(buildWeEnvmZjWqSql(baseId, rstcds)),
|
||||||
|
3, "WQ", "ENV,ENVM,WQ,", "水质监测"
|
||||||
|
));
|
||||||
|
rows.add(buildWeEnvmAutoMonitorVo(
|
||||||
|
queryWeEnvmAutoMonitorCount(buildWeEnvmStGjSql(baseId)),
|
||||||
|
5, null, "ST,ZQ-ST,ZZ", "国家水文站"
|
||||||
|
));
|
||||||
|
rows.add(buildWeEnvmAutoMonitorVo(
|
||||||
|
queryWeEnvmAutoMonitorCount(buildWeEnvmStZjSql(baseId, rstcds)),
|
||||||
|
6, null, "ST,ZQ-ST,ZZ", "水文监测"
|
||||||
|
));
|
||||||
|
rows.add(buildWeEnvmAutoMonitorVo(
|
||||||
|
queryWeEnvmAutoMonitorCount(buildWeEnvmEngQecSql(baseId, rstcds)),
|
||||||
|
7, "ENG", "ENG", "生态流量"
|
||||||
|
));
|
||||||
|
rows.add(buildWeEnvmAutoMonitorVo(
|
||||||
|
queryWeEnvmAutoMonitorCount(buildWeEnvmVdSql(baseId, rstcds)),
|
||||||
|
8, null, "VD,VD", "视频监控"
|
||||||
|
));
|
||||||
|
rows.add(buildWeEnvmAutoMonitorVo(
|
||||||
|
queryWeEnvmAutoMonitorCount(buildWeEnvmRiverWqSql(baseId, rstcds)),
|
||||||
|
9, "WQ", "ENV,ENVM,WQ,", "河道水质监测"
|
||||||
|
));
|
||||||
|
rows.add(buildWeEnvmAutoMonitorVo(
|
||||||
|
queryWeEnvmAutoMonitorCount(buildWeEnvmFbWqSql(baseId, rstcds)),
|
||||||
|
10, "WQFB", "ENV,ENVM,WQFB,", "增殖站水质站"
|
||||||
|
));
|
||||||
|
rows.add(buildWeEnvmAutoMonitorVo(
|
||||||
|
queryWeEnvmAutoMonitorCount(buildWeEnvmFhSql(baseId, rstcds, ignoreFhRstcd)),
|
||||||
|
11, "FH", "ENV,ENVP,FH,", "栖息地"
|
||||||
|
));
|
||||||
|
rows.add(buildWeEnvmAutoMonitorVo(
|
||||||
|
queryWeEnvmAutoMonitorCount(buildWeEnvmFhWqSql(baseId, rstcds, ignoreFhRstcd)),
|
||||||
|
12, "WQ", "ENV,ENVM,WQ,", "栖息地水质监测"
|
||||||
|
));
|
||||||
|
rows.add(buildWeEnvmAutoMonitorVo(
|
||||||
|
queryWeEnvmAutoMonitorCount(buildWeEnvmFhWtSql(baseId, rstcds, ignoreFhRstcd)),
|
||||||
|
13, "WTRV", "ENV,ENVM,WT,WTRV,", "栖息地水温监测"
|
||||||
|
));
|
||||||
|
rows.add(buildWeEnvmAutoMonitorVo(
|
||||||
|
queryWeEnvmAutoMonitorCount(buildWeEnvmFhStSql(baseId, rstcds, ignoreFhRstcd)),
|
||||||
|
14, null, "ST,ZQ-ST,ZZ", "水文监测"
|
||||||
|
));
|
||||||
|
rows.add(buildWeEnvmAutoMonitorVo(
|
||||||
|
queryWeEnvmAutoMonitorCount(buildWeEnvmWeSql(baseId, rstcds)),
|
||||||
|
15, "WE", "ENV,ENVM,WE,", "水生态调查断面"
|
||||||
|
));
|
||||||
|
rows.add(buildWeEnvmAutoMonitorVo(
|
||||||
|
queryWeEnvmAutoMonitorCount(buildWeEnvmWvaSql(baseId, rstcds, hbrvcds)),
|
||||||
|
16, "WVA", "ENV,ENVM,WVA,", "野生动物监测"
|
||||||
|
));
|
||||||
|
rows.add(buildWeEnvmAutoMonitorVo(
|
||||||
|
queryWeEnvmAutoMonitorCount(buildWeEnvmVdEqsSql(baseId, rstcds)),
|
||||||
|
17, "VD_EQS", "VD,VD_EQS,", "生态流量视频站"
|
||||||
|
));
|
||||||
|
rows.add(buildWeEnvmAutoMonitorVo(
|
||||||
|
queryWeEnvmAutoMonitorCount(buildWeEnvmRareFishSql(baseId, rstcds, startTime, endTime)),
|
||||||
|
18, null, "WE_FISH", "土著珍稀鱼类"
|
||||||
|
));
|
||||||
|
rows.add(buildWeEnvmAutoMonitorVo(
|
||||||
|
queryWeEnvmAutoMonitorCount(buildWeEnvmTeAnimalsSql()),
|
||||||
|
20, "TE_ANIMALS", "TE_ANIMALS", "重点陆生动物"
|
||||||
|
));
|
||||||
|
rows.add(buildWeEnvmAutoMonitorVo(
|
||||||
|
queryWeEnvmAutoMonitorCount(buildWeEnvmRgWqSql(baseId, rstcds)),
|
||||||
|
21, "WQ", "ENV,ENVM,WQ,", "人工水质监测"
|
||||||
|
));
|
||||||
|
rows.add(buildWeEnvmAutoMonitorVo(
|
||||||
|
queryWeEnvmAutoMonitorCount(buildWeEnvmWeFishStaticsSql(baseId, rstcds, startTime, endTime)),
|
||||||
|
22, "WE", "WE_FISH_ST", "调查鱼类统计"
|
||||||
|
));
|
||||||
|
rows.add(buildWeEnvmAutoMonitorVo(
|
||||||
|
queryWeEnvmAutoMonitorCount(buildWeEnvmFpStaticsSql(baseId, rstcds)),
|
||||||
|
23, "FP", "ENV,ENVP,FP,", "过鱼设施"
|
||||||
|
));
|
||||||
|
rows.add(buildWeEnvmAutoMonitorVo(
|
||||||
|
queryWeEnvmAutoMonitorCount(buildWeEnvmVdYljSql(baseId, rstcds)),
|
||||||
|
24, null, "VD,VD", "视频监控"
|
||||||
|
));
|
||||||
|
rows.add(buildWeEnvmAutoMonitorVo(
|
||||||
|
queryWeEnvmAutoMonitorCount(buildWeEnvmAiSql(baseId, rstcds, hbrvcds)),
|
||||||
|
25, "AI", "AI,AI_", "AI盒子"
|
||||||
|
));
|
||||||
|
rows.add(buildWeEnvmAutoMonitorVo(
|
||||||
|
queryWeEnvmAutoMonitorCount(buildWeEnvmWtrvSql(baseId, rstcds)),
|
||||||
|
26, null, "ENV,ENVM,WT,", "表层水温监测"
|
||||||
|
));
|
||||||
|
rows.add(buildWeEnvmAutoMonitorVo(
|
||||||
|
queryWeEnvmAutoMonitorCount(buildWeEnvmWtvtSql(baseId, rstcds)),
|
||||||
|
27, null, "ENV,ENVM,WT,", "垂向水温监测"
|
||||||
|
));
|
||||||
|
|
||||||
|
List<WeEnvmAutoMonitorVo> finalRows = reorderWeEnvmAutoMonitorRows(rows, showIds);
|
||||||
|
DataSourceResult<WeEnvmAutoMonitorVo> result = new DataSourceResult<>();
|
||||||
|
result.setData(finalRows);
|
||||||
|
result.setTotal((long) finalRows.size());
|
||||||
|
result.setAggregates(new HashMap<>());
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DataSourceResult<Map<String, List<String>>> getQgcFishStaticsYearList(DataSourceRequest dataSourceRequest) {
|
public DataSourceResult<Map<String, List<String>>> getQgcFishStaticsYearList(DataSourceRequest dataSourceRequest) {
|
||||||
Map<String, Object> paramMap = new HashMap<>();
|
Map<String, Object> paramMap = new HashMap<>();
|
||||||
@ -3695,6 +3825,496 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private WeEnvmAutoMonitorVo buildWeEnvmAutoMonitorVo(Integer cnt,
|
||||||
|
Integer orderInx,
|
||||||
|
String sttpCode,
|
||||||
|
String sttpFullPath,
|
||||||
|
String sttpName) {
|
||||||
|
WeEnvmAutoMonitorVo vo = new WeEnvmAutoMonitorVo();
|
||||||
|
vo.setCnt(cnt == null ? 0 : cnt);
|
||||||
|
vo.setOrderInx(orderInx);
|
||||||
|
vo.setOrderInxName(sttpName);
|
||||||
|
vo.setSttpCode(sttpCode);
|
||||||
|
vo.setSttpFullPath(sttpFullPath);
|
||||||
|
vo.setSttpName(sttpName);
|
||||||
|
return vo;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<WeEnvmAutoMonitorVo> reorderWeEnvmAutoMonitorRows(List<WeEnvmAutoMonitorVo> rows, List<String> showIds) {
|
||||||
|
if (CollUtil.isEmpty(rows)) {
|
||||||
|
return new ArrayList<>();
|
||||||
|
}
|
||||||
|
LinkedHashMap<String, WeEnvmAutoMonitorVo> rowMap = new LinkedHashMap<>();
|
||||||
|
for (WeEnvmAutoMonitorVo row : rows) {
|
||||||
|
if (row != null && row.getOrderInx() != null) {
|
||||||
|
rowMap.put(String.valueOf(row.getOrderInx()), row);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
List<WeEnvmAutoMonitorVo> result = new ArrayList<>();
|
||||||
|
if (CollUtil.isNotEmpty(showIds)) {
|
||||||
|
for (String showId : showIds) {
|
||||||
|
WeEnvmAutoMonitorVo row = rowMap.get(showId);
|
||||||
|
if (row != null) {
|
||||||
|
result.add(row);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
result.addAll(rowMap.values());
|
||||||
|
result.sort((a, b) -> Integer.compare(
|
||||||
|
a == null || a.getOrderInx() == null ? Integer.MAX_VALUE : a.getOrderInx(),
|
||||||
|
b == null || b.getOrderInx() == null ? Integer.MAX_VALUE : b.getOrderInx()
|
||||||
|
));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Integer queryWeEnvmAutoMonitorCount(SqlAndParams sqlAndParams) {
|
||||||
|
if (sqlAndParams == null || StrUtil.isBlank(sqlAndParams.sql())) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
Map<String, Object> row = microservicDynamicSQLMapper.getOneBySql(sqlAndParams.sql(), sqlAndParams.params());
|
||||||
|
return toWeFishIntegerValue(firstPresentWeFishValue(row, "CNT", "cnt"));
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean shouldIgnoreWeEnvmFhRstcd(List<String> rstcds) {
|
||||||
|
if (CollUtil.isEmpty(rstcds)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
StringBuilder sql = new StringBuilder();
|
||||||
|
Map<String, Object> paramMap = new HashMap<>();
|
||||||
|
sql.append("SELECT COUNT(DISTINCT eng.STCD) AS cnt ")
|
||||||
|
.append("FROM SD_ENGINFO_B_H eng ")
|
||||||
|
.append("WHERE NVL(eng.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("AND eng.HYCD = '10304' ")
|
||||||
|
.append("AND NVL(eng.BLDSTT_CODE, 0) IN (1, 2) ");
|
||||||
|
appendWeEnvmExactInCondition(sql, paramMap, "eng.STCD", "rstcd", rstcds);
|
||||||
|
Integer cnt = queryWeEnvmAutoMonitorCount(new SqlAndParams(sql.toString(), paramMap));
|
||||||
|
return cnt != null && cnt == rstcds.size();
|
||||||
|
}
|
||||||
|
|
||||||
|
private SqlAndParams buildWeEnvmWtSql(String baseId, List<String> rstcds) {
|
||||||
|
StringBuilder sql = new StringBuilder();
|
||||||
|
Map<String, Object> paramMap = new HashMap<>();
|
||||||
|
sql.append("SELECT COUNT(1) AS cnt ")
|
||||||
|
.append("FROM SD_WT_B_H wt ")
|
||||||
|
.append("LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = wt.RSTCD AND NVL(eng.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("WHERE NVL(wt.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("AND wt.STTP IN ('WTRV', 'WTVT') ")
|
||||||
|
.append("AND NVL(wt.MWAY, 0) = 2 ");
|
||||||
|
appendWeEnvmBaseIdCondition(sql, paramMap, "eng.BASE_ID", baseId);
|
||||||
|
appendWeEnvmLikeCondition(sql, paramMap, "wt.RSTCD", "rstcd", rstcds);
|
||||||
|
return new SqlAndParams(sql.toString(), paramMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
private SqlAndParams buildWeEnvmGjWqSql(String baseId, List<String> hbrvcds, List<String> rvcds) {
|
||||||
|
StringBuilder sql = new StringBuilder();
|
||||||
|
Map<String, Object> paramMap = new HashMap<>();
|
||||||
|
sql.append("SELECT COUNT(1) AS cnt ")
|
||||||
|
.append("FROM SD_WQ_B_H wq ")
|
||||||
|
.append("LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = wq.RSTCD AND NVL(eng.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("WHERE NVL(wq.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("AND wq.STTP = 'WQ' ")
|
||||||
|
.append("AND NVL(wq.MWAY, 0) = 2 ")
|
||||||
|
.append("AND NVL(wq.DTIN_TYPE, 0) = 1 ");
|
||||||
|
appendWeEnvmBaseIdCondition(sql, paramMap, "eng.BASE_ID", baseId);
|
||||||
|
appendWeEnvmExactInCondition(sql, paramMap, "eng.HBRVCD", "hbrvcd", hbrvcds);
|
||||||
|
appendWeEnvmExactInCondition(sql, paramMap, "eng.RVCD", "rvcd", rvcds);
|
||||||
|
return new SqlAndParams(sql.toString(), paramMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
private SqlAndParams buildWeEnvmZjWqSql(String baseId, List<String> rstcds) {
|
||||||
|
StringBuilder sql = new StringBuilder();
|
||||||
|
Map<String, Object> paramMap = new HashMap<>();
|
||||||
|
sql.append("SELECT COUNT(1) AS cnt FROM SD_WQ_B_H wq ")
|
||||||
|
.append("LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = wq.RSTCD AND NVL(eng.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("WHERE NVL(wq.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("AND wq.STTP IN ('WQ', 'WQFB') ")
|
||||||
|
.append("AND NVL(wq.MWAY, 0) = 2 ")
|
||||||
|
.append("AND NVL(wq.DTIN_TYPE, 0) = 0 ");
|
||||||
|
appendWeEnvmBaseIdCondition(sql, paramMap, "eng.BASE_ID", baseId);
|
||||||
|
appendWeEnvmLikeCondition(sql, paramMap, "wq.RSTCD", "rstcd", rstcds);
|
||||||
|
return new SqlAndParams(sql.toString(), paramMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
private SqlAndParams buildWeEnvmStGjSql(String baseId) {
|
||||||
|
StringBuilder sql = new StringBuilder();
|
||||||
|
Map<String, Object> paramMap = new HashMap<>();
|
||||||
|
sql.append("SELECT COUNT(1) AS cnt FROM SD_RIVER_B_H river ")
|
||||||
|
.append("LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = river.RSTCD AND NVL(eng.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("WHERE NVL(river.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("AND river.STTP IN ('ZQ', 'ZZ') ")
|
||||||
|
.append("AND NVL(river.MWAY, 0) = 2 ")
|
||||||
|
.append("AND NVL(river.DTIN_TYPE, 0) = 1 ");
|
||||||
|
appendWeEnvmBaseIdCondition(sql, paramMap, "eng.BASE_ID", baseId);
|
||||||
|
return new SqlAndParams(sql.toString(), paramMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
private SqlAndParams buildWeEnvmStZjSql(String baseId, List<String> rstcds) {
|
||||||
|
StringBuilder sql = new StringBuilder();
|
||||||
|
Map<String, Object> paramMap = new HashMap<>();
|
||||||
|
sql.append("SELECT COUNT(1) AS cnt FROM SD_RIVER_B_H river ")
|
||||||
|
.append("LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = river.RSTCD AND NVL(eng.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("WHERE NVL(river.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("AND river.STTP IN ('ZQ', 'ZZ') ")
|
||||||
|
.append("AND NVL(river.MWAY, 0) = 2 ")
|
||||||
|
.append("AND NVL(river.DTIN_TYPE, 0) = 0 ");
|
||||||
|
appendWeEnvmBaseIdCondition(sql, paramMap, "eng.BASE_ID", baseId);
|
||||||
|
appendWeEnvmLikeCondition(sql, paramMap, "river.RSTCD", "rstcd", rstcds);
|
||||||
|
return new SqlAndParams(sql.toString(), paramMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
private SqlAndParams buildWeEnvmEngQecSql(String baseId, List<String> rstcds) {
|
||||||
|
StringBuilder sql = new StringBuilder();
|
||||||
|
Map<String, Object> paramMap = new HashMap<>();
|
||||||
|
sql.append("SELECT COUNT(1) AS cnt FROM SD_ENGINFO_B_H eng ")
|
||||||
|
.append("WHERE NVL(eng.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("AND NVL(eng.DTIN, 0) = 1 ")
|
||||||
|
.append("AND NVL(eng.BLDSTT_CODE, 0) = 2 ");
|
||||||
|
if (CollUtil.isEmpty(rstcds)) {
|
||||||
|
sql.append("AND NVL(eng.RUN_STATE, 0) = 4 ");
|
||||||
|
} else {
|
||||||
|
sql.append("AND NVL(eng.PRSC, 0) IN (1, 2, 3) ")
|
||||||
|
.append("AND NVL(eng.COENVW_STATE, 0) = 1 ");
|
||||||
|
}
|
||||||
|
appendWeEnvmBaseIdCondition(sql, paramMap, "eng.BASE_ID", baseId);
|
||||||
|
appendWeEnvmExactInCondition(sql, paramMap, "eng.STCD", "rstcd", rstcds);
|
||||||
|
return new SqlAndParams(sql.toString(), paramMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
private SqlAndParams buildWeEnvmVdSql(String baseId, List<String> rstcds) {
|
||||||
|
StringBuilder sql = new StringBuilder();
|
||||||
|
Map<String, Object> paramMap = new HashMap<>();
|
||||||
|
sql.append("SELECT COUNT(1) AS cnt FROM SD_VDINFO_B vd ")
|
||||||
|
.append("WHERE 1=1 ")
|
||||||
|
.append("AND vd.STTP LIKE 'VD%' ")
|
||||||
|
.append("AND NVL(vd.DTIN, 0) = 1 ");
|
||||||
|
appendWeEnvmBaseIdCondition(sql, paramMap, "vd.BASE_ID", baseId);
|
||||||
|
appendWeEnvmLikeCondition(sql, paramMap, "vd.RSTCD", "rstcd", rstcds);
|
||||||
|
return new SqlAndParams(sql.toString(), paramMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
private SqlAndParams buildWeEnvmRiverWqSql(String baseId, List<String> rstcds) {
|
||||||
|
StringBuilder sql = new StringBuilder();
|
||||||
|
Map<String, Object> paramMap = new HashMap<>();
|
||||||
|
sql.append("SELECT COUNT(1) AS cnt FROM SD_WQ_B_H wq ")
|
||||||
|
.append("LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = wq.RSTCD AND NVL(eng.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("WHERE NVL(wq.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("AND wq.STTP = 'WQ' ")
|
||||||
|
.append("AND NVL(wq.MWAY, 0) = 2 ")
|
||||||
|
.append("AND NVL(wq.DTIN_TYPE, 0) = 0 ");
|
||||||
|
appendWeEnvmBaseIdCondition(sql, paramMap, "eng.BASE_ID", baseId);
|
||||||
|
appendWeEnvmLikeCondition(sql, paramMap, "wq.RSTCD", "rstcd", rstcds);
|
||||||
|
return new SqlAndParams(sql.toString(), paramMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
private SqlAndParams buildWeEnvmFbWqSql(String baseId, List<String> rstcds) {
|
||||||
|
StringBuilder sql = new StringBuilder();
|
||||||
|
Map<String, Object> paramMap = new HashMap<>();
|
||||||
|
sql.append("SELECT COUNT(1) AS cnt FROM SD_WQ_B_H wq ")
|
||||||
|
.append("LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = wq.RSTCD AND NVL(eng.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("WHERE NVL(wq.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("AND wq.STTP = 'WQFB' ")
|
||||||
|
.append("AND NVL(wq.MWAY, 0) = 2 ")
|
||||||
|
.append("AND NVL(wq.DTIN_TYPE, 0) = 0 ");
|
||||||
|
appendWeEnvmBaseIdCondition(sql, paramMap, "eng.BASE_ID", baseId);
|
||||||
|
appendWeEnvmLikeCondition(sql, paramMap, "wq.RSTCD", "rstcd", rstcds);
|
||||||
|
return new SqlAndParams(sql.toString(), paramMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
private SqlAndParams buildWeEnvmFhSql(String baseId, List<String> rstcds, boolean ignoreRstcd) {
|
||||||
|
StringBuilder sql = new StringBuilder();
|
||||||
|
Map<String, Object> paramMap = new HashMap<>();
|
||||||
|
sql.append("SELECT COUNT(1) AS cnt FROM SD_FHBT_B_H fh ")
|
||||||
|
.append("WHERE NVL(fh.IS_DELETED, 0) = 0 ");
|
||||||
|
appendWeEnvmBaseIdCondition(sql, paramMap, "fh.BASE_ID", baseId);
|
||||||
|
if (!ignoreRstcd) {
|
||||||
|
appendWeEnvmLikeCondition(sql, paramMap, "fh.RSTCD", "rstcd", rstcds);
|
||||||
|
}
|
||||||
|
return new SqlAndParams(sql.toString(), paramMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
private SqlAndParams buildWeEnvmFhWqSql(String baseId, List<String> rstcds, boolean ignoreRstcd) {
|
||||||
|
StringBuilder sql = new StringBuilder();
|
||||||
|
Map<String, Object> paramMap = new HashMap<>();
|
||||||
|
sql.append("SELECT COUNT(1) AS cnt FROM SD_WQ_B_H wq ")
|
||||||
|
.append("LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = wq.RSTCD AND NVL(eng.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("WHERE NVL(wq.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("AND wq.STTP = 'WQ' ");
|
||||||
|
appendWeEnvmBaseIdCondition(sql, paramMap, "eng.BASE_ID", baseId);
|
||||||
|
if (!ignoreRstcd) {
|
||||||
|
appendWeEnvmLikeCondition(sql, paramMap, "wq.RSTCD", "rstcd", rstcds);
|
||||||
|
appendWeEnvmFhByRstcdCondition(sql, paramMap, "wq.FHSTCD", "fh_rstcd", rstcds);
|
||||||
|
}
|
||||||
|
return new SqlAndParams(sql.toString(), paramMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
private SqlAndParams buildWeEnvmFhWtSql(String baseId, List<String> rstcds, boolean ignoreRstcd) {
|
||||||
|
StringBuilder sql = new StringBuilder();
|
||||||
|
Map<String, Object> paramMap = new HashMap<>();
|
||||||
|
sql.append("SELECT COUNT(1) AS cnt FROM SD_WT_B_H wt ")
|
||||||
|
.append("LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = wt.RSTCD AND NVL(eng.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("WHERE NVL(wt.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("AND wt.STTP = 'WTRV' ")
|
||||||
|
.append("AND NVL(wt.DTIN_TYPE, 0) = 0 ");
|
||||||
|
appendWeEnvmBaseIdCondition(sql, paramMap, "eng.BASE_ID", baseId);
|
||||||
|
if (!ignoreRstcd) {
|
||||||
|
appendWeEnvmLikeCondition(sql, paramMap, "wt.RSTCD", "rstcd", rstcds);
|
||||||
|
appendWeEnvmFhByRstcdCondition(sql, paramMap, "wt.FHSTCD", "fh_rstcd", rstcds);
|
||||||
|
}
|
||||||
|
return new SqlAndParams(sql.toString(), paramMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
private SqlAndParams buildWeEnvmFhStSql(String baseId, List<String> rstcds, boolean ignoreRstcd) {
|
||||||
|
StringBuilder sql = new StringBuilder();
|
||||||
|
Map<String, Object> paramMap = new HashMap<>();
|
||||||
|
sql.append("SELECT COUNT(1) AS cnt FROM SD_RIVER_B_H river ")
|
||||||
|
.append("LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = river.RSTCD AND NVL(eng.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("WHERE NVL(river.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("AND river.STTP IN ('ZQ', 'ZZ') ")
|
||||||
|
.append("AND NVL(river.DTIN_TYPE, 0) = 0 ");
|
||||||
|
appendWeEnvmBaseIdCondition(sql, paramMap, "eng.BASE_ID", baseId);
|
||||||
|
if (!ignoreRstcd) {
|
||||||
|
appendWeEnvmLikeCondition(sql, paramMap, "river.RSTCD", "rstcd", rstcds);
|
||||||
|
appendWeEnvmFhByRstcdCondition(sql, paramMap, "river.FHSTCD", "fh_rstcd", rstcds);
|
||||||
|
}
|
||||||
|
return new SqlAndParams(sql.toString(), paramMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
private SqlAndParams buildWeEnvmWeSql(String baseId, List<String> rstcds) {
|
||||||
|
StringBuilder sql = new StringBuilder();
|
||||||
|
Map<String, Object> paramMap = new HashMap<>();
|
||||||
|
sql.append("SELECT COUNT(1) AS cnt FROM SD_WE_B_H weB ")
|
||||||
|
.append("WHERE NVL(weB.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("AND EXISTS (SELECT 1 FROM SD_WE_R we ")
|
||||||
|
.append("WHERE we.STCD = weB.STCD AND NVL(we.IS_DELETED, 0) = 0 AND NVL(we.STATUS, 1) = 1) ");
|
||||||
|
appendWeEnvmBaseIdCondition(sql, paramMap, "weB.BASE_ID", baseId);
|
||||||
|
appendWeEnvmLikeCondition(sql, paramMap, "weB.RSTCD", "rstcd", rstcds);
|
||||||
|
return new SqlAndParams(sql.toString(), paramMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
private SqlAndParams buildWeEnvmWvaSql(String baseId, List<String> rstcds, List<String> hbrvcds) {
|
||||||
|
StringBuilder sql = new StringBuilder();
|
||||||
|
Map<String, Object> paramMap = new HashMap<>();
|
||||||
|
sql.append("SELECT COUNT(1) AS cnt FROM SD_AIMONITOR_B_H ai ")
|
||||||
|
.append("WHERE NVL(ai.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("AND ai.STTP = 'WVA' ");
|
||||||
|
appendWeEnvmBaseIdCondition(sql, paramMap, "ai.BASE_ID", baseId);
|
||||||
|
appendWeEnvmLikeCondition(sql, paramMap, "ai.RSTCD", "rstcd", rstcds);
|
||||||
|
appendWeEnvmExactInCondition(sql, paramMap, "ai.HBRVCD", "hbrvcd", hbrvcds);
|
||||||
|
return new SqlAndParams(sql.toString(), paramMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
private SqlAndParams buildWeEnvmVdEqsSql(String baseId, List<String> rstcds) {
|
||||||
|
StringBuilder sql = new StringBuilder();
|
||||||
|
Map<String, Object> paramMap = new HashMap<>();
|
||||||
|
sql.append("SELECT COUNT(1) AS cnt FROM SD_VDINFO_B vd ")
|
||||||
|
.append("WHERE 1=1 ")
|
||||||
|
.append("AND vd.STTP = 'VD_EQS' ");
|
||||||
|
appendWeEnvmBaseIdCondition(sql, paramMap, "vd.BASE_ID", baseId);
|
||||||
|
appendWeEnvmLikeCondition(sql, paramMap, "vd.RSTCD", "rstcd", rstcds);
|
||||||
|
return new SqlAndParams(sql.toString(), paramMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
private SqlAndParams buildWeEnvmRareFishSql(String baseId, List<String> rstcds, Date startTime, Date endTime) {
|
||||||
|
StringBuilder sql = new StringBuilder();
|
||||||
|
Map<String, Object> paramMap = new HashMap<>();
|
||||||
|
sql.append("SELECT COUNT(DISTINCT fish.FTP) AS cnt ")
|
||||||
|
.append("FROM SD_WE_R we ")
|
||||||
|
.append("INNER JOIN SD_WEFISH_R fish ON we.ID = fish.WER_ID AND NVL(fish.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("INNER JOIN SD_FISHDICTORY_B dict ON dict.ID = fish.FTP AND NVL(dict.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("INNER JOIN SD_WE_B_H weB ON weB.STCD = we.STCD AND NVL(weB.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("WHERE NVL(we.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("AND NVL(we.STATUS, 1) = 1 ")
|
||||||
|
.append("AND NVL(dict.RARE, 0) = 1 ")
|
||||||
|
.append("AND NVL(dict.SPEC_ORIGIN, 0) = 1 ");
|
||||||
|
appendWeEnvmBaseIdCondition(sql, paramMap, "weB.BASE_ID", baseId);
|
||||||
|
appendWeEnvmLikeCondition(sql, paramMap, "weB.RSTCD", "rstcd", rstcds);
|
||||||
|
appendWeEnvmDateRangeCondition(sql, paramMap, "we.TM", startTime, endTime);
|
||||||
|
return new SqlAndParams(sql.toString(), paramMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
private SqlAndParams buildWeEnvmTeAnimalsSql() {
|
||||||
|
String sql = "SELECT COUNT(1) AS cnt FROM (" +
|
||||||
|
"SELECT b.ID FROM MS_SPECANIMALS_B a " +
|
||||||
|
"INNER JOIN SD_VABASIC_B b ON a.ANIMAL_ID = b.ID " +
|
||||||
|
"WHERE NVL(a.IS_DELETED, 0) = 0 AND NVL(b.IS_DELETED, 0) = 0 AND NVL(b.ENABLE, 1) = 1 " +
|
||||||
|
"GROUP BY b.ID" +
|
||||||
|
")";
|
||||||
|
return new SqlAndParams(sql, new HashMap<>());
|
||||||
|
}
|
||||||
|
|
||||||
|
private SqlAndParams buildWeEnvmRgWqSql(String baseId, List<String> rstcds) {
|
||||||
|
StringBuilder sql = new StringBuilder();
|
||||||
|
Map<String, Object> paramMap = new HashMap<>();
|
||||||
|
sql.append("SELECT COUNT(1) AS cnt FROM SD_WQ_B_H wq ")
|
||||||
|
.append("LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = wq.RSTCD AND NVL(eng.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("WHERE NVL(wq.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("AND wq.STTP = 'WQ' ")
|
||||||
|
.append("AND NVL(wq.MWAY, 0) = 1 ")
|
||||||
|
.append("AND NVL(wq.DTIN_TYPE, 0) = 2 ");
|
||||||
|
appendWeEnvmBaseIdCondition(sql, paramMap, "eng.BASE_ID", baseId);
|
||||||
|
appendWeEnvmLikeCondition(sql, paramMap, "wq.RSTCD", "rstcd", rstcds);
|
||||||
|
return new SqlAndParams(sql.toString(), paramMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
private SqlAndParams buildWeEnvmWeFishStaticsSql(String baseId, List<String> rstcds, Date startTime, Date endTime) {
|
||||||
|
StringBuilder sql = new StringBuilder();
|
||||||
|
Map<String, Object> paramMap = new HashMap<>();
|
||||||
|
sql.append("SELECT COUNT(DISTINCT fish.FTP) AS cnt ")
|
||||||
|
.append("FROM SD_WE_R we ")
|
||||||
|
.append("INNER JOIN SD_WEFISH_R fish ON we.ID = fish.WER_ID AND NVL(fish.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("INNER JOIN SD_WE_B_H weB ON weB.STCD = we.STCD AND NVL(weB.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("WHERE NVL(we.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("AND NVL(we.STATUS, 1) = 1 ");
|
||||||
|
appendWeEnvmBaseIdCondition(sql, paramMap, "weB.BASE_ID", baseId);
|
||||||
|
appendWeEnvmLikeCondition(sql, paramMap, "weB.RSTCD", "rstcd", rstcds);
|
||||||
|
appendWeEnvmDateRangeCondition(sql, paramMap, "we.TM", startTime, endTime);
|
||||||
|
return new SqlAndParams(sql.toString(), paramMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
private SqlAndParams buildWeEnvmFpStaticsSql(String baseId, List<String> rstcds) {
|
||||||
|
StringBuilder sql = new StringBuilder();
|
||||||
|
Map<String, Object> paramMap = new HashMap<>();
|
||||||
|
sql.append("SELECT COUNT(1) AS cnt FROM SD_FPSS_B_H fp ")
|
||||||
|
.append("LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = fp.RSTCD AND NVL(eng.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("WHERE NVL(fp.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("AND fp.LGTD IS NOT NULL ");
|
||||||
|
appendWeEnvmBaseIdCondition(sql, paramMap, "eng.BASE_ID", baseId);
|
||||||
|
appendWeEnvmExactInCondition(sql, paramMap, "fp.RSTCD", "rstcd", rstcds);
|
||||||
|
return new SqlAndParams(sql.toString(), paramMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
private SqlAndParams buildWeEnvmVdYljSql(String baseId, List<String> rstcds) {
|
||||||
|
StringBuilder sql = new StringBuilder();
|
||||||
|
Map<String, Object> paramMap = new HashMap<>();
|
||||||
|
sql.append("SELECT COUNT(1) AS cnt FROM SD_VDINFO_B vd ")
|
||||||
|
.append("WHERE 1=1 ")
|
||||||
|
.append("AND vd.STTP LIKE 'VD%' ")
|
||||||
|
.append("AND vd.STTP <> 'VD_FH' ")
|
||||||
|
.append("AND NVL(vd.DTIN, 0) = 1 ");
|
||||||
|
appendWeEnvmBaseIdCondition(sql, paramMap, "vd.BASE_ID", baseId);
|
||||||
|
appendWeEnvmLikeCondition(sql, paramMap, "vd.RSTCD", "rstcd", rstcds);
|
||||||
|
return new SqlAndParams(sql.toString(), paramMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
private SqlAndParams buildWeEnvmAiSql(String baseId, List<String> rstcds, List<String> hbrvcds) {
|
||||||
|
StringBuilder sql = new StringBuilder();
|
||||||
|
Map<String, Object> paramMap = new HashMap<>();
|
||||||
|
sql.append("SELECT COUNT(1) AS cnt FROM SD_AIMONITOR_B_H ai ")
|
||||||
|
.append("WHERE NVL(ai.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("AND ai.STTP LIKE 'AI%' ")
|
||||||
|
.append("AND ai.STCD = ai.DTIN_SRC ");
|
||||||
|
appendWeEnvmBaseIdCondition(sql, paramMap, "ai.BASE_ID", baseId);
|
||||||
|
appendWeEnvmLikeCondition(sql, paramMap, "ai.RSTCD", "rstcd", rstcds);
|
||||||
|
appendWeEnvmExactInCondition(sql, paramMap, "ai.HBRVCD", "hbrvcd", hbrvcds);
|
||||||
|
return new SqlAndParams(sql.toString(), paramMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
private SqlAndParams buildWeEnvmWtrvSql(String baseId, List<String> rstcds) {
|
||||||
|
StringBuilder sql = new StringBuilder();
|
||||||
|
Map<String, Object> paramMap = new HashMap<>();
|
||||||
|
sql.append("SELECT COUNT(1) AS cnt FROM SD_WT_B_H wt ")
|
||||||
|
.append("LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = wt.RSTCD AND NVL(eng.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("WHERE NVL(wt.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("AND wt.STTP = 'WTRV' ")
|
||||||
|
.append("AND NVL(wt.MWAY, 0) = 2 ");
|
||||||
|
appendWeEnvmBaseIdCondition(sql, paramMap, "eng.BASE_ID", baseId);
|
||||||
|
appendWeEnvmLikeCondition(sql, paramMap, "wt.RSTCD", "rstcd", rstcds);
|
||||||
|
return new SqlAndParams(sql.toString(), paramMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
private SqlAndParams buildWeEnvmWtvtSql(String baseId, List<String> rstcds) {
|
||||||
|
StringBuilder sql = new StringBuilder();
|
||||||
|
Map<String, Object> paramMap = new HashMap<>();
|
||||||
|
sql.append("SELECT COUNT(1) AS cnt FROM SD_WT_B_H wt ")
|
||||||
|
.append("LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = wt.RSTCD AND NVL(eng.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("WHERE NVL(wt.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("AND wt.STTP = 'WTVT' ")
|
||||||
|
.append("AND NVL(wt.MWAY, 0) = 2 ");
|
||||||
|
appendWeEnvmBaseIdCondition(sql, paramMap, "eng.BASE_ID", baseId);
|
||||||
|
appendWeEnvmLikeCondition(sql, paramMap, "wt.RSTCD", "rstcd", rstcds);
|
||||||
|
return new SqlAndParams(sql.toString(), paramMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void appendWeEnvmBaseIdCondition(StringBuilder sql, Map<String, Object> paramMap, String column, String baseId) {
|
||||||
|
if (StrUtil.isBlank(baseId)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
sql.append("AND ").append(column).append(" = #{map.baseId} ");
|
||||||
|
paramMap.put("baseId", baseId);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void appendWeEnvmExactInCondition(StringBuilder sql,
|
||||||
|
Map<String, Object> paramMap,
|
||||||
|
String column,
|
||||||
|
String prefix,
|
||||||
|
List<String> values) {
|
||||||
|
if (CollUtil.isEmpty(values)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
sql.append("AND ").append(column).append(" IN (");
|
||||||
|
for (int i = 0; i < values.size(); i++) {
|
||||||
|
String key = prefix + i;
|
||||||
|
if (i > 0) {
|
||||||
|
sql.append(", ");
|
||||||
|
}
|
||||||
|
sql.append("#{map.").append(key).append("}");
|
||||||
|
paramMap.put(key, values.get(i));
|
||||||
|
}
|
||||||
|
sql.append(") ");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void appendWeEnvmLikeCondition(StringBuilder sql,
|
||||||
|
Map<String, Object> paramMap,
|
||||||
|
String column,
|
||||||
|
String prefix,
|
||||||
|
List<String> values) {
|
||||||
|
if (CollUtil.isEmpty(values)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
sql.append("AND (");
|
||||||
|
for (int i = 0; i < values.size(); i++) {
|
||||||
|
String key = prefix + i;
|
||||||
|
if (i > 0) {
|
||||||
|
sql.append(" OR ");
|
||||||
|
}
|
||||||
|
sql.append(column).append(" LIKE '%' || #{map.").append(key).append("} || '%'");
|
||||||
|
paramMap.put(key, values.get(i));
|
||||||
|
}
|
||||||
|
sql.append(") ");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void appendWeEnvmDateRangeCondition(StringBuilder sql,
|
||||||
|
Map<String, Object> paramMap,
|
||||||
|
String column,
|
||||||
|
Date startTime,
|
||||||
|
Date endTime) {
|
||||||
|
if (startTime == null || endTime == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
sql.append("AND ").append(column).append(" BETWEEN #{map.startTime} AND #{map.endTime} ");
|
||||||
|
paramMap.put("startTime", startTime);
|
||||||
|
paramMap.put("endTime", endTime);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void appendWeEnvmFhByRstcdCondition(StringBuilder sql,
|
||||||
|
Map<String, Object> paramMap,
|
||||||
|
String column,
|
||||||
|
String prefix,
|
||||||
|
List<String> rstcds) {
|
||||||
|
if (CollUtil.isEmpty(rstcds)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
sql.append("AND ").append(column).append(" IN (")
|
||||||
|
.append("SELECT fh.STCD FROM SD_FHBT_B_H fh ")
|
||||||
|
.append("WHERE NVL(fh.IS_DELETED, 0) = 0 ");
|
||||||
|
appendWeEnvmLikeCondition(sql, paramMap, "fh.RSTCD", prefix, rstcds);
|
||||||
|
sql.append(") ");
|
||||||
|
}
|
||||||
|
|
||||||
|
private record SqlAndParams(String sql, Map<String, Object> params) {
|
||||||
|
}
|
||||||
|
|
||||||
private void fillWeFishDerivedFields(List<WeFishTQgcVo> list) {
|
private void fillWeFishDerivedFields(List<WeFishTQgcVo> list) {
|
||||||
if (CollUtil.isEmpty(list)) {
|
if (CollUtil.isEmpty(list)) {
|
||||||
return;
|
return;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user