沿程配置代码更新,倾斜摄影代码新增
This commit is contained in:
parent
2a27394b08
commit
16bdfe387d
@ -241,6 +241,14 @@ public class SwaggerConfig {
|
|||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public GroupedOpenApi groupSysOqmgApi() {
|
||||||
|
return GroupedOpenApi.builder()
|
||||||
|
.group("5.2 倾斜摄影管理")
|
||||||
|
.packagesToScan("com.yfd.platform.qgc_sys.obliqueImage.controller")
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public GroupedOpenApi groupLygkApi() {
|
public GroupedOpenApi groupLygkApi() {
|
||||||
return GroupedOpenApi.builder()
|
return GroupedOpenApi.builder()
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
package com.yfd.platform.qgc_base.domain;
|
package com.yfd.platform.qgc_base.domain;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.*;
|
import com.baomidou.mybatisplus.annotation.*;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
@ -28,6 +29,7 @@ public class SdEngInfoBH implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 数据时间
|
* 数据时间
|
||||||
*/
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
private Date tm;
|
private Date tm;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -77,6 +79,7 @@ public class SdEngInfoBH implements Serializable {
|
|||||||
* 数据接入时间
|
* 数据接入时间
|
||||||
*/
|
*/
|
||||||
@TableField("DTIN_TM")
|
@TableField("DTIN_TM")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
private Date dtinTm;
|
private Date dtinTm;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -182,29 +185,34 @@ public class SdEngInfoBH implements Serializable {
|
|||||||
* 规划设计日期
|
* 规划设计日期
|
||||||
*/
|
*/
|
||||||
@TableField("STDSDT")
|
@TableField("STDSDT")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
private Date stdsdt;
|
private Date stdsdt;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 计划开工日期
|
* 计划开工日期
|
||||||
*/
|
*/
|
||||||
@TableField("PSTSTDT")
|
@TableField("PSTSTDT")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
private Date pststdt;
|
private Date pststdt;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 计划完工日期
|
* 计划完工日期
|
||||||
*/
|
*/
|
||||||
@TableField("PESSTDT")
|
@TableField("PESSTDT")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
private Date pesstdt;
|
private Date pesstdt;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 开工日期
|
* 开工日期
|
||||||
*/
|
*/
|
||||||
@TableField("SWDT")
|
@TableField("SWDT")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
private Date swdt;
|
private Date swdt;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 建成日期
|
* 建成日期
|
||||||
*/
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
@TableField("JCDT")
|
@TableField("JCDT")
|
||||||
private Date jcdt;
|
private Date jcdt;
|
||||||
|
|
||||||
@ -212,12 +220,14 @@ public class SdEngInfoBH implements Serializable {
|
|||||||
* 退役/拆除日期
|
* 退役/拆除日期
|
||||||
*/
|
*/
|
||||||
@TableField("WDDT")
|
@TableField("WDDT")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
private Date wddt;
|
private Date wddt;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 截流日期
|
* 截流日期
|
||||||
*/
|
*/
|
||||||
@TableField("JLDT")
|
@TableField("JLDT")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
private Date jldt;
|
private Date jldt;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -404,6 +414,7 @@ public class SdEngInfoBH implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 编制时间
|
* 编制时间
|
||||||
*/
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
private Date edttm;
|
private Date edttm;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -856,16 +867,19 @@ public class SdEngInfoBH implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 蓄水验收日期
|
* 蓄水验收日期
|
||||||
*/
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
private Date sswdt;
|
private Date sswdt;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 一期下闸蓄水日期
|
* 一期下闸蓄水日期
|
||||||
*/
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
private Date piodt;
|
private Date piodt;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 二期下闸蓄水日期
|
* 二期下闸蓄水日期
|
||||||
*/
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
private Date aiodt;
|
private Date aiodt;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -936,16 +950,19 @@ public class SdEngInfoBH implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 水土保持竣工验收时间
|
* 水土保持竣工验收时间
|
||||||
*/
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
private Date styphpsp;
|
private Date styphpsp;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 现行环境保护竣工验收时间
|
* 现行环境保护竣工验收时间
|
||||||
*/
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
private Date xsjdhbys;
|
private Date xsjdhbys;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 申报水土保持方案日期
|
* 申报水土保持方案日期
|
||||||
*/
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
private Date sbfascrq;
|
private Date sbfascrq;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -957,21 +974,25 @@ public class SdEngInfoBH implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 环境影响后评价时间
|
* 环境影响后评价时间
|
||||||
*/
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
private Date hpsprq;
|
private Date hpsprq;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 竣工环境保护验收时间
|
* 竣工环境保护验收时间
|
||||||
*/
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
private Date jghbysrq;
|
private Date jghbysrq;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 截流阶段环境保护验收时间
|
* 截流阶段环境保护验收时间
|
||||||
*/
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
private Date jljdsbys;
|
private Date jljdsbys;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 竣工水土保持方案验收时间
|
* 竣工水土保持方案验收时间
|
||||||
*/
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
private Date jgjdsbys;
|
private Date jgjdsbys;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1218,6 +1239,7 @@ public class SdEngInfoBH implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 植被覆盖调查时间
|
* 植被覆盖调查时间
|
||||||
*/
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
private Date vlsrTm;
|
private Date vlsrTm;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1228,6 +1250,7 @@ public class SdEngInfoBH implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 创建时间
|
* 创建时间
|
||||||
*/
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
private Date recordTime;
|
private Date recordTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1238,6 +1261,7 @@ public class SdEngInfoBH implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 更新时间
|
* 更新时间
|
||||||
*/
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
private Date modifyTime;
|
private Date modifyTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1253,6 +1277,7 @@ public class SdEngInfoBH implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 删除时间
|
* 删除时间
|
||||||
*/
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
private Date deleteTime;
|
private Date deleteTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -10,6 +10,7 @@ import com.yfd.platform.config.ResponseResult;
|
|||||||
import com.yfd.platform.qgc_base.service.ISdHbrvDicService;
|
import com.yfd.platform.qgc_base.service.ISdHbrvDicService;
|
||||||
import com.yfd.platform.qgc_env.wt.service.SdWtMonitorService;
|
import com.yfd.platform.qgc_env.wt.service.SdWtMonitorService;
|
||||||
import com.yfd.platform.qgc_lygk.along.domain.MsAlongB;
|
import com.yfd.platform.qgc_lygk.along.domain.MsAlongB;
|
||||||
|
import com.yfd.platform.qgc_lygk.along.domain.PowerDto;
|
||||||
import com.yfd.platform.qgc_lygk.along.service.IMsAlongBService;
|
import com.yfd.platform.qgc_lygk.along.service.IMsAlongBService;
|
||||||
import com.yfd.platform.qgc_sys.mapcfg.service.IMapmoduleBService;
|
import com.yfd.platform.qgc_sys.mapcfg.service.IMapmoduleBService;
|
||||||
import com.yfd.platform.utils.DataSourceRequestUtil;
|
import com.yfd.platform.utils.DataSourceRequestUtil;
|
||||||
@ -90,4 +91,12 @@ public class MsAlongBController {
|
|||||||
public ResponseResult getWbsbList(@RequestParam String stcd) {
|
public ResponseResult getWbsbList(@RequestParam String stcd) {
|
||||||
return ResponseResult.successData(msAlongBService.getWbsbList(stcd));
|
return ResponseResult.successData(msAlongBService.getWbsbList(stcd));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@PostMapping("/noAuth/GetKendoPage")
|
||||||
|
@Operation(summary = "查询水电基地流域字典分页列表")
|
||||||
|
public ResponseResult getKendoPage(@RequestBody DataSourceRequest dataSourceRequest) {
|
||||||
|
DataSourceResult<PowerDto> result = msAlongBService.getKendoPage(dataSourceRequest);
|
||||||
|
return ResponseResult.successData(result);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -84,4 +84,12 @@ public class MsAlongB implements Serializable {
|
|||||||
/** 排序 */
|
/** 排序 */
|
||||||
@TableField("ORDER_INDEX")
|
@TableField("ORDER_INDEX")
|
||||||
private Integer orderIndex;
|
private Integer orderIndex;
|
||||||
|
|
||||||
|
/** 水电基地编码 */
|
||||||
|
@TableField("BASEID")
|
||||||
|
private String baseId;
|
||||||
|
|
||||||
|
/** 水电基地名称 */
|
||||||
|
@TableField("BASENAME")
|
||||||
|
private String baseName;
|
||||||
}
|
}
|
||||||
@ -82,4 +82,10 @@ public class MsAlongDetB implements Serializable {
|
|||||||
/** 删除时间 */
|
/** 删除时间 */
|
||||||
@TableField("DELETE_TIME")
|
@TableField("DELETE_TIME")
|
||||||
private Date deleteTime;
|
private Date deleteTime;
|
||||||
|
|
||||||
|
|
||||||
|
/** 出库入库标识 */
|
||||||
|
@TableField("IO_DIRECTION")
|
||||||
|
private String ioDirection;
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -14,5 +14,6 @@ public class MsAlongDetTreeDto {
|
|||||||
private String stnm; // 仅用于显示,不存表
|
private String stnm; // 仅用于显示,不存表
|
||||||
private String rstcd; // 仅用于显示,不存表
|
private String rstcd; // 仅用于显示,不存表
|
||||||
private String parentId; // 前端用,不存表
|
private String parentId; // 前端用,不存表
|
||||||
|
private String ioDirection; // 前端用,不存表
|
||||||
private List<MsAlongDetTreeDto> children; // 子节点
|
private List<MsAlongDetTreeDto> children; // 子节点
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,26 +1,191 @@
|
|||||||
package com.yfd.platform.qgc_lygk.along.domain;
|
package com.yfd.platform.qgc_lygk.along.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@Data
|
@Data
|
||||||
|
@TableName("V_MS_STBPRP_T")
|
||||||
public class PowerDto {
|
public class PowerDto {
|
||||||
// 水电水利工程编码
|
|
||||||
private String stcd;
|
|
||||||
|
|
||||||
// 水电水利工程名称
|
// ==================== 基础编码与名称 ====================
|
||||||
private String stnm;
|
@TableField("STCD")
|
||||||
|
private String stcd; // 水电水利工程编码
|
||||||
|
|
||||||
// 水电水利工程名称
|
@TableField("STNM")
|
||||||
private String sttp;
|
private String stnm; // 水电水利工程名称(中文)
|
||||||
|
|
||||||
// 主表实体
|
@TableField("ENNM")
|
||||||
private String sttpCode;
|
private String ennm; // 水电水利工程名称(英文/简称)
|
||||||
|
|
||||||
// 主表实体
|
// ==================== 测站类型(STTP) ====================
|
||||||
private String sttpName;
|
@TableField("STTP")
|
||||||
|
private String sttp; // 测站类型代码(如 WE、EQ_5)
|
||||||
|
|
||||||
// 主表实体
|
@TableField("STTP_CODE")
|
||||||
private String rstcd;
|
private String sttpCode; // 测站类型编码(与 STTP 相同)
|
||||||
|
|
||||||
|
@TableField("STTP_NAME")
|
||||||
|
private String sttpName; // 测站类型名称(如 水生生态调查断面、基荷发电)
|
||||||
|
|
||||||
|
@TableField("STTP_FULL_PATH")
|
||||||
|
private String sttpFullPath; // 测站类型完整路径(如 ENV,ENVM,WE,)
|
||||||
|
|
||||||
|
@TableField("STTP_TREE_LEVEL")
|
||||||
|
private Integer sttpTreeLevel; // 测站类型树层级(如 3)
|
||||||
|
|
||||||
|
// ==================== 关联上级 ====================
|
||||||
|
@TableField("RSTCD")
|
||||||
|
private String rstcd; // 关联上级测站编码
|
||||||
|
|
||||||
|
// ==================== 流域信息(BASE) ====================
|
||||||
|
@TableField("BASE_ID")
|
||||||
|
private String baseId; // 流域ID(如 02)
|
||||||
|
|
||||||
|
@TableField("BASE_NAME")
|
||||||
|
private String baseName; // 流域名称(如 雅砻江干流)
|
||||||
|
|
||||||
|
// ==================== 流域水系(HBRVCD) ====================
|
||||||
|
@TableField("HBRVCD")
|
||||||
|
private String hbrvcd; // 流域水系编码
|
||||||
|
|
||||||
|
@TableField("HBRVCD_NAME")
|
||||||
|
private String hbrvcdName; // 流域水系名称
|
||||||
|
|
||||||
|
// ==================== 河流/流域(RVCD) ====================
|
||||||
|
@TableField("RVCD")
|
||||||
|
private String rvcd; // 河流/流域编码(如 SJLY176)
|
||||||
|
|
||||||
|
@TableField("RVCD_NAME")
|
||||||
|
private String rvcdName; // 河流/流域名称(如 雅砻江干流)
|
||||||
|
|
||||||
|
// ==================== 行政区划(ADDVCD) ====================
|
||||||
|
@TableField("ADDVCD")
|
||||||
|
private String addvcd; // 行政区划编码
|
||||||
|
|
||||||
|
@TableField("ADDVNM")
|
||||||
|
private String addvnm; // 行政区划名称
|
||||||
|
|
||||||
|
// ==================== 河流水系(HYCD) ====================
|
||||||
|
@TableField("HYCD")
|
||||||
|
private String hycd; // 河流水系编码
|
||||||
|
|
||||||
|
@TableField("HYNM")
|
||||||
|
private String hynm; // 河流水系名称
|
||||||
|
|
||||||
|
@TableField("TOP_HYCD")
|
||||||
|
private String topHycd; // 顶级河流水系编码
|
||||||
|
|
||||||
|
@TableField("TOP_HYNM")
|
||||||
|
private String topHynm; // 顶级河流水系名称
|
||||||
|
|
||||||
|
// ==================== 地理坐标 ====================
|
||||||
|
@TableField("LGTD")
|
||||||
|
private BigDecimal lgtd; // 经度(如 100.780252)
|
||||||
|
|
||||||
|
@TableField("LTTD")
|
||||||
|
private BigDecimal lttd; // 纬度(如 30.26872)
|
||||||
|
|
||||||
|
// ==================== 站点属性 ====================
|
||||||
|
@TableField("STLC")
|
||||||
|
private String stlc; // 站点位置描述
|
||||||
|
|
||||||
|
@TableField("USFL")
|
||||||
|
private Integer usfl; // 是否启用(1启用 0禁用)
|
||||||
|
|
||||||
|
@TableField("DTIN")
|
||||||
|
private String dtin; // 数据类型代码
|
||||||
|
|
||||||
|
@TableField("DTIN_TM")
|
||||||
|
private Date dtinTm; // 数据类型更新时间
|
||||||
|
|
||||||
|
@TableField("BLDSTT_CODE")
|
||||||
|
private String bldsttCode; // 建设状态代码
|
||||||
|
|
||||||
|
// ==================== 描述与附件 ====================
|
||||||
|
@TableField("INTRODUCE")
|
||||||
|
private String introduce; // 介绍/描述
|
||||||
|
|
||||||
|
@TableField("LOGO")
|
||||||
|
private String logo; // LOGO 图片
|
||||||
|
|
||||||
|
@TableField("INFFILE")
|
||||||
|
private String inffile; // 附件文件
|
||||||
|
|
||||||
|
// ==================== 投资与建设 ====================
|
||||||
|
@TableField("INV")
|
||||||
|
private String inv; // 投资方/投资信息
|
||||||
|
|
||||||
|
@TableField("INVINMN")
|
||||||
|
private String invinmn; // 投资单位/法人
|
||||||
|
|
||||||
|
@TableField("STDSDT")
|
||||||
|
private Date stdsdt; // 开工日期
|
||||||
|
|
||||||
|
@TableField("PSTSTDT")
|
||||||
|
private Date pststdt; // 计划竣工日期
|
||||||
|
|
||||||
|
@TableField("PESSTDT")
|
||||||
|
private Date pesstdt; // 实际竣工日期
|
||||||
|
|
||||||
|
// ==================== 水文参数 ====================
|
||||||
|
@TableField("SWDT")
|
||||||
|
private String swdt; // 水文数据类型
|
||||||
|
|
||||||
|
@TableField("JCDT")
|
||||||
|
private String jcdt; // 监测数据类型
|
||||||
|
|
||||||
|
@TableField("WDDT")
|
||||||
|
private String wddt; // 温度数据类型
|
||||||
|
|
||||||
|
@TableField("ORDER_INDEX")
|
||||||
|
private Integer orderIndex; // 排序序号
|
||||||
|
|
||||||
|
@TableField("REMARK")
|
||||||
|
private String remark; // 备注
|
||||||
|
|
||||||
|
@TableField("VLSR")
|
||||||
|
private String vlsr; // 流速
|
||||||
|
|
||||||
|
@TableField("VLSR_TM")
|
||||||
|
private Date vlsrTm; // 流速时间
|
||||||
|
|
||||||
|
// ==================== 数据源与运行状态 ====================
|
||||||
|
@TableField("DTIN_TYPE")
|
||||||
|
private String dtinType; // 数据类型分类
|
||||||
|
|
||||||
|
@TableField("MWAY")
|
||||||
|
private String mway; // 测量方式
|
||||||
|
|
||||||
|
@TableField("RUN_STATE")
|
||||||
|
private String runState; // 运行状态(如 1-运行中)
|
||||||
|
|
||||||
|
// ==================== 审计字段(通用) ====================
|
||||||
|
@TableField("RECORD_USER")
|
||||||
|
private String recordUser; // 创建人
|
||||||
|
|
||||||
|
@TableField("RECORD_TIME")
|
||||||
|
private Date recordTime; // 创建时间
|
||||||
|
|
||||||
|
@TableField("MODIFY_USER")
|
||||||
|
private String modifyUser; // 修改人
|
||||||
|
|
||||||
|
@TableField("MODIFY_TIME")
|
||||||
|
private Date modifyTime; // 修改时间
|
||||||
|
|
||||||
|
@TableField("IS_DELETED")
|
||||||
|
private Integer isDeleted; // 软删除(0未删 1已删)
|
||||||
|
|
||||||
|
@TableField("DELETE_USER")
|
||||||
|
private String deleteUser; // 删除人
|
||||||
|
|
||||||
|
@TableField("DELETE_TIME")
|
||||||
|
private Date deleteTime; // 删除时间
|
||||||
|
|
||||||
|
// ==================== 数据来源 ====================
|
||||||
|
@TableField("DATA_SOURCE")
|
||||||
|
private String dataSource; // 数据来源(如 SD_WE_B_H)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -26,6 +26,8 @@ public interface IMsAlongBService extends IService<MsAlongB> {
|
|||||||
|
|
||||||
List<PowerDto> getWbsbList(String stcd);
|
List<PowerDto> getWbsbList(String stcd);
|
||||||
|
|
||||||
|
DataSourceResult<PowerDto> getKendoPage(DataSourceRequest dataSourceRequest);
|
||||||
|
|
||||||
// /**
|
// /**
|
||||||
// * 保存或更新沿程配置
|
// * 保存或更新沿程配置
|
||||||
// *
|
// *
|
||||||
|
|||||||
@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|||||||
import com.yfd.platform.common.DataSourceLoadOptionsBase;
|
import com.yfd.platform.common.DataSourceLoadOptionsBase;
|
||||||
import com.yfd.platform.common.DataSourceRequest;
|
import com.yfd.platform.common.DataSourceRequest;
|
||||||
import com.yfd.platform.common.DataSourceResult;
|
import com.yfd.platform.common.DataSourceResult;
|
||||||
|
import com.yfd.platform.common.MicroservicDynamicSQLMapper;
|
||||||
import com.yfd.platform.qgc_base.domain.SdRvcdDic;
|
import com.yfd.platform.qgc_base.domain.SdRvcdDic;
|
||||||
import com.yfd.platform.qgc_base.mapper.SdRvcdDicMapper;
|
import com.yfd.platform.qgc_base.mapper.SdRvcdDicMapper;
|
||||||
import com.yfd.platform.qgc_lygk.along.domain.MsAlongB;
|
import com.yfd.platform.qgc_lygk.along.domain.MsAlongB;
|
||||||
@ -17,6 +18,9 @@ import com.yfd.platform.qgc_lygk.along.service.IMsAlongBService;
|
|||||||
import com.yfd.platform.utils.CodeToNameMetadataBo;
|
import com.yfd.platform.utils.CodeToNameMetadataBo;
|
||||||
import com.yfd.platform.utils.DataSourceRequestUtil;
|
import com.yfd.platform.utils.DataSourceRequestUtil;
|
||||||
import com.yfd.platform.utils.DictCodeToNameConverter;
|
import com.yfd.platform.utils.DictCodeToNameConverter;
|
||||||
|
import com.yfd.platform.common.DataSourceRequest;
|
||||||
|
import com.yfd.platform.common.DataSourceRequest.FilterDescriptor;
|
||||||
|
import com.yfd.platform.common.DataSourceRequest.SortDescriptor;
|
||||||
import com.yfd.platform.utils.QgcQueryWrapperUtil;
|
import com.yfd.platform.utils.QgcQueryWrapperUtil;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@ -37,6 +41,9 @@ public class MsAlongBServiceImpl extends ServiceImpl<MsAlongBMapper, MsAlongB> i
|
|||||||
@Resource
|
@Resource
|
||||||
private SdRvcdDicMapper sdRvcdDicMapper;
|
private SdRvcdDicMapper sdRvcdDicMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private MicroservicDynamicSQLMapper microservicDynamicSQLMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DataSourceResult<MsAlongB> getKendoList(DataSourceRequest dataSourceRequest) {
|
public DataSourceResult<MsAlongB> getKendoList(DataSourceRequest dataSourceRequest) {
|
||||||
// 1. 构建查询条件
|
// 1. 构建查询条件
|
||||||
@ -101,6 +108,136 @@ public class MsAlongBServiceImpl extends ServiceImpl<MsAlongBMapper, MsAlongB> i
|
|||||||
return powerDtos;
|
return powerDtos;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DataSourceResult<PowerDto> getKendoPage(DataSourceRequest dataSourceRequest) {
|
||||||
|
// 1. 处理分页参数
|
||||||
|
DataSourceLoadOptionsBase loadOptions = dataSourceRequest == null ? null : dataSourceRequest.toDevRequest();
|
||||||
|
|
||||||
|
// 2. 构建基础 SQL
|
||||||
|
StringBuilder sql = new StringBuilder("SELECT * FROM V_MS_STBPRP_T WHERE 1=1");
|
||||||
|
Map<String, Object> paramMap = new HashMap<>();
|
||||||
|
|
||||||
|
// 3. 解析过滤条件(利用你的 FilterDescriptor)
|
||||||
|
if (dataSourceRequest != null && dataSourceRequest.getFilter() != null) {
|
||||||
|
String filterSql = parseFilter(dataSourceRequest.getFilter(), paramMap, new int[]{0});
|
||||||
|
if (StrUtil.isNotBlank(filterSql)) {
|
||||||
|
sql.append(" AND ").append(filterSql);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 4. 解析排序(利用你的 SortDescriptor)
|
||||||
|
if (dataSourceRequest != null && CollUtil.isNotEmpty(dataSourceRequest.getSort())) {
|
||||||
|
List<String> orderList = new ArrayList<>();
|
||||||
|
for (SortDescriptor sort : dataSourceRequest.getSort()) {
|
||||||
|
String field = sort.getField();
|
||||||
|
if (StrUtil.isBlank(field) || !isSafeField(field)) continue;
|
||||||
|
String direction = "asc".equalsIgnoreCase(sort.getDir()) ? "ASC" : "DESC";
|
||||||
|
orderList.add(field + " " + direction);
|
||||||
|
}
|
||||||
|
if (!orderList.isEmpty()) {
|
||||||
|
sql.append(" ORDER BY ").append(String.join(", ", orderList));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 5. 执行分页查询
|
||||||
|
Page<?> page = loadOptions == null ? null :
|
||||||
|
QgcQueryWrapperUtil.buildPage(loadOptions, loadOptions.getSkip(), loadOptions.getTake());
|
||||||
|
List<PowerDto> list = microservicDynamicSQLMapper.pageAllListWithResultType(
|
||||||
|
page, sql.toString(), paramMap, PowerDto.class
|
||||||
|
);
|
||||||
|
|
||||||
|
// 6. 封装返回结果
|
||||||
|
DataSourceResult<PowerDto> result = new DataSourceResult<>();
|
||||||
|
result.setData(list);
|
||||||
|
result.setTotal(page != null ? page.getTotal() : list.size());
|
||||||
|
result.setAggregates(new HashMap<>());
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 递归解析 FilterDescriptor(完美适配你的内部类结构)
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* 递归解析 FilterDescriptor
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* 递归解析 FilterDescriptor(Oracle 兼容版)
|
||||||
|
*/
|
||||||
|
private String parseFilter(FilterDescriptor filter, Map<String, Object> paramMap, int[] paramIndex) {
|
||||||
|
if (filter == null) return "";
|
||||||
|
|
||||||
|
// 如果有嵌套条件(logic + filters)
|
||||||
|
List<FilterDescriptor> childFilters = filter.getFilters();
|
||||||
|
if (CollUtil.isNotEmpty(childFilters)) {
|
||||||
|
List<String> childConditions = new ArrayList<>();
|
||||||
|
for (FilterDescriptor child : childFilters) {
|
||||||
|
String childSql = parseFilter(child, paramMap, paramIndex);
|
||||||
|
if (StrUtil.isNotBlank(childSql)) {
|
||||||
|
childConditions.add(childSql);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (childConditions.isEmpty()) return "";
|
||||||
|
|
||||||
|
String logic = StrUtil.isNotBlank(filter.getLogic()) ? filter.getLogic() : "and";
|
||||||
|
String connector = "and".equalsIgnoreCase(logic) ? " AND " : " OR ";
|
||||||
|
return "(" + String.join(connector, childConditions) + ")";
|
||||||
|
}
|
||||||
|
|
||||||
|
// 叶子节点:单个条件
|
||||||
|
String field = filter.getField();
|
||||||
|
Object value = filter.getValue();
|
||||||
|
String operator = filter.getOperator();
|
||||||
|
|
||||||
|
if (StrUtil.isBlank(field) || value == null) return "";
|
||||||
|
if (!isSafeField(field)) return "";
|
||||||
|
|
||||||
|
String paramKey = "p" + paramIndex[0]++;
|
||||||
|
paramMap.put(paramKey, value);
|
||||||
|
|
||||||
|
// 根据操作符生成 SQL(Oracle 使用 || 拼接)
|
||||||
|
if ("eq".equalsIgnoreCase(operator)) {
|
||||||
|
return field + " = #{map." + paramKey + "}";
|
||||||
|
} else if ("neq".equalsIgnoreCase(operator)) {
|
||||||
|
return field + " != #{map." + paramKey + "}";
|
||||||
|
} else if ("contains".equalsIgnoreCase(operator)) {
|
||||||
|
// Oracle 用 || 替代 CONCAT
|
||||||
|
return field + " LIKE '%' || #{map." + paramKey + "} || '%'";
|
||||||
|
} else if ("startswith".equalsIgnoreCase(operator)) {
|
||||||
|
return field + " LIKE #{map." + paramKey + "} || '%'";
|
||||||
|
} else if ("endswith".equalsIgnoreCase(operator)) {
|
||||||
|
return field + " LIKE '%' || #{map." + paramKey + "}";
|
||||||
|
} else if ("gt".equalsIgnoreCase(operator)) {
|
||||||
|
return field + " > #{map." + paramKey + "}";
|
||||||
|
} else if ("gte".equalsIgnoreCase(operator)) {
|
||||||
|
return field + " >= #{map." + paramKey + "}";
|
||||||
|
} else if ("lt".equalsIgnoreCase(operator)) {
|
||||||
|
return field + " < #{map." + paramKey + "}";
|
||||||
|
} else if ("lte".equalsIgnoreCase(operator)) {
|
||||||
|
return field + " <= #{map." + paramKey + "}";
|
||||||
|
} else if ("isnull".equalsIgnoreCase(operator)) {
|
||||||
|
paramMap.remove(paramKey);
|
||||||
|
return field + " IS NULL";
|
||||||
|
} else if ("isnotnull".equalsIgnoreCase(operator)) {
|
||||||
|
paramMap.remove(paramKey);
|
||||||
|
return field + " IS NOT NULL";
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 安全字段白名单(根据你的视图字段调整)
|
||||||
|
*/
|
||||||
|
private boolean isSafeField(String field) {
|
||||||
|
if (StrUtil.isBlank(field)) return false;
|
||||||
|
// 支持视图中的常用字段
|
||||||
|
Set<String> validFields = new HashSet<>(Arrays.asList(
|
||||||
|
"STCD", "STNM", "ENNM", "BASE_ID", "BASE_NAME", "RVCD", "RVCD_NAME",
|
||||||
|
"ADDVCD", "ADDVNM", "HYCD", "HYNM", "STTP", "STTP_CODE", "STTP_NAME",
|
||||||
|
"LGTD", "LTTD", "ORDER_INDEX", "RUN_STATE"
|
||||||
|
));
|
||||||
|
return validFields.contains(field.toUpperCase());
|
||||||
|
}
|
||||||
|
|
||||||
// @Override
|
// @Override
|
||||||
// public boolean saveOrUpdate(MsAlongB msAlongB) {
|
// public boolean saveOrUpdate(MsAlongB msAlongB) {
|
||||||
// super.saveOrUpdate(msAlongB);
|
// super.saveOrUpdate(msAlongB);
|
||||||
|
|||||||
@ -149,6 +149,7 @@ public class MsAlongDetBServiceImpl extends ServiceImpl<MsAlongDetBMapper, MsAlo
|
|||||||
entity.setAlongId(node.getAlongId());
|
entity.setAlongId(node.getAlongId());
|
||||||
entity.setStcd(node.getStcd());
|
entity.setStcd(node.getStcd());
|
||||||
entity.setSttp(node.getSttp());
|
entity.setSttp(node.getSttp());
|
||||||
|
entity.setIoDirection(node.getIoDirection());
|
||||||
entity.setRstcd(node.getRstcd());
|
entity.setRstcd(node.getRstcd());
|
||||||
entity.setRecordUser(SecurityUtils.getUserId()); // 创建人
|
entity.setRecordUser(SecurityUtils.getUserId()); // 创建人
|
||||||
//entity.setRecordUser(SecurityUtils.getCurrentUsername()); // 创建人
|
//entity.setRecordUser(SecurityUtils.getCurrentUsername()); // 创建人
|
||||||
|
|||||||
@ -0,0 +1,61 @@
|
|||||||
|
package com.yfd.platform.qgc_sys.obliqueImage.controller;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import com.yfd.platform.common.DataSourceRequest;
|
||||||
|
import com.yfd.platform.common.DataSourceResult;
|
||||||
|
import com.yfd.platform.common.exception.BizException;
|
||||||
|
import com.yfd.platform.config.ResponseResult;
|
||||||
|
import com.yfd.platform.qgc_sys.obliqueImage.domain.MsObliqueImageB;
|
||||||
|
import com.yfd.platform.qgc_sys.obliqueImage.service.IMsObliqueImageBService;
|
||||||
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
|
import jakarta.annotation.Resource;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 倾斜摄影管理控制器
|
||||||
|
*
|
||||||
|
* @author migration
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/sys/oblique")
|
||||||
|
@Tag(name = "倾斜摄影管理控制器")
|
||||||
|
public class MsObliqueImageBController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IMsObliqueImageBService msObliqueImageBService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 条件过滤数据列表
|
||||||
|
*/
|
||||||
|
@Operation(summary = "条件过滤数据列表")
|
||||||
|
@PostMapping("/GetKendoListCust")
|
||||||
|
public ResponseResult getKendoListCust(@RequestBody DataSourceRequest dataSourceRequest) {
|
||||||
|
DataSourceResult<MsObliqueImageB> result = msObliqueImageBService.getKendoList(dataSourceRequest);
|
||||||
|
return ResponseResult.successData(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增或修改
|
||||||
|
*/
|
||||||
|
@Operation(summary = "新增或修改")
|
||||||
|
@PostMapping("/addOrUpdate")
|
||||||
|
public ResponseResult addOrUpdate(@RequestBody MsObliqueImageB msObliqueImageB) {
|
||||||
|
msObliqueImageBService.addOrUpdate(msObliqueImageB);
|
||||||
|
return ResponseResult.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除
|
||||||
|
*/
|
||||||
|
@Operation(summary = "删除")
|
||||||
|
@GetMapping("/delete")
|
||||||
|
public ResponseResult delete(@RequestParam("id") String id) {
|
||||||
|
if (StrUtil.isBlank(id)) {
|
||||||
|
throw new BizException("ID不能为空");
|
||||||
|
}
|
||||||
|
msObliqueImageBService.delete(id);
|
||||||
|
return ResponseResult.success();
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,151 @@
|
|||||||
|
package com.yfd.platform.qgc_sys.obliqueImage.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 倾斜摄影管理实体类
|
||||||
|
*
|
||||||
|
* @author migration
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName("MS_OBL_PHOTO")
|
||||||
|
@Schema(description = "倾斜摄影管理实体类")
|
||||||
|
public class MsObliqueImageB implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@TableId(type = IdType.ASSIGN_UUID)
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
/** 站码 */
|
||||||
|
@TableField("STCD")
|
||||||
|
private String stcd;
|
||||||
|
|
||||||
|
/** 站名 */
|
||||||
|
@TableField("STNM")
|
||||||
|
private String stnm;
|
||||||
|
|
||||||
|
/** 所属站类ID */
|
||||||
|
@TableField("STTP")
|
||||||
|
private String sttp;
|
||||||
|
|
||||||
|
/** 所属站类编码 */
|
||||||
|
@TableField("STTP_CODE")
|
||||||
|
private String sttpCode;
|
||||||
|
|
||||||
|
/** 所属站类名称 */
|
||||||
|
@TableField("STTP_NAME")
|
||||||
|
private String sttpName;
|
||||||
|
|
||||||
|
/** 所属站类全路径(非数据库字段) */
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String sttpFullPath;
|
||||||
|
|
||||||
|
/** 所属站类层级(非数据库字段) */
|
||||||
|
@TableField(exist = false)
|
||||||
|
private Integer sttpTreeLevel;
|
||||||
|
|
||||||
|
/** 所属水电基地编码 */
|
||||||
|
@TableField("BASE_ID")
|
||||||
|
private String baseId;
|
||||||
|
|
||||||
|
/** 所属水电基地名称 */
|
||||||
|
@TableField("BASE_NAME")
|
||||||
|
private String baseName;
|
||||||
|
|
||||||
|
/** 所属流域编码 */
|
||||||
|
@TableField("HBRVCD")
|
||||||
|
private String hbrvcd;
|
||||||
|
|
||||||
|
/** 所属流域名称 */
|
||||||
|
@TableField("HBRVCD_NAME")
|
||||||
|
private String hbrvcdName;
|
||||||
|
|
||||||
|
/** 所属河段编码(非数据库字段,与HBRVCD同源) */
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String rvcd;
|
||||||
|
|
||||||
|
/** 所属河段名称(非数据库字段,与HBRVCD_NAME同源) */
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String rvcdName;
|
||||||
|
|
||||||
|
/** 在线地址 */
|
||||||
|
@TableField("URL")
|
||||||
|
private String url;
|
||||||
|
|
||||||
|
/** 所属电站编码 */
|
||||||
|
@TableField("RSTCD")
|
||||||
|
private String rstcd;
|
||||||
|
|
||||||
|
/** 所属电站名称 */
|
||||||
|
@TableField("ENNM")
|
||||||
|
private String ennm;
|
||||||
|
|
||||||
|
/** 电站经度(非数据库字段) */
|
||||||
|
@TableField("LGTD")
|
||||||
|
private Double lgtd;
|
||||||
|
|
||||||
|
/** 电站纬度(非数据库字段) */
|
||||||
|
@TableField("LTTD")
|
||||||
|
private Double lttd;
|
||||||
|
|
||||||
|
/** 电站坐标JSON串 */
|
||||||
|
@TableField("LOCATION")
|
||||||
|
private String location;
|
||||||
|
|
||||||
|
/** 模型精度 */
|
||||||
|
@TableField("ACCURACY")
|
||||||
|
private Integer accuracy;
|
||||||
|
|
||||||
|
/** 边界范围 */
|
||||||
|
@TableField("BOUNDARY")
|
||||||
|
private String boundary;
|
||||||
|
|
||||||
|
/** 自定义高程 */
|
||||||
|
@TableField("HEIGHT")
|
||||||
|
private Integer height;
|
||||||
|
|
||||||
|
/** 备注 */
|
||||||
|
@TableField("COMMENTS")
|
||||||
|
private String comments;
|
||||||
|
|
||||||
|
/** 创建人 */
|
||||||
|
@TableField("RECORD_USER")
|
||||||
|
private String recordUser;
|
||||||
|
|
||||||
|
/** 创建人名称(非数据库字段) */
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String recordUserName;
|
||||||
|
|
||||||
|
/** 创建时间(非数据库字段) */
|
||||||
|
@TableField(exist = false)
|
||||||
|
private Date recordTime;
|
||||||
|
|
||||||
|
/** 更新人 */
|
||||||
|
@TableField("MODIFY_USER")
|
||||||
|
private String modifyUser;
|
||||||
|
|
||||||
|
/** 更新时间 */
|
||||||
|
@TableField("MODIFY_TIME")
|
||||||
|
private Date modifyTime;
|
||||||
|
|
||||||
|
/** 是否已删除:0=未删除 1=已删除 */
|
||||||
|
@TableField("IS_DELETED")
|
||||||
|
private Integer isDeleted;
|
||||||
|
|
||||||
|
/** 删除人 */
|
||||||
|
@TableField("DELETE_USER")
|
||||||
|
private String deleteUser;
|
||||||
|
|
||||||
|
/** 删除时间 */
|
||||||
|
@TableField("DELETE_TIME")
|
||||||
|
private Date deleteTime;
|
||||||
|
}
|
||||||
@ -0,0 +1,24 @@
|
|||||||
|
package com.yfd.platform.qgc_sys.obliqueImage.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.yfd.platform.qgc_sys.obliqueImage.domain.MsObliqueImageB;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
import org.apache.ibatis.annotations.Delete;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.apache.ibatis.annotations.Select;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 倾斜摄影管理 Mapper 接口
|
||||||
|
*
|
||||||
|
* @author migration
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface MsObliqueImageBMapper extends BaseMapper<MsObliqueImageB> {
|
||||||
|
|
||||||
|
@Delete("DELETE FROM MS_OBL_PHOTO WHERE ID = #{id}")
|
||||||
|
void deleteById(@Param("id") String id);
|
||||||
|
|
||||||
|
@Select("SELECT ID FROM SD_STTP_B WHERE STTP_CODE = 'OSGB'")
|
||||||
|
String getSttp();
|
||||||
|
}
|
||||||
@ -0,0 +1,36 @@
|
|||||||
|
package com.yfd.platform.qgc_sys.obliqueImage.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.yfd.platform.common.DataSourceRequest;
|
||||||
|
import com.yfd.platform.common.DataSourceResult;
|
||||||
|
import com.yfd.platform.qgc_sys.obliqueImage.domain.MsObliqueImageB;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 倾斜摄影管理 Service 接口
|
||||||
|
*
|
||||||
|
* @author migration
|
||||||
|
*/
|
||||||
|
public interface IMsObliqueImageBService extends IService<MsObliqueImageB> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 条件过滤数据列表(Kendo 数据源)
|
||||||
|
*
|
||||||
|
* @param dataSourceRequest 数据源请求
|
||||||
|
* @return 数据源结果
|
||||||
|
*/
|
||||||
|
DataSourceResult<MsObliqueImageB> getKendoList(DataSourceRequest dataSourceRequest);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增或修改
|
||||||
|
*
|
||||||
|
* @param msObliqueImageB 倾斜摄影实体
|
||||||
|
*/
|
||||||
|
void addOrUpdate(MsObliqueImageB msObliqueImageB);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除
|
||||||
|
*
|
||||||
|
* @param id 主键ID
|
||||||
|
*/
|
||||||
|
void delete(String id);
|
||||||
|
}
|
||||||
@ -0,0 +1,178 @@
|
|||||||
|
package com.yfd.platform.qgc_sys.obliqueImage.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.yfd.platform.common.DataSourceLoadOptionsBase;
|
||||||
|
import com.yfd.platform.common.DataSourceRequest;
|
||||||
|
import com.yfd.platform.common.DataSourceResult;
|
||||||
|
import com.yfd.platform.common.exception.BizException;
|
||||||
|
import com.yfd.platform.qgc_base.domain.SdEngInfoBH;
|
||||||
|
import com.yfd.platform.qgc_base.service.ISdEngInfoBHService;
|
||||||
|
import com.yfd.platform.qgc_sys.obliqueImage.domain.MsObliqueImageB;
|
||||||
|
import com.yfd.platform.qgc_sys.obliqueImage.mapper.MsObliqueImageBMapper;
|
||||||
|
import com.yfd.platform.qgc_sys.obliqueImage.service.IMsObliqueImageBService;
|
||||||
|
import com.yfd.platform.utils.DataSourceRequestUtil;
|
||||||
|
import com.yfd.platform.utils.QgcQueryWrapperUtil;
|
||||||
|
import com.yfd.platform.utils.QueryWrapperUtil;
|
||||||
|
import com.yfd.platform.utils.SecurityUtils;
|
||||||
|
import jakarta.annotation.Resource;
|
||||||
|
import lombok.Data;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 倾斜摄影管理 Service 实现类
|
||||||
|
*
|
||||||
|
* @author migration
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class MsObliqueImageBServiceImpl extends ServiceImpl<MsObliqueImageBMapper, MsObliqueImageB> implements IMsObliqueImageBService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private MsObliqueImageBMapper msObliqueImageBMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ISdEngInfoBHService engInfoBHService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DataSourceResult<MsObliqueImageB> getKendoList(DataSourceRequest dataSourceRequest) {
|
||||||
|
// 1. 构建查询条件
|
||||||
|
DataSourceLoadOptionsBase loadOptions = dataSourceRequest == null ? null : dataSourceRequest.toDevRequest();
|
||||||
|
|
||||||
|
QueryWrapper<MsObliqueImageB> wrapper = DataSourceRequestUtil.buildQueryWrapper(
|
||||||
|
dataSourceRequest, MsObliqueImageB.class);
|
||||||
|
|
||||||
|
// 固定条件:STTP_CODE = 'OSGB' AND IS_DELETED = 0 AND RSTCD IS NOT NULL
|
||||||
|
wrapper.eq("STTP_CODE", "OSGB");
|
||||||
|
wrapper.eq("IS_DELETED", 0);
|
||||||
|
wrapper.isNotNull("RSTCD");
|
||||||
|
|
||||||
|
// 旧系统 rvcd 字段映射到 HBRVCD 列(前端传参保持 rvcd 不变)
|
||||||
|
if (loadOptions != null) {
|
||||||
|
String rvcd = QueryWrapperUtil.getFilterFieldValue(loadOptions, "rvcd");
|
||||||
|
if (StrUtil.isNotBlank(rvcd)) {
|
||||||
|
wrapper.eq("HBRVCD", rvcd);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 默认按修改时间倒序
|
||||||
|
wrapper.orderByDesc("MODIFY_TIME");
|
||||||
|
|
||||||
|
// 2. 分页参数处理
|
||||||
|
Page<MsObliqueImageB> page = loadOptions == null ? null
|
||||||
|
: (Page<MsObliqueImageB>) QgcQueryWrapperUtil.buildPage(loadOptions, loadOptions.getSkip(), loadOptions.getTake());
|
||||||
|
|
||||||
|
// 3. 执行查询
|
||||||
|
Page<MsObliqueImageB> resultPage;
|
||||||
|
if (page != null) {
|
||||||
|
resultPage = this.page(page, wrapper);
|
||||||
|
} else {
|
||||||
|
List<MsObliqueImageB> list = this.list(wrapper);
|
||||||
|
resultPage = new Page<>();
|
||||||
|
resultPage.setRecords(list);
|
||||||
|
resultPage.setTotal(list.size());
|
||||||
|
}
|
||||||
|
|
||||||
|
// 4. 构建结果
|
||||||
|
DataSourceResult<MsObliqueImageB> dataSourceResult = new DataSourceResult<>();
|
||||||
|
dataSourceResult.setData(resultPage.getRecords());
|
||||||
|
dataSourceResult.setTotal(resultPage.getTotal());
|
||||||
|
return dataSourceResult;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void addOrUpdate(MsObliqueImageB msObliqueImageB) {
|
||||||
|
if (StrUtil.isNotBlank(msObliqueImageB.getRstcd())){
|
||||||
|
|
||||||
|
LambdaQueryWrapper<SdEngInfoBH> wrapper = new LambdaQueryWrapper<>();
|
||||||
|
wrapper.eq(StrUtil.isNotBlank(msObliqueImageB.getRstcd()), SdEngInfoBH::getStcd, msObliqueImageB.getRstcd())
|
||||||
|
.eq(SdEngInfoBH::getIsDeleted, 0)
|
||||||
|
.select(SdEngInfoBH::getLgtd, SdEngInfoBH::getLttd, SdEngInfoBH::getBaseId, SdEngInfoBH::getBaseName)
|
||||||
|
.orderByAsc(SdEngInfoBH::getBaseId, SdEngInfoBH::getOrderIndex);
|
||||||
|
SdEngInfoBH sdEngInfoBH = engInfoBHService.getOne(wrapper);
|
||||||
|
if (sdEngInfoBH.getLgtd() != null){
|
||||||
|
msObliqueImageB.setLgtd(sdEngInfoBH.getLgtd());
|
||||||
|
}
|
||||||
|
if (sdEngInfoBH.getLttd() != null){
|
||||||
|
msObliqueImageB.setLttd(sdEngInfoBH.getLttd());
|
||||||
|
}
|
||||||
|
if (StrUtil.isNotBlank(sdEngInfoBH.getBaseName())){
|
||||||
|
msObliqueImageB.setBaseName(sdEngInfoBH.getBaseName());
|
||||||
|
}
|
||||||
|
if (StrUtil.isNotBlank(sdEngInfoBH.getBaseId())){
|
||||||
|
msObliqueImageB.setBaseId(sdEngInfoBH.getBaseId());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (StrUtil.isBlank(msObliqueImageB.getId())) {
|
||||||
|
addMsObliqueImageB(msObliqueImageB);
|
||||||
|
} else {
|
||||||
|
updateMsObliqueImageB(msObliqueImageB);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void delete(String id) {
|
||||||
|
msObliqueImageBMapper.deleteById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addMsObliqueImageB(MsObliqueImageB msObliqueImageB) {
|
||||||
|
// 查询新增的倾斜摄影是否已存在
|
||||||
|
String rstcd = msObliqueImageB.getRstcd();
|
||||||
|
if (StrUtil.isBlank(rstcd)) {
|
||||||
|
throw new BizException("电站不能为空");
|
||||||
|
}
|
||||||
|
String id = "OSGB_" + rstcd;
|
||||||
|
MsObliqueImageB old = msObliqueImageBMapper.selectById(id);
|
||||||
|
if (old != null) {
|
||||||
|
throw new BizException("该电站已存在倾斜摄影");
|
||||||
|
}
|
||||||
|
msObliqueImageB.setSttpCode("OSGB");
|
||||||
|
msObliqueImageB.setSttpName("倾斜摄影");
|
||||||
|
if (StrUtil.isBlank(msObliqueImageB.getRvcd())) {
|
||||||
|
msObliqueImageB.setRvcd(msObliqueImageB.getHbrvcd());
|
||||||
|
}
|
||||||
|
if (StrUtil.isBlank(msObliqueImageB.getRvcdName())) {
|
||||||
|
msObliqueImageB.setRvcdName(msObliqueImageB.getHbrvcdName());
|
||||||
|
}
|
||||||
|
msObliqueImageB.setStcd("OSGB_" + msObliqueImageB.getRstcd());
|
||||||
|
msObliqueImageB.setId("OSGB_" + msObliqueImageB.getRstcd());
|
||||||
|
msObliqueImageB.setSttpFullPath("OSGB,");
|
||||||
|
msObliqueImageB.setSttpTreeLevel(1);
|
||||||
|
String sttp = msObliqueImageBMapper.getSttp();
|
||||||
|
if (StrUtil.isBlank(sttp)) {
|
||||||
|
throw new BizException("倾斜摄影对应的sttp在SD_STTP_B中找不到");
|
||||||
|
}
|
||||||
|
msObliqueImageB.setSttp(sttp);
|
||||||
|
// 设置通用字段
|
||||||
|
String userId = currentUserIdOrSystem();
|
||||||
|
msObliqueImageB.setRecordUser(userId);
|
||||||
|
Date now = new java.util.Date();
|
||||||
|
msObliqueImageB.setModifyTime(now);
|
||||||
|
msObliqueImageB.setModifyUser(userId);
|
||||||
|
msObliqueImageB.setIsDeleted(0);
|
||||||
|
msObliqueImageBMapper.insert(msObliqueImageB);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateMsObliqueImageB(MsObliqueImageB msObliqueImageB) {
|
||||||
|
String userId = currentUserIdOrSystem();
|
||||||
|
msObliqueImageB.setModifyUser(userId);
|
||||||
|
msObliqueImageB.setModifyTime(new java.util.Date());
|
||||||
|
this.updateById(msObliqueImageB);
|
||||||
|
}
|
||||||
|
|
||||||
|
private String currentUserIdOrSystem() {
|
||||||
|
try {
|
||||||
|
return SecurityUtils.getUserId();
|
||||||
|
} catch (Exception ex) {
|
||||||
|
return "system";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user