feat: 根据基地查询基地流域列表
This commit is contained in:
parent
5ba2f5e9bb
commit
daf0c4e890
@ -87,7 +87,7 @@ public class SwaggerConfig {
|
|||||||
@Bean
|
@Bean
|
||||||
public GroupedOpenApi groupEnvVDApi() {
|
public GroupedOpenApi groupEnvVDApi() {
|
||||||
return GroupedOpenApi.builder()
|
return GroupedOpenApi.builder()
|
||||||
.group("3.3.1 全过程-生态环保数据服务-过鱼设施-过鱼监测")
|
.group("3.3.1 全过程-生态环保数据服务-过鱼设施-过鱼监测(VD视频模块)")
|
||||||
.packagesToScan("com.yfd.platform.qgc_env.vd.controller")
|
.packagesToScan("com.yfd.platform.qgc_env.vd.controller")
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
package com.yfd.platform.qgc_base.controller;
|
package com.yfd.platform.qgc_base.controller;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.yfd.platform.common.DataSourceRequest;
|
||||||
import com.yfd.platform.annotation.Log;
|
import com.yfd.platform.annotation.Log;
|
||||||
import com.yfd.platform.config.ResponseResult;
|
import com.yfd.platform.config.ResponseResult;
|
||||||
import com.yfd.platform.qgc_base.domain.SdHbrvDic;
|
import com.yfd.platform.qgc_base.domain.SdHbrvDic;
|
||||||
@ -112,4 +113,10 @@ public class SdHbrvDicController {
|
|||||||
@RequestParam(required = false) String baseid) {
|
@RequestParam(required = false) String baseid) {
|
||||||
return ResponseResult.successData(hbrvDicService.regDropdown(hbrvnm, baseid));
|
return ResponseResult.successData(hbrvDicService.regDropdown(hbrvnm, baseid));
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
@PostMapping("/wbsb/getHbrvdList")
|
||||||
|
@Operation(summary = "根据基地查询基地流域列表")
|
||||||
|
public ResponseResult getHbrvdList(@RequestBody DataSourceRequest dataSourceRequest) {
|
||||||
|
return ResponseResult.successData(hbrvDicService.getHbrvdList(dataSourceRequest));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@ -0,0 +1,21 @@
|
|||||||
|
package com.yfd.platform.qgc_base.entity.vo;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Schema(description = "基地流域树节点")
|
||||||
|
public class HbrvWbsVo {
|
||||||
|
|
||||||
|
@Schema(description = "基地流域编码")
|
||||||
|
private String hbrvcd;
|
||||||
|
|
||||||
|
@Schema(description = "基地流域名称")
|
||||||
|
private String hbrvcdName;
|
||||||
|
|
||||||
|
@Schema(description = "基地编码")
|
||||||
|
private String baseId;
|
||||||
|
|
||||||
|
@Schema(description = "基地名称")
|
||||||
|
private String baseName;
|
||||||
|
}
|
||||||
@ -2,7 +2,9 @@ package com.yfd.platform.qgc_base.service;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.yfd.platform.common.DataSourceRequest;
|
||||||
import com.yfd.platform.qgc_base.domain.SdHbrvDic;
|
import com.yfd.platform.qgc_base.domain.SdHbrvDic;
|
||||||
|
import com.yfd.platform.qgc_base.entity.vo.HbrvWbsVo;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
@ -58,4 +60,6 @@ public interface ISdHbrvDicService extends IService<SdHbrvDic> {
|
|||||||
|
|
||||||
List<SdHbrvDic> regDropdown(String hbrvnm, String baseid);
|
List<SdHbrvDic> regDropdown(String hbrvnm, String baseid);
|
||||||
|
|
||||||
}
|
List<HbrvWbsVo> getHbrvdList(DataSourceRequest dataSourceRequest);
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
@ -1,22 +1,32 @@
|
|||||||
package com.yfd.platform.qgc_base.service.impl;
|
package com.yfd.platform.qgc_base.service.impl;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.yfd.platform.common.DataSourceLoadOptionsBase;
|
||||||
|
import com.yfd.platform.common.DataSourceRequest;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.yfd.platform.qgc_data.domain.SysUserDataScope;
|
import com.yfd.platform.qgc_data.domain.SysUserDataScope;
|
||||||
import com.yfd.platform.qgc_data.mapper.SysUserDataScopeMapper;
|
import com.yfd.platform.qgc_data.mapper.SysUserDataScopeMapper;
|
||||||
import com.yfd.platform.qgc_base.domain.SdEngInfoBH;
|
import com.yfd.platform.qgc_base.domain.SdEngInfoBH;
|
||||||
import com.yfd.platform.qgc_base.domain.SdHbrvDic;
|
import com.yfd.platform.qgc_base.domain.SdHbrvDic;
|
||||||
|
import com.yfd.platform.qgc_base.domain.SdHydrobase;
|
||||||
|
import com.yfd.platform.qgc_base.entity.vo.HbrvWbsVo;
|
||||||
import com.yfd.platform.qgc_base.mapper.SdEngInfoBHMapper;
|
import com.yfd.platform.qgc_base.mapper.SdEngInfoBHMapper;
|
||||||
import com.yfd.platform.qgc_base.mapper.SdHbrvDicMapper;
|
import com.yfd.platform.qgc_base.mapper.SdHbrvDicMapper;
|
||||||
|
import com.yfd.platform.qgc_base.mapper.SdHydrobaseMapper;
|
||||||
import com.yfd.platform.qgc_base.service.ISdHbrvDicService;
|
import com.yfd.platform.qgc_base.service.ISdHbrvDicService;
|
||||||
|
import com.yfd.platform.utils.QgcQueryWrapperUtil;
|
||||||
import com.yfd.platform.utils.SecurityUtils;
|
import com.yfd.platform.utils.SecurityUtils;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Comparator;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@ -33,6 +43,9 @@ public class SdHbrvDicServiceImpl extends ServiceImpl<SdHbrvDicMapper, SdHbrvDic
|
|||||||
@Resource
|
@Resource
|
||||||
private SdEngInfoBHMapper engInfoBHMapper;
|
private SdEngInfoBHMapper engInfoBHMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private SdHydrobaseMapper hydrobaseMapper;
|
||||||
|
|
||||||
private SdHbrvDicMapper hbrvDicMapper;
|
private SdHbrvDicMapper hbrvDicMapper;
|
||||||
@Override
|
@Override
|
||||||
public Page<SdHbrvDic> queryPageList(Page<SdHbrvDic> page, String hbrvnm, String baseid) {
|
public Page<SdHbrvDic> queryPageList(Page<SdHbrvDic> page, String hbrvnm, String baseid) {
|
||||||
@ -200,4 +213,50 @@ public class SdHbrvDicServiceImpl extends ServiceImpl<SdHbrvDicMapper, SdHbrvDic
|
|||||||
.orderByAsc(SdHbrvDic::getBaseid,SdHbrvDic::getOrderIndex)
|
.orderByAsc(SdHbrvDic::getBaseid,SdHbrvDic::getOrderIndex)
|
||||||
.list();
|
.list();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
@Override
|
||||||
|
public List<HbrvWbsVo> getHbrvdList(DataSourceRequest dataSourceRequest) {
|
||||||
|
DataSourceLoadOptionsBase loadOptions = dataSourceRequest == null ? null : dataSourceRequest.toDevRequest();
|
||||||
|
String baseId = loadOptions == null ? null : QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "baseId");
|
||||||
|
|
||||||
|
LambdaQueryWrapper<SdHbrvDic> wrapper = new LambdaQueryWrapper<>();
|
||||||
|
wrapper.eq(StringUtils.hasText(baseId), SdHbrvDic::getBaseid, baseId)
|
||||||
|
.eq(SdHbrvDic::getIsDeleted, 0)
|
||||||
|
.eq(SdHbrvDic::getEnabled, 1)
|
||||||
|
.orderByAsc(SdHbrvDic::getBaseid, SdHbrvDic::getOrderIndex, SdHbrvDic::getHbrvcd);
|
||||||
|
|
||||||
|
List<SdHbrvDic> hbrvList = this.list(wrapper);
|
||||||
|
if (hbrvList.isEmpty()) {
|
||||||
|
return new ArrayList<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
List<String> baseIds = hbrvList.stream()
|
||||||
|
.map(SdHbrvDic::getBaseid)
|
||||||
|
.filter(StringUtils::hasText)
|
||||||
|
.distinct()
|
||||||
|
.toList();
|
||||||
|
|
||||||
|
Map<String, String> baseNameMap;
|
||||||
|
if (!baseIds.isEmpty()) {
|
||||||
|
baseNameMap = hydrobaseMapper.selectBatchIds(baseIds).stream()
|
||||||
|
.collect(Collectors.toMap(SdHydrobase::getBaseid, SdHydrobase::getBasename, (a, b) -> a));
|
||||||
|
} else {
|
||||||
|
baseNameMap = new HashMap<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
return hbrvList.stream()
|
||||||
|
.map(item -> toHbrvWbsVo(item, baseNameMap.get(item.getBaseid())))
|
||||||
|
.sorted(Comparator.comparing(HbrvWbsVo::getBaseId, Comparator.nullsLast(String::compareTo))
|
||||||
|
.thenComparing(HbrvWbsVo::getHbrvcd, Comparator.nullsLast(String::compareTo)))
|
||||||
|
.toList();
|
||||||
|
}
|
||||||
|
|
||||||
|
private HbrvWbsVo toHbrvWbsVo(SdHbrvDic source, String baseName) {
|
||||||
|
HbrvWbsVo vo = new HbrvWbsVo();
|
||||||
|
vo.setHbrvcd(source.getHbrvcd());
|
||||||
|
vo.setHbrvcdName(source.getHbrvnm());
|
||||||
|
vo.setBaseId(source.getBaseid());
|
||||||
|
vo.setBaseName(baseName);
|
||||||
|
return vo;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user