1.调整
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
package com.njcn.relational.mapper;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.relational.pojo.po.LineBak;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author cdf
|
||||
* @since 2022-01-04
|
||||
*/
|
||||
public interface LineBakMapper extends BaseMapper<LineBak> {
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.njcn.relational.mapper;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
import com.njcn.relational.pojo.po.LineDetail;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author cdf
|
||||
* @since 2022-01-04
|
||||
*/
|
||||
public interface LineDetailMapper extends BaseMapper<LineDetail> {
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.njcn.relational.mapper;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.relational.pojo.po.Line;
|
||||
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author cdf
|
||||
* @since 2022-01-04
|
||||
*/
|
||||
public interface LineMapper extends BaseMapper<Line> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
package com.njcn.relational.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.relational.pojo.po.SgConPlantBNewenergy;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface SgConPlantBNewenergyMapper extends BaseMapper<SgConPlantBNewenergy> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
package com.njcn.relational.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.relational.pojo.po.SgDevAclineB;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface SgDevAclineBMapper extends BaseMapper<SgDevAclineB> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package com.njcn.relational.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.relational.pojo.po.SupervisionUserReportBak;
|
||||
|
||||
/**
|
||||
* 监测对象中间关系表 Mapper
|
||||
*/
|
||||
public interface SupervisionUserReportBakMapper extends BaseMapper<SupervisionUserReportBak> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
package com.njcn.relational.mapper;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.relational.pojo.po.UserReportBakPO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface UserReportBakMapper extends MppBaseMapper<UserReportBakPO> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.njcn.relational.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.relational.pojo.po.UserReportPO;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* Date: 2024/4/25 10:07【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
public interface UserReportPOMapper extends BaseMapper<UserReportPO> {
|
||||
|
||||
|
||||
}
|
||||
@@ -82,4 +82,26 @@ public class DcloudSyncQuery {
|
||||
query.setPropertyList("D5000_ID,D5000_NAME,DCC_ID,DCLOUD_ID,DCLOUD_NAME,DCLOUD_VOLTAGELEVEL,OMS_ID,OMS_NAME,OWNER,PMS_ID,PSDB_DEV_TYPE,PSDB_ID,PSDB_NAME,SETTING_ID,SETTING_NAME,STATUS");
|
||||
return query;
|
||||
}
|
||||
|
||||
public static DcloudSyncQuery buildSgConPlantBNewenergy(String filter, String orderStr, Integer pageIndex, Integer pageSize) {
|
||||
DcloudSyncQuery query = new DcloudSyncQuery();
|
||||
query.setTableName("SG_CON_PLANT_B_NEWENERGY");
|
||||
query.setFilter(filter);
|
||||
query.setOrderStr(orderStr);
|
||||
query.setPageIndex(pageIndex);
|
||||
query.setPageSize(pageSize);
|
||||
query.setPropertyList("ID,COMPENSATION_VAR_CAP,CONNECTIVE_STATION_ID,ENERGY_STORAGE_CAPACITY,ENERGY_STORAGE_DEVICE_COUNT,INVERTER_COUNT,OWNER,STAMP,TYPE_NUM,WINDTURBINE_NUM,GROUND_TYPE,FILT_NUM,HOUR_NUM,WINDTOWER_NUM,PHOTOMETER_NUM,WINDRANGE,INSTALL_LOCATION");
|
||||
return query;
|
||||
}
|
||||
|
||||
public static DcloudSyncQuery buildSgSgDevAclineB(String filter, String orderStr, Integer pageIndex, Integer pageSize) {
|
||||
DcloudSyncQuery query = new DcloudSyncQuery();
|
||||
query.setTableName("SG_DEV_ACLINE_B");
|
||||
query.setFilter(filter);
|
||||
query.setOrderStr(orderStr);
|
||||
query.setPageIndex(pageIndex);
|
||||
query.setPageSize(pageSize);
|
||||
query.setPropertyList("ID,NAME,VOLTAGE_TYPE,GRID_ID,SUPPLIER_ID,SYS_FLAG,TAG,ASSETS_COMPANY_ID,CHECK_CODE,COMPACT_ZONE,DEV_ID,DISPATCH_ORG_ID,START_BAY_ID,START_ST_ID,START_TOWER_ID,END_BAY_ID,END_ST_ID,END_TOWER_ID,ERECTINGMETHOD,EXPIRY_DATE,OFF_TIME,ON_TIME,OPERATE_DATE,OWNER,RUNNING_STATE,STAMP,ISOPTICFIBEREQUIPED,IS_COMPACT,LENGTH,LICENSE_ORG_ID,LINETYPE,MEMBER_FEATURE_TAG,STRIDE_FEATURE_TAG");
|
||||
return query;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
package com.njcn.relational.pojo.po;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.njcn.relational.pojo.bo.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author cdf
|
||||
* @since 2022-01-04
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("pq_line")
|
||||
public class Line extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 监测点Id
|
||||
*/
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 父节点(0为根节点)
|
||||
*/
|
||||
private String pid;
|
||||
|
||||
/**
|
||||
* 上层所有节点
|
||||
*/
|
||||
private String pids;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 等级:0-项目名称;1- 工程名称;2-单位;3-部门;4-终端;5-母线;6-监测点
|
||||
*/
|
||||
private Integer level;
|
||||
|
||||
/**
|
||||
* 排序(默认为0,有特殊排序需要时候人为输入)
|
||||
*/
|
||||
private Integer sort;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 状态 0-删除;1-正常;默认正常
|
||||
*/
|
||||
private Integer state;
|
||||
|
||||
|
||||
@TableField(exist = false)
|
||||
private List<Line> children;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
package com.njcn.relational.pojo.po;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* </p>
|
||||
*
|
||||
* @author cdf
|
||||
* @since 2022-01-04
|
||||
*/
|
||||
@Data
|
||||
@TableName("pq_line_bak")
|
||||
public class LineBak {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 监测点Id
|
||||
*/
|
||||
private String id;
|
||||
|
||||
|
||||
/**
|
||||
* 原始监测点Id
|
||||
*/
|
||||
private Integer lineId;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,217 @@
|
||||
package com.njcn.relational.pojo.po;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author cdf
|
||||
* @since 2022-01-04
|
||||
*/
|
||||
@Data
|
||||
@TableName("pq_line_detail")
|
||||
public class LineDetail {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 监测点序号
|
||||
*/
|
||||
@TableId
|
||||
private String id;
|
||||
|
||||
|
||||
@TableField(exist = false)
|
||||
private String monitorName;
|
||||
|
||||
/**
|
||||
* 线路号(在同一台设备中的监测点号)
|
||||
*/
|
||||
private Integer num;
|
||||
|
||||
/**
|
||||
* PT一次变比
|
||||
*/
|
||||
private Float pt1;
|
||||
|
||||
/**
|
||||
* PT二次变比
|
||||
*/
|
||||
private Float pt2;
|
||||
|
||||
/**
|
||||
* CT一次变比
|
||||
*/
|
||||
private Float ct1;
|
||||
|
||||
/**
|
||||
* CT二次变比
|
||||
*/
|
||||
private Float ct2;
|
||||
|
||||
/**
|
||||
* 设备容量
|
||||
*/
|
||||
private Float devCapacity;
|
||||
|
||||
/**
|
||||
* 短路容量
|
||||
*/
|
||||
private Float shortCapacity;
|
||||
|
||||
/**
|
||||
* 基准容量
|
||||
*/
|
||||
private Float standardCapacity;
|
||||
|
||||
/**
|
||||
* 协议容量
|
||||
*/
|
||||
private Float dealCapacity;
|
||||
|
||||
/**
|
||||
* 接线类型(0:星型接法;1:三角型接法;2:开口三角型接法)
|
||||
*/
|
||||
private Integer ptType;
|
||||
|
||||
/**
|
||||
* 测量间隔(1-10分钟)
|
||||
*/
|
||||
private Integer timeInterval;
|
||||
|
||||
/**
|
||||
* 干扰源类型,字典表
|
||||
*/
|
||||
private String loadType;
|
||||
|
||||
/**
|
||||
* 行业类型,字典表
|
||||
*/
|
||||
private String businessType;
|
||||
|
||||
/**
|
||||
* 网公司谐波监测平台标志(0-否;1-是),默认否
|
||||
*/
|
||||
private Integer monitorFlag;
|
||||
|
||||
/**
|
||||
* 电网标志(0-电网侧;1-非电网侧)
|
||||
*/
|
||||
private Integer powerFlag;
|
||||
|
||||
/**
|
||||
* 国网谐波监测平台监测点号
|
||||
*/
|
||||
private String monitorId;
|
||||
|
||||
/**
|
||||
* 监测点对象名称
|
||||
*/
|
||||
private String objName;
|
||||
|
||||
/**
|
||||
* 监测点对象id
|
||||
*/
|
||||
private String objId;
|
||||
|
||||
/**
|
||||
* 监测对象大类
|
||||
*/
|
||||
private String bigObjType;
|
||||
|
||||
/**
|
||||
* 监测对象小类
|
||||
*/
|
||||
private String smallObjType;
|
||||
|
||||
/**
|
||||
* 人为干预 0 不参与统计 1 参与统计
|
||||
*/
|
||||
private Integer statFlag;
|
||||
|
||||
/**
|
||||
* 关联字典的终端等级
|
||||
*/
|
||||
private String lineGrade;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 电网侧变电站
|
||||
*/
|
||||
private String powerSubstationName;
|
||||
/**
|
||||
* 分类等级
|
||||
*/
|
||||
private String calssificationGrade;
|
||||
|
||||
|
||||
/**
|
||||
* 上级电站
|
||||
*/
|
||||
@Deprecated
|
||||
private String superiorsSubstation;
|
||||
|
||||
/**
|
||||
* 挂接线路
|
||||
*/
|
||||
@Deprecated
|
||||
private String hangLine;
|
||||
|
||||
/**
|
||||
* 监测点拥有者
|
||||
*/
|
||||
private String owner;
|
||||
|
||||
/**
|
||||
* 拥有者职务
|
||||
*/
|
||||
private String ownerDuty;
|
||||
|
||||
/**
|
||||
* 拥有者联系方式
|
||||
*/
|
||||
private String ownerTel;
|
||||
|
||||
/**
|
||||
* 接线图
|
||||
*/
|
||||
private String wiringDiagram;
|
||||
/**
|
||||
* 监测点接线相别(0,单相,1,三相,默认三相)
|
||||
*/
|
||||
private Integer ptPhaseType;
|
||||
|
||||
/**
|
||||
* 监测点实际安装位置
|
||||
*/
|
||||
private String actualArea;
|
||||
|
||||
/**
|
||||
* 监测点运行状态(0:运行;1:检修;2:停运;3:调试;4:退运)
|
||||
*/
|
||||
private Integer runFlag;
|
||||
|
||||
/**
|
||||
* 新能源场站信息ID
|
||||
*/
|
||||
@Deprecated
|
||||
private String newStationId;
|
||||
|
||||
/**
|
||||
* 通讯状态
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private Integer comFlag;
|
||||
}
|
||||
@@ -0,0 +1,121 @@
|
||||
package com.njcn.relational.pojo.po;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 新能源发电厂基础信息
|
||||
* 表名:SG_CON_PLANT_B_NEWENERGY
|
||||
*/
|
||||
@Data
|
||||
@TableName("SG_CON_PLANT_B_NEWENERGY")
|
||||
public class SgConPlantBNewenergy implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 电站ID(主键)
|
||||
*/
|
||||
@TableId("ID")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 无功补偿容量(Mvar)
|
||||
*/
|
||||
@TableField("COMPENSATION_VAR_CAP")
|
||||
private BigDecimal compensationVarCap;
|
||||
|
||||
/**
|
||||
* 并网变电站ID,引用变电站基本信息表
|
||||
*/
|
||||
@TableField("CONNECTIVE_STATION_ID")
|
||||
private String connectiveStationId;
|
||||
|
||||
/**
|
||||
* 储能容量(MW)
|
||||
*/
|
||||
@TableField("ENERGY_STORAGE_CAPACITY")
|
||||
private BigDecimal energyStorageCapacity;
|
||||
|
||||
/**
|
||||
* 储能设备台数
|
||||
*/
|
||||
@TableField("ENERGY_STORAGE_DEVICE_COUNT")
|
||||
private Integer energyStorageDeviceCount;
|
||||
|
||||
/**
|
||||
* 逆变器台数
|
||||
*/
|
||||
@TableField("INVERTER_COUNT")
|
||||
private Integer inverterCount;
|
||||
|
||||
/**
|
||||
* 拥有者
|
||||
*/
|
||||
@TableField("OWNER")
|
||||
private String owner;
|
||||
|
||||
/**
|
||||
* 更新标志:机构代码+人员代码+时间
|
||||
*/
|
||||
@TableField("STAMP")
|
||||
private String stamp;
|
||||
|
||||
/**
|
||||
* 逆变器或风机类型数
|
||||
*/
|
||||
@TableField("TYPE_NUM")
|
||||
private Integer typeNum;
|
||||
|
||||
/**
|
||||
* 风机台数
|
||||
*/
|
||||
@TableField("WINDTURBINE_NUM")
|
||||
private Integer windturbineNum;
|
||||
|
||||
/**
|
||||
* 汇集系统中性点接地方式
|
||||
*/
|
||||
@TableField("GROUND_TYPE")
|
||||
private Integer groundType;
|
||||
|
||||
/**
|
||||
* 滤波器组数
|
||||
*/
|
||||
@TableField("FILT_NUM")
|
||||
private Integer filtNum;
|
||||
|
||||
/**
|
||||
* 设计利用小时数
|
||||
*/
|
||||
@TableField("HOUR_NUM")
|
||||
private BigDecimal hourNum;
|
||||
|
||||
/**
|
||||
* 测风塔数量
|
||||
*/
|
||||
@TableField("WINDTOWER_NUM")
|
||||
private Integer windtowerNum;
|
||||
|
||||
/**
|
||||
* 测光检测仪器数量
|
||||
*/
|
||||
@TableField("PHOTOMETER_NUM")
|
||||
private Integer photometerNum;
|
||||
|
||||
/**
|
||||
* 风电布置类型
|
||||
*/
|
||||
@TableField("WINDRANGE")
|
||||
private Integer windrange;
|
||||
|
||||
/**
|
||||
* 风电场安装位置
|
||||
*/
|
||||
@TableField("INSTALL_LOCATION")
|
||||
private Integer installLocation;
|
||||
}
|
||||
@@ -0,0 +1,223 @@
|
||||
package com.njcn.relational.pojo.po;
|
||||
|
||||
/**
|
||||
* @Author: cdf
|
||||
* @CreateTime: 2026-07-22
|
||||
* @Description:
|
||||
*/
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import lombok.Data;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 交流线路基础信息
|
||||
* 表名:SG_DEV_ACLINE_B
|
||||
*/
|
||||
@Data
|
||||
@TableName("SG_DEV_ACLINE_B")
|
||||
public class SgDevAclineB implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* ID 主键
|
||||
*/
|
||||
@TableId("ID")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 线路名称
|
||||
*/
|
||||
@TableField("NAME")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 电压等级
|
||||
*/
|
||||
@TableField("VOLTAGE_TYPE")
|
||||
private Integer voltageType;
|
||||
|
||||
/**
|
||||
* 所属电网
|
||||
*/
|
||||
@TableField("GRID_ID")
|
||||
private String gridId;
|
||||
|
||||
/**
|
||||
* 生产厂家
|
||||
*/
|
||||
@TableField("SUPPLIER_ID")
|
||||
private String supplierId;
|
||||
|
||||
/**
|
||||
* 系统属性
|
||||
*/
|
||||
@TableField("SYS_FLAG")
|
||||
private String sysFlag;
|
||||
|
||||
/**
|
||||
* 标签
|
||||
*/
|
||||
@TableField("TAG")
|
||||
private String tag;
|
||||
|
||||
/**
|
||||
* 资产单位
|
||||
*/
|
||||
@TableField("ASSETS_COMPANY_ID")
|
||||
private String assetsCompanyId;
|
||||
|
||||
/**
|
||||
* 校验码
|
||||
*/
|
||||
@TableField("CHECK_CODE")
|
||||
private String checkCode;
|
||||
|
||||
/**
|
||||
* 紧凑型区段
|
||||
*/
|
||||
@TableField("COMPACT_ZONE")
|
||||
private String compactZone;
|
||||
|
||||
/**
|
||||
* 设备ID
|
||||
*/
|
||||
@TableField("DEV_ID")
|
||||
private String devId;
|
||||
|
||||
/**
|
||||
* 调度机构
|
||||
*/
|
||||
@TableField("DISPATCH_ORG_ID")
|
||||
private String dispatchOrgId;
|
||||
|
||||
/**
|
||||
* 起点所属间隔
|
||||
*/
|
||||
@TableField("START_BAY_ID")
|
||||
private String startBayId;
|
||||
|
||||
/**
|
||||
* 起点厂站
|
||||
*/
|
||||
@TableField("START_ST_ID")
|
||||
private String startStId;
|
||||
|
||||
/**
|
||||
* 起点杆塔
|
||||
*/
|
||||
@TableField("START_TOWER_ID")
|
||||
private String startTowerId;
|
||||
|
||||
/**
|
||||
* 终点所属间隔
|
||||
*/
|
||||
@TableField("END_BAY_ID")
|
||||
private String endBayId;
|
||||
|
||||
/**
|
||||
* 终点厂站
|
||||
*/
|
||||
@TableField("END_ST_ID")
|
||||
private String endStId;
|
||||
|
||||
/**
|
||||
* 终点杆塔
|
||||
*/
|
||||
@TableField("END_TOWER_ID")
|
||||
private String endTowerId;
|
||||
|
||||
/**
|
||||
* 架设方式
|
||||
*/
|
||||
@TableField("ERECTINGMETHOD")
|
||||
private Integer erectingmethod;
|
||||
|
||||
/**
|
||||
* 退役日期
|
||||
*/
|
||||
@TableField("EXPIRY_DATE")
|
||||
private String expiryDate;
|
||||
|
||||
/**
|
||||
* 失效时间
|
||||
*/
|
||||
@TableField("OFF_TIME")
|
||||
private String offTime;
|
||||
|
||||
/**
|
||||
* 生效时间
|
||||
*/
|
||||
@TableField("ON_TIME")
|
||||
private String onTime;
|
||||
|
||||
/**
|
||||
* 投运日期
|
||||
*/
|
||||
@TableField("OPERATE_DATE")
|
||||
private String operateDate;
|
||||
|
||||
/**
|
||||
* 拥有者
|
||||
*/
|
||||
@TableField("OWNER")
|
||||
private String owner;
|
||||
|
||||
/**
|
||||
* 运行状态
|
||||
*/
|
||||
@TableField("RUNNING_STATE")
|
||||
private Integer runningState;
|
||||
|
||||
/**
|
||||
* 更新标志
|
||||
*/
|
||||
@TableField("STAMP")
|
||||
private String stamp;
|
||||
|
||||
/**
|
||||
* 光纤类型
|
||||
*/
|
||||
@TableField("ISOPTICFIBEREQUIPED")
|
||||
private String isopticfiberequiped;
|
||||
|
||||
/**
|
||||
* 是否紧凑型
|
||||
*/
|
||||
@TableField("IS_COMPACT")
|
||||
private String isCompact;
|
||||
|
||||
/**
|
||||
* 线路全长(km)
|
||||
*/
|
||||
@TableField("LENGTH")
|
||||
private BigDecimal length;
|
||||
|
||||
/**
|
||||
* 许可机构
|
||||
*/
|
||||
@TableField("LICENSE_ORG_ID")
|
||||
private String licenseOrgId;
|
||||
|
||||
/**
|
||||
* 线路类型
|
||||
*/
|
||||
@TableField("LINETYPE")
|
||||
private Integer linetype;
|
||||
|
||||
/**
|
||||
* 成员特征标签
|
||||
*/
|
||||
@TableField("MEMBER_FEATURE_TAG")
|
||||
private String memberFeatureTag;
|
||||
|
||||
/**
|
||||
* 跨域特征标签
|
||||
*/
|
||||
@TableField("STRIDE_FEATURE_TAG")
|
||||
private String strideFeatureTag;
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.njcn.relational.pojo.po;
|
||||
|
||||
/**
|
||||
* @Author: cdf
|
||||
* @CreateTime: 2026-07-23
|
||||
* @Description:
|
||||
*/
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 监测对象中间关系表
|
||||
*/
|
||||
@Data
|
||||
@TableName("SUPERVISION_USER_REPORT_BAK")
|
||||
public class SupervisionUserReportBak {
|
||||
|
||||
/**
|
||||
* 本地系统监测对象id
|
||||
*/
|
||||
private String userId;
|
||||
|
||||
/**
|
||||
* 其他系统监测对象id
|
||||
*/
|
||||
private String midId;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.njcn.relational.pojo.po;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @Author: cdf
|
||||
* @CreateTime: 2026-07-25
|
||||
* @Description:
|
||||
*/
|
||||
@Data
|
||||
@TableName("user_report_bak")
|
||||
public class UserReportBakPO {
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
@MppMultiId
|
||||
private String userId;
|
||||
|
||||
/**
|
||||
* 中间表id
|
||||
*/
|
||||
@MppMultiId
|
||||
private String midId;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,182 @@
|
||||
package com.njcn.relational.pojo.po;
|
||||
|
||||
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 com.njcn.relational.pojo.bo.BaseEntity;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* Date: 2024/4/25 10:07【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@TableName(value = "supervision_user_report")
|
||||
public class UserReportPO extends BaseEntity {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.ASSIGN_UUID)
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 填报人
|
||||
*/
|
||||
@TableField(value = "reporter")
|
||||
private String reporter;
|
||||
|
||||
/**
|
||||
* 填报日期
|
||||
*/
|
||||
@TableField(value = "report_date")
|
||||
private LocalDate reportDate;
|
||||
|
||||
/**
|
||||
* 填报部门
|
||||
*/
|
||||
@TableField(value = "org_id")
|
||||
private String orgId;
|
||||
|
||||
/**
|
||||
* 工程预期投产日期
|
||||
*/
|
||||
@TableField(value = "expected_production_date")
|
||||
private LocalDate expectedProductionDate;
|
||||
|
||||
/**
|
||||
* 用户性质
|
||||
*/
|
||||
@TableField(value = "user_type")
|
||||
private Integer userType;
|
||||
|
||||
/**
|
||||
* 所属地市
|
||||
*/
|
||||
@TableField(value = "city")
|
||||
private String city;
|
||||
|
||||
/**
|
||||
* 归口管理部门
|
||||
*/
|
||||
@TableField(value = "responsible_department")
|
||||
private String responsibleDepartment;
|
||||
|
||||
/**
|
||||
* 用户状态
|
||||
*/
|
||||
@TableField(value = "user_status")
|
||||
private Integer userStatus;
|
||||
|
||||
/**
|
||||
* 变电站
|
||||
*/
|
||||
@TableField(value = "substation")
|
||||
private String substation;
|
||||
|
||||
/**
|
||||
* 电压等级
|
||||
*/
|
||||
@TableField(value = "voltage_level")
|
||||
private String voltageLevel;
|
||||
|
||||
/**
|
||||
* 工程名称
|
||||
*/
|
||||
@TableField(value = "project_name")
|
||||
private String projectName;
|
||||
|
||||
/**
|
||||
* 预测评估单位
|
||||
*/
|
||||
@TableField(value = "evaluation_dept")
|
||||
private String evaluationDept;
|
||||
|
||||
/**
|
||||
* 预测评估结论
|
||||
*/
|
||||
@TableField(value = "evaluation_conclusion")
|
||||
private String evaluationConclusion;
|
||||
|
||||
/**
|
||||
* 流程实例的编号
|
||||
*/
|
||||
@TableField(value = "process_instance_id")
|
||||
private String processInstanceId;
|
||||
|
||||
|
||||
@TableField(value = "history_instance_id")
|
||||
private String historyInstanceId;
|
||||
|
||||
/**
|
||||
* 数据来源类型 0.正常流程审核入库 1.批量导入
|
||||
*/
|
||||
@TableField(value = "data_type")
|
||||
private Integer dataType;
|
||||
|
||||
/**
|
||||
* 电站id
|
||||
*/
|
||||
private String stationId;
|
||||
|
||||
/**
|
||||
* 额定容量
|
||||
*/
|
||||
private Double ratePower;
|
||||
|
||||
/**
|
||||
* 经度
|
||||
*/
|
||||
private BigDecimal longitude;
|
||||
|
||||
|
||||
/**
|
||||
* 纬度
|
||||
*/
|
||||
private BigDecimal latitude;
|
||||
|
||||
/**
|
||||
* 终端id
|
||||
*/
|
||||
@TableField(value = "dev_id")
|
||||
private String devId;
|
||||
|
||||
/**
|
||||
* 监测点id
|
||||
*/
|
||||
@TableField(value = "line_id")
|
||||
private String lineId;
|
||||
|
||||
@TableField(value = "second_assessment_id")
|
||||
private String secondAssessmentId;
|
||||
|
||||
/**
|
||||
* 审批状态:1:审批中;2:审批通过;3:审批不通过;4:已取消
|
||||
*/
|
||||
@TableField(value = "status")
|
||||
private Integer status;
|
||||
|
||||
|
||||
/**
|
||||
* 状态:0-删除 1-正常
|
||||
*/
|
||||
@TableField(value = "State")
|
||||
private Integer state;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -42,4 +42,16 @@ public class DcloudBusController {
|
||||
DcloudSyncQuery query = DcloudSyncQuery.buildPlantBdC(null, null, null, null);
|
||||
dcloudBusService.syncDataToDb(query);
|
||||
}
|
||||
|
||||
@GetMapping("/sync5")
|
||||
public void syncData5() {
|
||||
DcloudSyncQuery query = DcloudSyncQuery.buildSgConPlantBNewenergy(null, null, null, null);
|
||||
dcloudBusService.syncDataToDb(query);
|
||||
}
|
||||
|
||||
@GetMapping("/sync6")
|
||||
public void syncData6() {
|
||||
DcloudSyncQuery query = DcloudSyncQuery.buildSgSgDevAclineB(null, null, null, null);
|
||||
dcloudBusService.syncDataToDb(query);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,4 +34,10 @@ public class IndexController {
|
||||
public String logs() {
|
||||
return "forward:/pages/logs.html";
|
||||
}
|
||||
|
||||
@GetMapping("/taizhang")
|
||||
public String taizhang() {
|
||||
return "forward:/pages/userLedger.html";
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
package com.njcn.relational.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.relational.pojo.po.Line;
|
||||
import com.njcn.relational.pojo.po.UserReportPO;
|
||||
import com.njcn.relational.service.LineService;
|
||||
import com.njcn.relational.service.UserLedgerService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/userLedger")
|
||||
@RequiredArgsConstructor
|
||||
@Slf4j
|
||||
public class UserLedgerController {
|
||||
|
||||
private final LineService lineService;
|
||||
private final UserLedgerService userLedgerService;
|
||||
|
||||
/**
|
||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3>ѯ (Line, level=6)
|
||||
*/
|
||||
@GetMapping("/line/page")
|
||||
public IPage<Line> linePage(
|
||||
@RequestParam(defaultValue = "1") long pageNum,
|
||||
@RequestParam(defaultValue = "10") long pageSize,
|
||||
Line query
|
||||
) {
|
||||
Page<Line> page = new Page<>(pageNum, pageSize);
|
||||
LambdaQueryWrapper<Line> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(Line::getLevel, 6);
|
||||
wrapper.eq(Line::getState, 1);
|
||||
wrapper.like(query.getName() != null, Line::getName, query.getName());
|
||||
wrapper.orderByAsc(Line::getSort);
|
||||
return lineService.page(page, wrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* <20><><EFBFBD><EFBFBD>վ<EFBFBD><D5BE>ҳ<EFBFBD><D2B3>ѯ (Line, level=3)
|
||||
*/
|
||||
@GetMapping("/station/page")
|
||||
public IPage<Line> stationPage(
|
||||
@RequestParam(defaultValue = "1") long pageNum,
|
||||
@RequestParam(defaultValue = "10") long pageSize,
|
||||
Line query
|
||||
) {
|
||||
Page<Line> page = new Page<>(pageNum, pageSize);
|
||||
LambdaQueryWrapper<Line> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(Line::getLevel, 3);
|
||||
wrapper.eq(Line::getState, 1);
|
||||
wrapper.like(query.getName() != null, Line::getName, query.getName());
|
||||
wrapper.orderByAsc(Line::getSort);
|
||||
return lineService.page(page, wrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* <20><><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>վ<EFBFBD><D5BE>ҳ<EFBFBD><D2B3>ѯ (UserReportPO)
|
||||
*/
|
||||
@GetMapping("/report/page")
|
||||
public IPage<UserReportPO> reportPage(
|
||||
@RequestParam(defaultValue = "1") long pageNum,
|
||||
@RequestParam(defaultValue = "10") long pageSize,
|
||||
UserReportPO query
|
||||
) {
|
||||
Page<UserReportPO> page = new Page<>(pageNum, pageSize);
|
||||
LambdaQueryWrapper<UserReportPO> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(UserReportPO::getState, 1);
|
||||
wrapper.like(query.getProjectName() != null, UserReportPO::getProjectName, query.getProjectName());
|
||||
wrapper.like(query.getSubstation() != null, UserReportPO::getSubstation, query.getSubstation());
|
||||
wrapper.like(query.getCity() != null, UserReportPO::getCity, query.getCity());
|
||||
wrapper.orderByDesc(UserReportPO::getCreateTime);
|
||||
return userLedgerService.page(page, wrapper);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
package com.njcn.relational.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.relational.pojo.po.SgConPlantBNewenergy;
|
||||
|
||||
public interface SgConPlantBNewenergyService extends IService<SgConPlantBNewenergy> {
|
||||
|
||||
public boolean batchSyncFromDcloud(JSONArray dataArr);
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package com.njcn.relational.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
|
||||
public interface SgDevAclineBService {
|
||||
|
||||
boolean batchSyncFromDcloud(JSONArray dataArr);
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.njcn.relational.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.relational.pojo.po.SupervisionUserReportBak;
|
||||
|
||||
/**
|
||||
* 监测对象中间关系表 Service
|
||||
*/
|
||||
public interface SupervisionUserReportBakService extends IService<SupervisionUserReportBak> {
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.njcn.relational.service;
|
||||
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.relational.pojo.po.UserReportPO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: wr
|
||||
* @Date: 2026/3/4 9:12
|
||||
*/
|
||||
public interface UserLedgerService extends IService<UserReportPO> {
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
package com.njcn.relational.service;
|
||||
|
||||
public interface UserReportBakService {
|
||||
}
|
||||
@@ -33,6 +33,10 @@ public class DcloudBusServiceImpl implements DcloudBusService {
|
||||
|
||||
private final SGConSubstationCService sgConSubstationCService;
|
||||
|
||||
private final SgConPlantBNewenergyService sgConPlantBNewenergyService;
|
||||
|
||||
private final SgDevAclineBService sgDevAclineBService;
|
||||
|
||||
|
||||
/**
|
||||
* 数据入库入口
|
||||
@@ -218,6 +222,12 @@ public class DcloudBusServiceImpl implements DcloudBusService {
|
||||
}else if("SG_CON_SUBSTATION_C".equals(tableName)){
|
||||
log.info("【全量同步入口】执行变电站站绑定数据---------");
|
||||
batchResult = sgConSubstationCService.batchSyncFromDcloud(pageData);
|
||||
}else if("SG_CON_PLANT_B_NEWENERGY".equals(tableName)){
|
||||
log.info("【全量同步入口】执行新能源场站基本信息---------");
|
||||
batchResult = sgConPlantBNewenergyService.batchSyncFromDcloud(pageData);
|
||||
}else if("SG_DEV_ACLINE_B".equals(tableName)){
|
||||
log.info("【全量同步入口】执行线路表同步---------");
|
||||
batchResult = sgDevAclineBService.batchSyncFromDcloud(pageData);
|
||||
}
|
||||
if (batchResult) {
|
||||
successCount += pageData.size();
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
package com.njcn.relational.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.relational.mapper.SgConPlantBNewenergyMapper;
|
||||
import com.njcn.relational.pojo.po.SgConPlantBNewenergy;
|
||||
import com.njcn.relational.service.SgConPlantBNewenergyService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author: cdf
|
||||
* @CreateTime: 2026-07-22
|
||||
* @Description:
|
||||
*/
|
||||
@Service
|
||||
public class SgConPlantBNewenergyServiceImpl
|
||||
extends ServiceImpl<SgConPlantBNewenergyMapper, SgConPlantBNewenergy>
|
||||
implements SgConPlantBNewenergyService {
|
||||
|
||||
|
||||
@Override
|
||||
public boolean batchSyncFromDcloud(JSONArray dataArr) {
|
||||
if (CollUtil.isEmpty(dataArr)) {
|
||||
return true;
|
||||
}
|
||||
List<SgConPlantBNewenergy> entityList = new ArrayList<>(dataArr.size());
|
||||
for (Object obj : dataArr) {
|
||||
JSONObject json = (JSONObject) obj;
|
||||
SgConPlantBNewenergy entity = new SgConPlantBNewenergy();
|
||||
entity.setId(json.getString("ID"));
|
||||
entity.setCompensationVarCap(json.getBigDecimal("COMPENSATION_VAR_CAP"));
|
||||
entity.setConnectiveStationId(json.getString("CONNECTIVE_STATION_ID"));
|
||||
entity.setEnergyStorageCapacity(json.getBigDecimal("ENERGY_STORAGE_CAPACITY"));
|
||||
entity.setEnergyStorageDeviceCount(json.getInteger("ENERGY_STORAGE_DEVICE_COUNT"));
|
||||
entity.setInverterCount(json.getInteger("INVERTER_COUNT"));
|
||||
entity.setOwner(json.getString("OWNER"));
|
||||
entity.setStamp(json.getString("STAMP"));
|
||||
entity.setTypeNum(json.getInteger("TYPE_NUM"));
|
||||
entity.setWindturbineNum(json.getInteger("WINDTURBINE_NUM"));
|
||||
entity.setGroundType(json.getInteger("GROUND_TYPE"));
|
||||
entity.setFiltNum(json.getInteger("FILT_NUM"));
|
||||
entity.setHourNum(json.getBigDecimal("HOUR_NUM"));
|
||||
entity.setWindtowerNum(json.getInteger("WINDTOWER_NUM"));
|
||||
entity.setPhotometerNum(json.getInteger("PHOTOMETER_NUM"));
|
||||
entity.setWindrange(json.getInteger("WINDRANGE"));
|
||||
entity.setInstallLocation(json.getInteger("INSTALL_LOCATION"));
|
||||
entityList.add(entity);
|
||||
}
|
||||
// 批次500条,主键冲突自动更新
|
||||
return saveOrUpdateBatch(entityList, 500);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
package com.njcn.relational.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.relational.mapper.SgDevAclineBMapper;
|
||||
import com.njcn.relational.pojo.po.SgDevAclineB;
|
||||
import com.njcn.relational.service.SgDevAclineBService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author: cdf
|
||||
* @CreateTime: 2026-07-22
|
||||
* @Description:
|
||||
*/
|
||||
@Service
|
||||
public class SgDevAclineBServiceImpl
|
||||
extends ServiceImpl<SgDevAclineBMapper, SgDevAclineB>
|
||||
implements SgDevAclineBService {
|
||||
|
||||
|
||||
@Override
|
||||
public boolean batchSyncFromDcloud(JSONArray dataArr) {
|
||||
if (CollUtil.isEmpty(dataArr)) {
|
||||
return true;
|
||||
}
|
||||
List<SgDevAclineB> entityList = new ArrayList<>(dataArr.size());
|
||||
for (Object obj : dataArr) {
|
||||
JSONObject json = (JSONObject) obj;
|
||||
SgDevAclineB entity = new SgDevAclineB();
|
||||
entity.setId(json.getString("ID"));
|
||||
entity.setName(json.getString("NAME"));
|
||||
entity.setVoltageType(json.getInteger("VOLTAGE_TYPE"));
|
||||
entity.setGridId(json.getString("GRID_ID"));
|
||||
entity.setSupplierId(json.getString("SUPPLIER_ID"));
|
||||
entity.setSysFlag(json.getString("SYS_FLAG"));
|
||||
entity.setTag(json.getString("TAG"));
|
||||
entity.setAssetsCompanyId(json.getString("ASSETS_COMPANY_ID"));
|
||||
entity.setCheckCode(json.getString("CHECK_CODE"));
|
||||
entity.setCompactZone(json.getString("COMPACT_ZONE"));
|
||||
entity.setDevId(json.getString("DEV_ID"));
|
||||
entity.setDispatchOrgId(json.getString("DISPATCH_ORG_ID"));
|
||||
entity.setStartBayId(json.getString("START_BAY_ID"));
|
||||
entity.setStartStId(json.getString("START_ST_ID"));
|
||||
entity.setStartTowerId(json.getString("START_TOWER_ID"));
|
||||
entity.setEndBayId(json.getString("END_BAY_ID"));
|
||||
entity.setEndStId(json.getString("END_ST_ID"));
|
||||
entity.setEndTowerId(json.getString("END_TOWER_ID"));
|
||||
entity.setErectingmethod(json.getInteger("ERECTINGMETHOD"));
|
||||
entity.setLength(json.getBigDecimal("LENGTH"));
|
||||
entity.setLicenseOrgId(json.getString("LICENSE_ORG_ID"));
|
||||
entity.setLinetype(json.getInteger("LINETYPE"));
|
||||
entity.setMemberFeatureTag(json.getString("MEMBER_FEATURE_TAG"));
|
||||
entity.setStrideFeatureTag(json.getString("STRIDE_FEATURE_TAG"));
|
||||
entity.setIsopticfiberequiped(json.getString("ISOPTICFIBEREQUIPED"));
|
||||
entity.setIsCompact(json.getString("IS_COMPACT"));
|
||||
entity.setOwner(json.getString("OWNER"));
|
||||
entity.setRunningState(json.getInteger("RUNNING_STATE"));
|
||||
entity.setStamp(json.getString("STAMP"));
|
||||
|
||||
// LocalDate 日期字段判空处理
|
||||
if(json.containsKey("EXPIRY_DATE") && json.get("EXPIRY_DATE") != null){
|
||||
entity.setExpiryDate(json.getString("EXPIRY_DATE"));
|
||||
}
|
||||
if(json.containsKey("OFF_TIME") && json.get("OFF_TIME") != null){
|
||||
entity.setOffTime(json.getString("OFF_TIME"));
|
||||
}
|
||||
if(json.containsKey("ON_TIME") && json.get("ON_TIME") != null){
|
||||
entity.setOnTime(json.getString("ON_TIME"));
|
||||
}
|
||||
if(json.containsKey("OPERATE_DATE") && json.get("OPERATE_DATE") != null){
|
||||
entity.setOperateDate(json.getString("OPERATE_DATE"));
|
||||
}
|
||||
entityList.add(entity);
|
||||
}
|
||||
// 批次500条,主键冲突自动更新
|
||||
return saveOrUpdateBatch(entityList, 500);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.njcn.relational.service.impl;
|
||||
|
||||
/**
|
||||
* @Author: cdf
|
||||
* @CreateTime: 2026-07-23
|
||||
* @Description:
|
||||
*/
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.relational.mapper.SupervisionUserReportBakMapper;
|
||||
import com.njcn.relational.pojo.po.SupervisionUserReportBak;
|
||||
import com.njcn.relational.service.SupervisionUserReportBakService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* 监测对象中间关系表 Service实现
|
||||
*/
|
||||
@Service
|
||||
public class SupervisionUserReportBakServiceImpl extends ServiceImpl<SupervisionUserReportBakMapper, SupervisionUserReportBak>
|
||||
implements SupervisionUserReportBakService {
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.njcn.relational.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.relational.mapper.UserReportPOMapper;
|
||||
import com.njcn.relational.pojo.po.UserReportPO;
|
||||
import com.njcn.relational.service.UserLedgerService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @Author: cdf
|
||||
* @CreateTime: 2026-07-23
|
||||
* @Description:
|
||||
*/
|
||||
@Service
|
||||
public class UserLedgerServiceImpl extends ServiceImpl<UserReportPOMapper, UserReportPO> implements UserLedgerService {
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.njcn.relational.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.relational.pojo.po.UserReportBakPO;
|
||||
import com.njcn.relational.service.UserReportBakService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @Author: cdf
|
||||
* @CreateTime: 2026-07-25
|
||||
* @Description:
|
||||
*/
|
||||
@Service
|
||||
public class UserReportBakServiceImpl
|
||||
extends ServiceImpl<MppBaseMapper<UserReportBakPO>, UserReportBakPO>
|
||||
implements UserReportBakService {
|
||||
|
||||
}
|
||||
@@ -10,7 +10,7 @@ spring:
|
||||
name: dmTransport
|
||||
profiles:
|
||||
#active: 二区:query_up 三区:insert_up
|
||||
active: insert_up
|
||||
active: insert
|
||||
security:
|
||||
user:
|
||||
name: njcn
|
||||
|
||||
@@ -217,6 +217,10 @@
|
||||
<el-button type="text" icon="el-icon-setting" @click="goToConfigPage" style="color: white; font-size: 16px;">
|
||||
传输配置
|
||||
</el-button>
|
||||
|
||||
<el-button type="text" icon="el-icon-setting" @click="goToTaizhang" style="color: white; font-size: 16px;">
|
||||
台账管理
|
||||
</el-button>
|
||||
<el-button type="text" icon="el-icon-refresh" @click="refreshAll" style="color: white; font-size: 14px;">
|
||||
刷新
|
||||
</el-button>
|
||||
@@ -602,6 +606,13 @@
|
||||
// window.open('config.html', '_blank');
|
||||
},
|
||||
|
||||
goToTaizhang() {
|
||||
// 方式1:当前窗口跳转(独立页面)
|
||||
window.location.href = 'taizhang';
|
||||
// 方式2:新窗口打开(可选)
|
||||
// window.open('config.html', '_blank');
|
||||
},
|
||||
|
||||
goToLogsPage() {
|
||||
// 方式1:当前窗口跳转(独立页面)
|
||||
window.location.href = 'logs';
|
||||
|
||||
@@ -0,0 +1,356 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>用户台账管理</title>
|
||||
<link rel="stylesheet" href="js/element-ui.css">
|
||||
<style>
|
||||
* { margin: 0; padding: 0; box-sizing: border-box; }
|
||||
body {
|
||||
font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Microsoft YaHei", sans-serif;
|
||||
background-color: #f0f2f5;
|
||||
padding: 20px;
|
||||
}
|
||||
.container { margin: 0 auto; }
|
||||
.header {
|
||||
background: linear-gradient(135deg, #409eff 0%, #36a3f7 100%);
|
||||
color: white;
|
||||
padding: 20px 30px;
|
||||
border-radius: 8px;
|
||||
margin-bottom: 24px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
.header h1 { font-size: 24px; font-weight: 500; }
|
||||
.header .sub { font-size: 14px; opacity: 0.85; margin-top: 4px; }
|
||||
.header-actions .el-button {
|
||||
border-color: rgba(255,255,255,0.4);
|
||||
color: white;
|
||||
background: rgba(255,255,255,0.1);
|
||||
}
|
||||
.header-actions .el-button:hover {
|
||||
background: rgba(255,255,255,0.25);
|
||||
border-color: rgba(255,255,255,0.6);
|
||||
}
|
||||
.tabs-card {
|
||||
background: #fff;
|
||||
border-radius: 8px;
|
||||
padding: 0 24px 20px;
|
||||
box-shadow: 0 1px 4px rgba(0,0,0,0.08);
|
||||
}
|
||||
.tab-header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 16px 0;
|
||||
flex-wrap: wrap;
|
||||
gap: 12px;
|
||||
}
|
||||
.tab-header .el-form-item { margin-bottom: 0; }
|
||||
.table-wrap { margin-top: 8px; }
|
||||
.pagination-wrap {
|
||||
margin-top: 16px;
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app">
|
||||
<div class="container">
|
||||
<div class="header">
|
||||
<div>
|
||||
<h1>用户台账管理</h1>
|
||||
<div class="sub">监测点 · 变电站 · 新能源场站</div>
|
||||
</div>
|
||||
<div class="header-actions">
|
||||
<el-button type="text" icon="el-icon-back" @click="goBack" style="color: white; font-size: 14px;">
|
||||
返回主页面
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tabs-card">
|
||||
<el-tabs v-model="activeTab" @tab-click="onTabClick">
|
||||
<el-tab-pane label="监测点" name="line">
|
||||
<div class="tab-header">
|
||||
<el-form :inline="true" size="small">
|
||||
<el-form-item label="名称">
|
||||
<el-input v-model="lineSearch.name" placeholder="模糊搜索" clearable style="width:200px;"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" @click="fetchLinePage">查询</el-button>
|
||||
<el-button icon="el-icon-refresh" @click="resetLineSearch">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span style="font-size:13px; color:#909399;">共 {{ lineTotal }} 条</span>
|
||||
</div>
|
||||
<div class="table-wrap">
|
||||
<el-table :data="lineTableData" stripe border v-loading="lineLoading" style="width:100%;">
|
||||
<el-table-column prop="id" label="ID" width="200" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column prop="name" label="名称" width="200"></el-table-column>
|
||||
<el-table-column prop="pid" label="父节点" width="200" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column prop="sort" label="排序" width="80" align="center"></el-table-column>
|
||||
<el-table-column prop="remark" label="备注" min-width="200" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column prop="state" label="状态" width="80" align="center">
|
||||
<template slot-scope="{ row }">
|
||||
<el-tag :type="row.state === 1 ? 'success' : 'danger'" size="small">
|
||||
{{ row.state === 1 ? '正常' : '删除' }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="createTime" label="创建时间" width="160"></el-table-column>
|
||||
</el-table>
|
||||
<div class="pagination-wrap">
|
||||
<el-pagination
|
||||
background
|
||||
layout="total, sizes, prev, pager, next"
|
||||
:current-page="linePageNum"
|
||||
:page-sizes="[10, 20, 50, 100]"
|
||||
:page-size="linePageSize"
|
||||
:total="lineTotal"
|
||||
@size-change="(val) => { linePageSize = val; fetchLinePage(); }"
|
||||
@current-change="(val) => { linePageNum = val; fetchLinePage(); }">
|
||||
</el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
|
||||
<el-tab-pane label="变电站" name="station">
|
||||
<div class="tab-header">
|
||||
<el-form :inline="true" size="small">
|
||||
<el-form-item label="名称">
|
||||
<el-input v-model="stationSearch.name" placeholder="模糊搜索" clearable style="width:200px;"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" @click="fetchStationPage">查询</el-button>
|
||||
<el-button icon="el-icon-refresh" @click="resetStationSearch">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span style="font-size:13px; color:#909399;">共 {{ stationTotal }} 条</span>
|
||||
</div>
|
||||
<div class="table-wrap">
|
||||
<el-table :data="stationTableData" stripe border v-loading="stationLoading" style="width:100%;">
|
||||
<el-table-column prop="id" label="ID" width="200" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column prop="name" label="名称" width="200"></el-table-column>
|
||||
<el-table-column prop="pid" label="父节点" width="200" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column prop="sort" label="排序" width="80" align="center"></el-table-column>
|
||||
<el-table-column prop="remark" label="备注" min-width="200" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column prop="state" label="状态" width="80" align="center">
|
||||
<template slot-scope="{ row }">
|
||||
<el-tag :type="row.state === 1 ? 'success' : 'danger'" size="small">
|
||||
{{ row.state === 1 ? '正常' : '删除' }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="createTime" label="创建时间" width="160"></el-table-column>
|
||||
</el-table>
|
||||
<div class="pagination-wrap">
|
||||
<el-pagination
|
||||
background
|
||||
layout="total, sizes, prev, pager, next"
|
||||
:current-page="stationPageNum"
|
||||
:page-sizes="[10, 20, 50, 100]"
|
||||
:page-size="stationPageSize"
|
||||
:total="stationTotal"
|
||||
@size-change="(val) => { stationPageSize = val; fetchStationPage(); }"
|
||||
@current-change="(val) => { stationPageNum = val; fetchStationPage(); }">
|
||||
</el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
|
||||
<el-tab-pane label="新能源场站" name="report">
|
||||
<div class="tab-header">
|
||||
<el-form :inline="true" size="small">
|
||||
<el-form-item label="工程名称">
|
||||
<el-input v-model="reportSearch.projectName" placeholder="模糊搜索" clearable style="width:180px;"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="变电站">
|
||||
<el-input v-model="reportSearch.substation" placeholder="模糊搜索" clearable style="width:160px;"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="城市">
|
||||
<el-input v-model="reportSearch.city" placeholder="模糊搜索" clearable style="width:140px;"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" @click="fetchReportPage">查询</el-button>
|
||||
<el-button icon="el-icon-refresh" @click="resetReportSearch">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span style="font-size:13px; color:#909399;">共 {{ reportTotal }} 条</span>
|
||||
</div>
|
||||
<div class="table-wrap">
|
||||
<el-table :data="reportTableData" stripe border v-loading="reportLoading" style="width:100%;">
|
||||
<el-table-column prop="projectName" label="工程名称" width="200" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column prop="substation" label="变电站" width="160" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column prop="voltageLevel" label="电压等级" width="100" align="center"></el-table-column>
|
||||
<el-table-column prop="city" label="城市" width="100"></el-table-column>
|
||||
<el-table-column prop="reporter" label="填报人" width="100"></el-table-column>
|
||||
<el-table-column prop="reportDate" label="填报日期" width="120"></el-table-column>
|
||||
<el-table-column prop="userType" label="用户性质" width="100" align="center">
|
||||
<template slot-scope="{ row }">
|
||||
<el-tag size="small">{{ row.userType }}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="userStatus" label="用户状态" width="100" align="center">
|
||||
<template slot-scope="{ row }">
|
||||
<el-tag size="small">{{ row.userStatus }}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="expectedProductionDate" label="预期投产" width="120"></el-table-column>
|
||||
<el-table-column prop="ratePower" label="额定容量" width="100" align="center"></el-table-column>
|
||||
<el-table-column prop="status" label="审批状态" width="100" align="center">
|
||||
<template slot-scope="{ row }">
|
||||
<el-tag :type="row.status === 2 ? 'success' : row.status === 3 ? 'danger' : 'warning'" size="small">
|
||||
{{ row.status === 1 ? '审批中' : row.status === 2 ? '已通过' : row.status === 3 ? '未通过' : row.status === 4 ? '已取消' : row.status }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="createTime" label="创建时间" width="160"></el-table-column>
|
||||
</el-table>
|
||||
<div class="pagination-wrap">
|
||||
<el-pagination
|
||||
background
|
||||
layout="total, sizes, prev, pager, next"
|
||||
:current-page="reportPageNum"
|
||||
:page-sizes="[10, 20, 50, 100]"
|
||||
:page-size="reportPageSize"
|
||||
:total="reportTotal"
|
||||
@size-change="(val) => { reportPageSize = val; fetchReportPage(); }"
|
||||
@current-change="(val) => { reportPageNum = val; fetchReportPage(); }">
|
||||
</el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="js/vue.js"></script>
|
||||
<script src="js/element-ui.js"></script>
|
||||
<script src="js/axios.min.js"></script>
|
||||
<script>
|
||||
new Vue({
|
||||
el: '#app',
|
||||
data: {
|
||||
activeTab: 'line',
|
||||
|
||||
lineSearch: { name: '' },
|
||||
lineTableData: [],
|
||||
lineLoading: false,
|
||||
linePageNum: 1,
|
||||
linePageSize: 10,
|
||||
lineTotal: 0,
|
||||
|
||||
stationSearch: { name: '' },
|
||||
stationTableData: [],
|
||||
stationLoading: false,
|
||||
stationPageNum: 1,
|
||||
stationPageSize: 10,
|
||||
stationTotal: 0,
|
||||
|
||||
reportSearch: { projectName: '', substation: '', city: '' },
|
||||
reportTableData: [],
|
||||
reportLoading: false,
|
||||
reportPageNum: 1,
|
||||
reportPageSize: 10,
|
||||
reportTotal: 0,
|
||||
},
|
||||
mounted() {
|
||||
this.fetchLinePage();
|
||||
},
|
||||
methods: {
|
||||
onTabClick(tab) {
|
||||
if (tab.name === 'line') this.fetchLinePage();
|
||||
else if (tab.name === 'station') this.fetchStationPage();
|
||||
else if (tab.name === 'report') this.fetchReportPage();
|
||||
},
|
||||
|
||||
async fetchLinePage() {
|
||||
this.lineLoading = true;
|
||||
try {
|
||||
const res = await axios.get('userLedger/line/page', {
|
||||
params: {
|
||||
pageNum: this.linePageNum,
|
||||
pageSize: this.linePageSize,
|
||||
name: this.lineSearch.name || undefined
|
||||
}
|
||||
});
|
||||
const data = res.data;
|
||||
this.lineTableData = data.records || [];
|
||||
this.lineTotal = data.total || 0;
|
||||
} catch (err) {
|
||||
this.$message.error('查询监测点失败: ' + (err.response?.data?.msg || err.message));
|
||||
} finally {
|
||||
this.lineLoading = false;
|
||||
}
|
||||
},
|
||||
resetLineSearch() {
|
||||
this.lineSearch = { name: '' };
|
||||
this.linePageNum = 1;
|
||||
this.fetchLinePage();
|
||||
},
|
||||
|
||||
async fetchStationPage() {
|
||||
this.stationLoading = true;
|
||||
try {
|
||||
const res = await axios.get('userLedger/station/page', {
|
||||
params: {
|
||||
pageNum: this.stationPageNum,
|
||||
pageSize: this.stationPageSize,
|
||||
name: this.stationSearch.name || undefined
|
||||
}
|
||||
});
|
||||
const data = res.data;
|
||||
this.stationTableData = data.records || [];
|
||||
this.stationTotal = data.total || 0;
|
||||
} catch (err) {
|
||||
this.$message.error('查询变电站失败: ' + (err.response?.data?.msg || err.message));
|
||||
} finally {
|
||||
this.stationLoading = false;
|
||||
}
|
||||
},
|
||||
resetStationSearch() {
|
||||
this.stationSearch = { name: '' };
|
||||
this.stationPageNum = 1;
|
||||
this.fetchStationPage();
|
||||
},
|
||||
|
||||
async fetchReportPage() {
|
||||
this.reportLoading = true;
|
||||
try {
|
||||
const res = await axios.get('userLedger/report/page', {
|
||||
params: {
|
||||
pageNum: this.reportPageNum,
|
||||
pageSize: this.reportPageSize,
|
||||
projectName: this.reportSearch.projectName || undefined,
|
||||
substation: this.reportSearch.substation || undefined,
|
||||
city: this.reportSearch.city || undefined
|
||||
}
|
||||
});
|
||||
const data = res.data;
|
||||
this.reportTableData = data.records || [];
|
||||
this.reportTotal = data.total || 0;
|
||||
} catch (err) {
|
||||
this.$message.error('查询新能源场站失败: ' + (err.response?.data?.msg || err.message));
|
||||
} finally {
|
||||
this.reportLoading = false;
|
||||
}
|
||||
},
|
||||
resetReportSearch() {
|
||||
this.reportSearch = { projectName: '', substation: '', city: '' };
|
||||
this.reportPageNum = 1;
|
||||
this.fetchReportPage();
|
||||
},
|
||||
|
||||
goBack() {
|
||||
window.location.href = 'index';
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user