feat: 优化过鱼设施新增修改
This commit is contained in:
parent
f0aea67b35
commit
be1d3d95ff
@ -61,29 +61,29 @@ public class SecurityConfig {
|
||||
.requestMatchers("/tempFile/**").permitAll()
|
||||
.requestMatchers("/system/user/auditUser").permitAll()
|
||||
.requestMatchers("/register/accessToken").permitAll()
|
||||
.requestMatchers("/eng/**").permitAll()
|
||||
.requestMatchers("/eq/**").permitAll()
|
||||
.requestMatchers("/env/**").permitAll()
|
||||
.requestMatchers("/warn/**").permitAll()
|
||||
.requestMatchers("/threedroamb/**").permitAll()
|
||||
.requestMatchers("/overview/**").permitAll()
|
||||
.requestMatchers("/wt/**").permitAll()
|
||||
.requestMatchers("/fb/**").permitAll()
|
||||
.requestMatchers("/base/**").permitAll()
|
||||
.requestMatchers("/zq/**").permitAll()
|
||||
.requestMatchers("/wq/**").permitAll()
|
||||
.requestMatchers("/wte/**").permitAll()
|
||||
.requestMatchers("/vd/**").permitAll()
|
||||
.requestMatchers("/vap/**").permitAll()
|
||||
.requestMatchers("/fp/**").permitAll()
|
||||
.requestMatchers("/fpr/**").permitAll()
|
||||
.requestMatchers("/fh/**").permitAll()
|
||||
.requestMatchers("/data/**").permitAll()
|
||||
.requestMatchers("/mapLayer/**").permitAll()
|
||||
.requestMatchers("/mapmodule/**").permitAll()
|
||||
.requestMatchers("/mapLegend/**").permitAll()
|
||||
.requestMatchers("/base/msalongb/**").permitAll()
|
||||
.requestMatchers("/base/msalongdetb/**").permitAll()
|
||||
// .requestMatchers("/eng/**").permitAll()
|
||||
// .requestMatchers("/eq/**").permitAll()
|
||||
// .requestMatchers("/env/**").permitAll()
|
||||
// .requestMatchers("/warn/**").permitAll()
|
||||
// .requestMatchers("/threedroamb/**").permitAll()
|
||||
// .requestMatchers("/overview/**").permitAll()
|
||||
// .requestMatchers("/wt/**").permitAll()
|
||||
// .requestMatchers("/fb/**").permitAll()
|
||||
// .requestMatchers("/base/**").permitAll()
|
||||
// .requestMatchers("/zq/**").permitAll()
|
||||
// .requestMatchers("/wq/**").permitAll()
|
||||
// .requestMatchers("/wte/**").permitAll()
|
||||
// .requestMatchers("/vd/**").permitAll()
|
||||
// .requestMatchers("/vap/**").permitAll()
|
||||
// .requestMatchers("/fp/**").permitAll()
|
||||
// .requestMatchers("/fpr/**").permitAll()
|
||||
// .requestMatchers("/fh/**").permitAll()
|
||||
// .requestMatchers("/data/**").permitAll()
|
||||
// .requestMatchers("/mapLayer/**").permitAll()
|
||||
// .requestMatchers("/mapmodule/**").permitAll()
|
||||
// .requestMatchers("/mapLegend/**").permitAll()
|
||||
// .requestMatchers("/base/msalongb/**").permitAll()
|
||||
// .requestMatchers("/base/msalongdetb/**").permitAll()
|
||||
.requestMatchers("/sms/**").permitAll()
|
||||
.requestMatchers(HttpMethod.GET, "/").permitAll()
|
||||
.requestMatchers(HttpMethod.GET,
|
||||
|
||||
@ -1,8 +1,11 @@
|
||||
package com.yfd.platform.qgc_base.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.yfd.platform.annotation.Log;
|
||||
import com.yfd.platform.common.DataSourceRequest;
|
||||
import com.yfd.platform.config.ResponseResult;
|
||||
import com.yfd.platform.qgc_base.domain.SdEngInfoBHOperateRequest;
|
||||
import com.yfd.platform.qgc_base.domain.SdFpssBH;
|
||||
import com.yfd.platform.qgc_base.service.ISdFpssBHService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
@ -22,6 +25,8 @@ public class SdFpssBHController {
|
||||
|
||||
@Resource
|
||||
private ISdFpssBHService sdFpssBHService;
|
||||
@Resource
|
||||
private ObjectMapper objectMapper;
|
||||
|
||||
@GetMapping("/queryPageList")
|
||||
@Operation(summary = "分页查询过鱼设施列表")
|
||||
@ -37,6 +42,13 @@ public class SdFpssBHController {
|
||||
return ResponseResult.successData(result);
|
||||
}
|
||||
|
||||
@PostMapping("/page")
|
||||
@Operation(summary = "分页查询")
|
||||
public ResponseResult queryPageList(@RequestBody DataSourceRequest request) {
|
||||
Page<SdFpssBH> page = sdFpssBHService.queryPageList(request);
|
||||
return ResponseResult.successData(page);
|
||||
}
|
||||
|
||||
@GetMapping("/list")
|
||||
@Operation(summary = "查询所有过鱼设施")
|
||||
public ResponseResult list() {
|
||||
@ -68,16 +80,18 @@ public class SdFpssBHController {
|
||||
@Log(module = "过鱼设施管理", value = "新增过鱼设施")
|
||||
@PostMapping("/add")
|
||||
@Operation(summary = "新增过鱼设施")
|
||||
public ResponseResult add(@RequestBody SdFpssBH sdFpssBH) {
|
||||
boolean result = sdFpssBHService.add(sdFpssBH);
|
||||
public ResponseResult add(@RequestBody SdEngInfoBHOperateRequest request) {
|
||||
SdFpssBH entity = request == null || request.getEngInfo() == null ? null : objectMapper.convertValue(request.getEngInfo(), SdFpssBH.class);
|
||||
boolean result = sdFpssBHService.add(entity, request == null ? null : request.getSource());
|
||||
return result ? ResponseResult.success("新增成功") : ResponseResult.error("新增失败");
|
||||
}
|
||||
|
||||
@Log(module = "过鱼设施管理", value = "修改过鱼设施")
|
||||
@PostMapping("/update")
|
||||
@Operation(summary = "修改过鱼设施")
|
||||
public ResponseResult update(@RequestBody SdFpssBH sdFpssBH) {
|
||||
boolean result = sdFpssBHService.updateById(sdFpssBH);
|
||||
public ResponseResult update(@RequestBody SdEngInfoBHOperateRequest request) {
|
||||
SdFpssBH entity = request == null || request.getEngInfo() == null ? null : objectMapper.convertValue(request.getEngInfo(), SdFpssBH.class);
|
||||
boolean result = sdFpssBHService.updateById(entity, request == null ? null : request.getSource());
|
||||
return result ? ResponseResult.success("修改成功") : ResponseResult.error("修改失败");
|
||||
}
|
||||
|
||||
|
||||
@ -32,6 +32,11 @@ public class SdFpssBH implements Serializable {
|
||||
*/
|
||||
private String stnm;
|
||||
|
||||
/**
|
||||
* 所属水电基地流域编码
|
||||
*/
|
||||
private String hbrvcd;
|
||||
|
||||
/**
|
||||
* 数据时间
|
||||
*/
|
||||
@ -43,6 +48,17 @@ public class SdFpssBH implements Serializable {
|
||||
*/
|
||||
private String sttp;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String sttpName;
|
||||
|
||||
/**
|
||||
* 所属基地编码
|
||||
*/
|
||||
private String baseId;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String baseName;
|
||||
|
||||
/**
|
||||
* 所属建设阶段 字典编码:common.blprd
|
||||
* 1001000=规划 1002000=预可研 1003000=环评 1004000=可研 1005000=在建 1006000=招标设计
|
||||
@ -80,6 +96,9 @@ public class SdFpssBH implements Serializable {
|
||||
*/
|
||||
private Integer dtin;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String dtinName;
|
||||
|
||||
/**
|
||||
* 数据接入时间
|
||||
*/
|
||||
@ -95,6 +114,9 @@ public class SdFpssBH implements Serializable {
|
||||
*/
|
||||
private String rstcd;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String ennm;
|
||||
|
||||
/**
|
||||
* 规划设计日期
|
||||
*/
|
||||
@ -130,6 +152,9 @@ public class SdFpssBH implements Serializable {
|
||||
*/
|
||||
private Integer bldsttCode;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String bldsttCodeName;
|
||||
|
||||
/**
|
||||
* 简介
|
||||
*/
|
||||
@ -335,6 +360,11 @@ public class SdFpssBH implements Serializable {
|
||||
*/
|
||||
private String gytm;
|
||||
|
||||
/**
|
||||
* 所属测站编码
|
||||
*/
|
||||
private String stCode;
|
||||
|
||||
/**
|
||||
* 运行时间
|
||||
*/
|
||||
@ -360,11 +390,27 @@ public class SdFpssBH implements Serializable {
|
||||
*/
|
||||
private Integer isUp;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String isUpName;
|
||||
|
||||
/**
|
||||
* 设施是否实现鱼类下行 0=否 1=是
|
||||
*/
|
||||
private Integer isDown;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String isDownName;
|
||||
|
||||
/**
|
||||
* 监测方式:1=人工 2=自动
|
||||
*/
|
||||
private Integer mway;
|
||||
|
||||
|
||||
@TableField(exist = false)
|
||||
private String mwayName;
|
||||
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
|
||||
@ -2,6 +2,8 @@ package com.yfd.platform.qgc_base.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.yfd.platform.common.DataSourceRequest;
|
||||
import com.yfd.platform.qgc_base.domain.SdFhbtBH;
|
||||
import com.yfd.platform.qgc_base.domain.SdFpssBH;
|
||||
|
||||
import java.util.List;
|
||||
@ -20,11 +22,13 @@ public interface ISdFpssBHService extends IService<SdFpssBH> {
|
||||
|
||||
Set<String> getUserAuthorizedStationCodes();
|
||||
|
||||
boolean add(SdFpssBH sdFpssBH);
|
||||
boolean add(SdFpssBH sdFpssBH, String source);
|
||||
|
||||
boolean updateById(SdFpssBH sdFpssBH);
|
||||
boolean updateById(SdFpssBH sdFpssBH, String source);
|
||||
|
||||
boolean deleteById(String stcd, String sttp);
|
||||
|
||||
SdFpssBH getDetail(String stcd, String sttp);
|
||||
|
||||
Page<SdFpssBH> queryPageList(DataSourceRequest request);
|
||||
}
|
||||
@ -3,14 +3,19 @@ package com.yfd.platform.qgc_base.service.impl;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.yfd.platform.qgc_data.domain.SysUserDataScope;
|
||||
import com.yfd.platform.qgc_data.mapper.SysUserDataScopeMapper;
|
||||
import com.yfd.platform.common.DataSourceRequest;
|
||||
import com.yfd.platform.qgc_base.domain.SdEngInfoBH;
|
||||
import com.yfd.platform.qgc_base.domain.SdFpssBH;
|
||||
import com.yfd.platform.qgc_base.mapper.SdEngInfoBHMapper;
|
||||
import com.yfd.platform.qgc_base.mapper.SdFpssBHMapper;
|
||||
import com.yfd.platform.qgc_base.service.IMsOperationLogService;
|
||||
import com.yfd.platform.qgc_base.service.ISdFpssBHService;
|
||||
import com.yfd.platform.qgc_data.domain.SysUserDataScope;
|
||||
import com.yfd.platform.qgc_data.mapper.SysUserDataScopeMapper;
|
||||
import com.yfd.platform.system.service.IAdminAuthService;
|
||||
import com.yfd.platform.utils.CodeToNameMetadataBo;
|
||||
import com.yfd.platform.utils.DataSourceRequestUtil;
|
||||
import com.yfd.platform.utils.DictCodeToNameConverter;
|
||||
import com.yfd.platform.utils.SecurityUtils;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -25,6 +30,7 @@ import java.util.stream.Collectors;
|
||||
@Service
|
||||
public class SdFpssBHServiceImpl extends ServiceImpl<SdFpssBHMapper, SdFpssBH> implements ISdFpssBHService {
|
||||
|
||||
private static final String TABLE_NAME = "SD_FPSS_B_H";
|
||||
@Resource
|
||||
private SysUserDataScopeMapper sysUserDataScopeMapper;
|
||||
@Resource
|
||||
@ -33,6 +39,41 @@ public class SdFpssBHServiceImpl extends ServiceImpl<SdFpssBHMapper, SdFpssBH> i
|
||||
@Resource
|
||||
private IAdminAuthService adminAuthService;
|
||||
|
||||
@Resource
|
||||
private DictCodeToNameConverter dictCodeToNameConverter;
|
||||
|
||||
@Resource
|
||||
private IMsOperationLogService msOperationLogService;
|
||||
|
||||
/**
|
||||
* 代码转名称元数据配置列表(静态初始化)
|
||||
* <p>
|
||||
* 每个模块的 ServiceImpl 中可按需定义自己的 codeToNameMetadataBoList,
|
||||
* 在查询方法返回前调用 dictCodeToNameConverter.convertCodeToName(voList, codeToNameMetadataBoList)
|
||||
* 即可自动将 code 字段转为对应的 name 字段。
|
||||
* </p>
|
||||
*
|
||||
* <pre>
|
||||
* 使用示例:
|
||||
* // 在查询方法末尾调用:
|
||||
* dictCodeToNameConverter.convertCodeToName(voList, CODE_TO_NAME_META_LIST);
|
||||
* </pre>
|
||||
*/
|
||||
private static final List<CodeToNameMetadataBo> CODE_TO_NAME_META_LIST = new ArrayList<>();
|
||||
|
||||
static {
|
||||
CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("dtin").modifyProperty("dtinName").dictType("STATIC").dictSource("DTIN").build());
|
||||
CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("bldsttCode").modifyProperty("bldsttCodeName").dictType("STATIC").dictSource("BLDSTT_CODE").build());
|
||||
// CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("dtinType").modifyProperty("dtinTypeName").dictType("STATIC").dictSource("DTIN_TYPE").build());
|
||||
CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("sttp").modifyProperty("sttpName").dictType("DYNAMIC").dictSource("SD_STTP_B").codeColumn("STTP_CODE").nameColumn("STTP_NAME").filter("NVL(IS_DELETED, 0) = 0 ").build());
|
||||
CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("baseId").modifyProperty("baseName").dictType("DYNAMIC").dictSource("SD_HYDROBASE").codeColumn("BASEID").nameColumn("BASENAME").filter("NVL(IS_DELETED, 0) = 0 ").build());
|
||||
CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("rstcd").modifyProperty("ennm").dictType("DYNAMIC").dictSource("SD_ENGINFO_B_H").codeColumn("STCD").nameColumn("ENNM").filter("NVL(IS_DELETED, 0) = 0 ").build());
|
||||
CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("rvcd").modifyProperty("rvnm").dictType("DYNAMIC").dictSource("V_SD_RVCD_DIC_TREE").codeColumn("RVCD").nameColumn("RVNM").build());
|
||||
CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("mway").modifyProperty("mwayName").dictType("STATIC").dictSource("MWAY").build());
|
||||
CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("isUp").modifyProperty("isUpName").dictType("STATIC").dictSource("TY_SF").build());
|
||||
CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("isDown").modifyProperty("isDownName").dictType("STATIC").dictSource("TY_SF").build());
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<SdFpssBH> selectPage(String stcd, String sttp, String rstcd, Integer usfl, Page<SdFpssBH> page) {
|
||||
@ -173,12 +214,16 @@ public class SdFpssBHServiceImpl extends ServiceImpl<SdFpssBHMapper, SdFpssBH> i
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean add(SdFpssBH sdFpssBH) {
|
||||
return save(sdFpssBH);
|
||||
public boolean add(SdFpssBH entity, String source) {
|
||||
boolean result = save(entity);
|
||||
if (result) {
|
||||
msOperationLogService.recordOperationLog(TABLE_NAME, entity.getStcd(), "新增", source);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean updateById(SdFpssBH sdFpssBH) {
|
||||
public boolean updateById(SdFpssBH sdFpssBH, String source) {
|
||||
LambdaQueryWrapper<SdFpssBH> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SdFpssBH::getStcd, sdFpssBH.getStcd())
|
||||
.eq(SdFpssBH::getSttp, sdFpssBH.getSttp());
|
||||
@ -200,4 +245,11 @@ public class SdFpssBHServiceImpl extends ServiceImpl<SdFpssBHMapper, SdFpssBH> i
|
||||
.eq(SdFpssBH::getSttp, sttp);
|
||||
return getOne(wrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<SdFpssBH> queryPageList(DataSourceRequest request) {
|
||||
Page<SdFpssBH> sdFpssBHPage = DataSourceRequestUtil.executeQuery(request, SdFpssBH.class, this);
|
||||
dictCodeToNameConverter.convertCodeToName(sdFpssBHPage, CODE_TO_NAME_META_LIST);
|
||||
return sdFpssBHPage;
|
||||
}
|
||||
}
|
||||
|
||||
@ -162,14 +162,26 @@ public class MsAlongBServiceImpl extends ServiceImpl<MsAlongBMapper, MsAlongB> i
|
||||
StringBuilder sql = new StringBuilder("SELECT * FROM SD_STTP_B WHERE NVL(IS_DELETED, 0) = 0");
|
||||
Map<String, Object> paramMap = new HashMap<>();
|
||||
|
||||
// 解析过滤条件
|
||||
if (dataSourceRequest != null && dataSourceRequest.getFilter() != null) {
|
||||
String filterSql = parseSttpFilter(dataSourceRequest.getFilter(), paramMap, new int[]{0});
|
||||
if (StrUtil.isNotBlank(filterSql)) {
|
||||
sql.append(" AND ").append(filterSql);
|
||||
}
|
||||
|
||||
String filterSql = QgcQueryWrapperUtil.buildFilterCondition(
|
||||
dataSourceRequest.getFilter(),
|
||||
paramMap,
|
||||
new int[]{0},
|
||||
this::mapWeFvColumn
|
||||
);
|
||||
|
||||
if (StrUtil.isNotBlank(filterSql)) {
|
||||
sql.append("AND ").append(filterSql).append(" ");
|
||||
}
|
||||
|
||||
// 解析过滤条件
|
||||
// if (dataSourceRequest != null && dataSourceRequest.getFilter() != null) {
|
||||
// String filterSql = parseSttpFilter(dataSourceRequest.getFilter(), paramMap, new int[]{0});
|
||||
// if (StrUtil.isNotBlank(filterSql)) {
|
||||
// sql.append(" AND ").append(filterSql);
|
||||
// }
|
||||
// }
|
||||
|
||||
// 解析排序
|
||||
if (dataSourceRequest != null && CollUtil.isNotEmpty(dataSourceRequest.getSort())) {
|
||||
List<String> orderList = new ArrayList<>();
|
||||
@ -200,6 +212,18 @@ public class MsAlongBServiceImpl extends ServiceImpl<MsAlongBMapper, MsAlongB> i
|
||||
return result;
|
||||
}
|
||||
|
||||
private String mapWeFvColumn(String field) {
|
||||
if (StrUtil.isBlank(field)) {
|
||||
return null;
|
||||
}
|
||||
return switch (field.toLowerCase()) {
|
||||
case "sttpcode" -> "STTP_CODE";
|
||||
case "lgtd" -> "lgtd";
|
||||
default -> null;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 递归解析站类过滤条件
|
||||
*/
|
||||
|
||||
Loading…
Reference in New Issue
Block a user