feat: 流域下拉框列表查询&优化逻辑
This commit is contained in:
parent
970de33016
commit
ed0e6ed372
@ -111,6 +111,15 @@ public class SdRvcdDicController {
|
|||||||
return ResponseResult.successData(rvcdDicService.selectForDropdown(rvnm, rvcd));
|
return ResponseResult.successData(rvcdDicService.selectForDropdown(rvnm, rvcd));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/selectRvcdDropdown")
|
||||||
|
@Operation(summary = "流域下拉框列表查询")
|
||||||
|
public ResponseResult selectRvcdDropdown(
|
||||||
|
@RequestParam(required = false) String rvnm,
|
||||||
|
@RequestParam(required = false) String baseId
|
||||||
|
) {
|
||||||
|
return ResponseResult.successData(rvcdDicService.selectRvcdDropdown(rvnm,baseId));
|
||||||
|
}
|
||||||
|
|
||||||
@GetMapping("/regDropdown")
|
@GetMapping("/regDropdown")
|
||||||
@Operation(summary = "下拉框列表查询(注册)")
|
@Operation(summary = "下拉框列表查询(注册)")
|
||||||
public ResponseResult regDropdown(
|
public ResponseResult regDropdown(
|
||||||
|
|||||||
@ -32,4 +32,6 @@ public interface SdRvcdDicMapper extends BaseMapper<SdRvcdDic> {
|
|||||||
* 注册场景下拉框查询,仅返回能被电站表 RVCD 命中的流域
|
* 注册场景下拉框查询,仅返回能被电站表 RVCD 命中的流域
|
||||||
*/
|
*/
|
||||||
List<SdRvcdDic> selectRegDropdownWithEng(@Param("rvnm") String rvnm, @Param("rvcd") String rvcd);
|
List<SdRvcdDic> selectRegDropdownWithEng(@Param("rvnm") String rvnm, @Param("rvcd") String rvcd);
|
||||||
|
|
||||||
|
List<SdRvcdDic> selectRvcdDropdown(@Param("rvnm") String rvnm,@Param("baseId") String baseId);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -55,5 +55,7 @@ public interface ISdRvcdDicService extends IService<SdRvcdDic> {
|
|||||||
|
|
||||||
List<SdRvcdDic> selectForDropdown(String rvnm, String rvcd);
|
List<SdRvcdDic> selectForDropdown(String rvnm, String rvcd);
|
||||||
|
|
||||||
|
List<SdRvcdDic> selectRvcdDropdown(String rvnm,String baseId);
|
||||||
|
|
||||||
List<SdRvcdDic> regDropdown(String rvnm, String rvcd);
|
List<SdRvcdDic> regDropdown(String rvnm, String rvcd);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -149,6 +149,12 @@ public class SdRvcdDicServiceImpl extends ServiceImpl<SdRvcdDicMapper, SdRvcdDic
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SdRvcdDic> selectRvcdDropdown(String rvnm,String baseId) {
|
||||||
|
List<SdRvcdDic> dropdownList = this.baseMapper.selectRvcdDropdown(rvnm,baseId);
|
||||||
|
return dropdownList;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Set<String> getUserAuthorizedStationCodes() {
|
public Set<String> getUserAuthorizedStationCodes() {
|
||||||
|
|||||||
@ -131,9 +131,30 @@ public class VdMonitorServiceImpl implements VdMonitorService {
|
|||||||
GroupingInfo[] groups,
|
GroupingInfo[] groups,
|
||||||
String filterSql,
|
String filterSql,
|
||||||
Map<String, Object> paramMap) {
|
Map<String, Object> paramMap) {
|
||||||
|
List<DataSourceRequest.GroupDescriptor> groupDescriptors = dataSourceRequest == null ? null : dataSourceRequest.getGroup();
|
||||||
|
List<String> selectItems = new ArrayList<>();
|
||||||
|
if (CollUtil.isNotEmpty(groupDescriptors)) {
|
||||||
|
for (DataSourceRequest.GroupDescriptor descriptor : groupDescriptors) {
|
||||||
|
if (descriptor == null || StrUtil.isBlank(descriptor.getField())) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
String column = mapColumn(descriptor.getField());
|
||||||
|
if (StrUtil.isBlank(column)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
selectItems.add(column + " AS " + descriptor.getField());
|
||||||
|
selectItems.add("COUNT(1) AS count_" + descriptor.getField());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (selectItems.isEmpty()) {
|
||||||
|
selectItems.add("t.sttpCode AS sttpCode");
|
||||||
|
selectItems.add("COUNT(1) AS count_sttpCode");
|
||||||
|
}
|
||||||
|
|
||||||
StringBuilder sql = new StringBuilder();
|
StringBuilder sql = new StringBuilder();
|
||||||
sql.append("SELECT t.sttpCode AS sttpCode, COUNT(1) AS count_sttpCode ")
|
sql.append("SELECT ")
|
||||||
.append("FROM (")
|
.append(String.join(", ", selectItems))
|
||||||
|
.append(" FROM (")
|
||||||
.append(buildVmsstbprptViewSql())
|
.append(buildVmsstbprptViewSql())
|
||||||
.append(") t ")
|
.append(") t ")
|
||||||
.append("WHERE 1 = 1 ");
|
.append("WHERE 1 = 1 ");
|
||||||
@ -141,8 +162,24 @@ public class VdMonitorServiceImpl implements VdMonitorService {
|
|||||||
sql.append(" AND ").append(filterSql).append(" ");
|
sql.append(" AND ").append(filterSql).append(" ");
|
||||||
}
|
}
|
||||||
|
|
||||||
sql.append(" GROUP BY t.sttpCode ");
|
List<String> groupByColumns = new ArrayList<>();
|
||||||
sql.append(buildOrderBySql(dataSourceRequest == null ? null : dataSourceRequest.getGroup()));
|
if (CollUtil.isNotEmpty(groupDescriptors)) {
|
||||||
|
for (DataSourceRequest.GroupDescriptor descriptor : groupDescriptors) {
|
||||||
|
if (descriptor == null || StrUtil.isBlank(descriptor.getField())) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
String column = mapColumn(descriptor.getField());
|
||||||
|
if (StrUtil.isNotBlank(column)) {
|
||||||
|
groupByColumns.add(column);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!groupByColumns.isEmpty()) {
|
||||||
|
sql.append(" GROUP BY ").append(String.join(", ", groupByColumns));
|
||||||
|
} else {
|
||||||
|
sql.append(" GROUP BY t.sttpCode ");
|
||||||
|
}
|
||||||
|
sql.append(buildOrderBySql(groupDescriptors));
|
||||||
|
|
||||||
List<Map<String, Object>> rows = microservicDynamicSQLMapper.pageAllList(null, sql.toString(), paramMap);
|
List<Map<String, Object>> rows = microservicDynamicSQLMapper.pageAllList(null, sql.toString(), paramMap);
|
||||||
DataSourceResult<VdVmsstbprptVo> result = new DataSourceResult<>();
|
DataSourceResult<VdVmsstbprptVo> result = new DataSourceResult<>();
|
||||||
|
|||||||
@ -212,5 +212,30 @@
|
|||||||
</if>
|
</if>
|
||||||
ORDER BY t.ORDER_PATH ASC, t.RVCD ASC
|
ORDER BY t.ORDER_PATH ASC, t.RVCD ASC
|
||||||
</select>
|
</select>
|
||||||
|
<select id="selectRvcdDropdown" resultType="com.yfd.platform.qgc_base.domain.SdRvcdDic">
|
||||||
|
SELECT
|
||||||
|
RVCD,
|
||||||
|
RVNM,
|
||||||
|
PRVCD,
|
||||||
|
GRD,
|
||||||
|
PATH,
|
||||||
|
ORDER_INDEX,
|
||||||
|
SHORTNAME,
|
||||||
|
SHEPRANGE,
|
||||||
|
BASEID
|
||||||
|
|
||||||
|
FROM SD_RVCD_DIC
|
||||||
|
WHERE NVL(ENABLED, 1) = 1
|
||||||
|
AND NVL(IS_DELETED, 0) = 0
|
||||||
|
AND (PRVCD IS NULL OR PRVCD = '' OR PRVCD = '0')
|
||||||
|
<if test="baseId != null and baseId != ''">
|
||||||
|
AND BASEID = #{baseId}
|
||||||
|
</if>
|
||||||
|
|
||||||
|
<if test="rvnm != null and rvnm != ''">
|
||||||
|
AND RVNM LIKE '%' || #{rvnm} || '%'
|
||||||
|
</if>
|
||||||
|
ORDER BY ORDER_INDEX ASC, RVCD ASC
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user