包名调整

This commit is contained in:
2023-06-08 14:11:08 +08:00
parent ac4ad7d679
commit 818538f34d
80 changed files with 184 additions and 202 deletions

View File

@@ -0,0 +1,71 @@
package com.njcn.csharmonic.constant;
/**
* 常量类
* @author qijian
* @version 1.0.0
* @date 2022年11月11日 09:56
*/
public interface HarmonicConstant {
/***
* 组态Json文件oss路径
*/
String CONFIGURATIONPATH = "configuration/";
/***
* 组态Json文件oss文件名
*/
String CONFIGURATIONNAME = "configuration.json";
String DATA_V = "data_v";
String DATA_I = "data_i";
String DATA_HARM_RATE_V = "data_harmrate_v";
String DATA_HARM_RATE_I = "data_harmrate_i";
String DATA_HARM_PHASIC_V = "data_harmphasic_v";
String DATA_HARM_PHASIC_I = "data_harmphasic_i";
String DATA_IN_HARM_V = "data_inharm_v";
String DATA_IN_HARM_I = "data_inharm_i";
String DATA_HARM_POWER_P = "data_harmpower_p";
String DATA_HARM_POWER_Q = "data_harmpower_q";
String DATA_HARM_POWER_S = "data_harmpower_s";
String DATA_FLICKER = "data_flicker";
String DATA_FLUC = "data_fluc";
String DATA_PLT = "data_plt";
String EPD_DATA = "epd_data";
String PQD_DATA = "pqd_data";
String BMD_DATA = "bmd_data";
String EVT_DATA = "evt_data";
String ALM_DATA = "alm_data";
String STS_DATA = "sts_data";
String DI_DATA = "di_data";
String DO_DATA = "do_data";
String PARM_DATA = "parm_data";
String SET_DATA = "set_data";
String INSET_DATA = "inset_data";
String CTRL_DATA = "ctrl_data";
}

View File

@@ -0,0 +1,52 @@
package com.njcn.csharmonic.param;
import com.njcn.web.pojo.param.BaseParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
/**
* Description:
* Date: 2023/5/31 10:35【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class CsConfigurationParm {
/**
* 组态项目名称
*/
@ApiModelProperty(value = "组态项目名称")
@NotBlank(message="组态项目名称不能为空")
private String name;
@Data
@EqualsAndHashCode(callSuper = true)
public static class CsConfigurationAuditParam extends CsConfigurationParm {
@ApiModelProperty("Id")
@NotBlank(message = "id不为空")
private String id;
@ApiModelProperty(value = "状态")
private String status;
}
/**
* 分页查询实体
*/
@Data
@EqualsAndHashCode(callSuper = true)
public static class CsConfigurationQueryParam extends BaseParam {
}
}

View File

@@ -0,0 +1,56 @@
package com.njcn.csharmonic.param;
import com.njcn.web.pojo.param.BaseParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
/**
*
* Description:
* Date: 2023/5/31 14:31【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
@NoArgsConstructor
public class CsPageParm {
/**
* 组态项目id
*/
@ApiModelProperty(value="组态项目id")
private String pid;
/**
* 组态页面名称
*/
@ApiModelProperty(value="组态页面名称")
private String name;
/**
* 组态页面文件路径
*/
@ApiModelProperty(value = "组态页面json文件")
private String jsonFile;
@Data
@EqualsAndHashCode(callSuper = true)
public static class CsPageParmAuditParam extends CsPageParm {
@ApiModelProperty("Id")
@NotBlank(message = "id不为空")
private String id;
@ApiModelProperty(value = "状态")
private String status;
}
@Data
@EqualsAndHashCode(callSuper = true)
public static class CsPageParmQueryParam extends BaseParam {
@ApiModelProperty("pid")
private String pid;
}
}

View File

@@ -0,0 +1,45 @@
package com.njcn.csharmonic.param;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
/**
* Description:
* Date: 2023/5/16 16:25【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class ThdDataQueryParm {
private String devId;
private String statisticalName;
/**
* 开始时间
*/
@ApiModelProperty(value = "开始时间")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@NotNull(message="开始时间不能为空!")
private String startTime;
/**
* 结束时间
*/
@ApiModelProperty(value = "结束时间")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@NotNull(message="结束时间不能为空!")
private String endTime;
}

View File

@@ -0,0 +1,36 @@
package com.njcn.csharmonic.pojo.influx;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.njcn.common.utils.serializer.InstantDateSerializer;
import lombok.Data;
import org.influxdb.annotation.Column;
import java.time.Instant;
/**
* 类的介绍influx实时数据通用实体
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/6/6 9:26
*/
@Data
public class CsCommon {
@Column(name = "time")
@JsonSerialize(using = InstantDateSerializer.class)
private Instant time;
@Column(name = "line_id")
private String lineId;
@Column(name = "phasic_type")
private String phaseType;
@Column(name = "value_type")
private String valueType;
@Column(name = "rtData")
private Double rtData;
}

View File

@@ -0,0 +1,18 @@
package com.njcn.csharmonic.pojo.influx;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.influxdb.annotation.Measurement;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/6/6 9:27
*/
@EqualsAndHashCode(callSuper = true)
@Data
@Measurement(name = "data_harmphasic_i")
public class CsDataHarmPhasicI extends CsCommon{
}

View File

@@ -0,0 +1,18 @@
package com.njcn.csharmonic.pojo.influx;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.influxdb.annotation.Measurement;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/6/6 9:27
*/
@EqualsAndHashCode(callSuper = true)
@Data
@Measurement(name = "data_harmphasic_v")
public class CsDataHarmPhasicV extends CsCommon{
}

View File

@@ -0,0 +1,17 @@
package com.njcn.csharmonic.pojo.influx;
import lombok.Data;
import org.influxdb.annotation.Measurement;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/6/6 9:05
*/
@Data
@Measurement(name = "data_harmpower_p")
public class CsDataHarmPowerP extends CsCommon {
}

View File

@@ -0,0 +1,18 @@
package com.njcn.csharmonic.pojo.influx;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.influxdb.annotation.Measurement;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/6/6 9:27
*/
@EqualsAndHashCode(callSuper = true)
@Data
@Measurement(name = "data_harmrate_i")
public class CsDataHarmRateI extends CsCommon{
}

View File

@@ -0,0 +1,18 @@
package com.njcn.csharmonic.pojo.influx;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.influxdb.annotation.Measurement;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/6/6 9:27
*/
@EqualsAndHashCode(callSuper = true)
@Data
@Measurement(name = "data_harmrate_v")
public class CsDataHarmRateV extends CsCommon{
}

View File

@@ -0,0 +1,18 @@
package com.njcn.csharmonic.pojo.influx;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.influxdb.annotation.Measurement;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/6/6 9:27
*/
@EqualsAndHashCode(callSuper = true)
@Data
@Measurement(name = "data_i")
public class CsDataI extends CsCommon{
}

View File

@@ -0,0 +1,18 @@
package com.njcn.csharmonic.pojo.influx;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.influxdb.annotation.Measurement;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/6/6 9:27
*/
@EqualsAndHashCode(callSuper = true)
@Data
@Measurement(name = "data_v")
public class CsDataV extends CsCommon{
}

View File

@@ -0,0 +1,18 @@
package com.njcn.csharmonic.pojo.influx;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.influxdb.annotation.Measurement;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/6/6 11:21
*/
@EqualsAndHashCode(callSuper = true)
@Data
@Measurement(name = "pqd_data")
public class CsPqdData extends CsCommon{
}

View File

@@ -0,0 +1,55 @@
package com.njcn.csharmonic.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.db.bo.BaseEntity;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* Description:
* Date: 2023/5/31 10:35【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
@NoArgsConstructor
@TableName(value = "cs_configuration")
public class CsConfigurationPO extends BaseEntity {
/**
* id
*/
@TableId(value = "id", type = IdType.ASSIGN_UUID)
private String id;
/**
* 组态项目名称
*/
@TableField(value = "`name`")
private String name;
/**
* 状态 0:删除 1:正常
*/
@TableField(value = "`status`")
private String status;
public static final String COL_ID = "id";
public static final String COL_NAME = "name";
public static final String COL_STATUS = "status";
public static final String COL_CREATE_BY = "create_by";
public static final String COL_CREATE_TIME = "create_time";
public static final String COL_UPDATE_BY = "update_by";
public static final String COL_UPDATE_TIME = "update_time";
}

View File

@@ -0,0 +1,109 @@
package com.njcn.csharmonic.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 io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* Description:
* Date: 2023/5/31 14:13【需求编号】
*
* @author clam
* @version V1.0.0
*/
@ApiModel(description = "")
@Data
@NoArgsConstructor
@TableName(value = "cs_net_dev")
public class CsNetDevPO {
/**
* id
*/
@TableId(value = "id", type = IdType.INPUT)
@ApiModelProperty(value = "id")
private String id;
/**
* 装置型号
*/
@TableField(value = "dev_type")
@ApiModelProperty(value = "装置型号")
private String devType;
@TableField(value = "`time`")
@ApiModelProperty(value = "")
private Date time;
/**
* 版本号
*/
@TableField(value = "version")
@ApiModelProperty(value = "版本号")
private String version;
/**
* 系统软件表Id
*/
@TableField(value = "soft_info_id")
@ApiModelProperty(value = "系统软件表Id")
private String softInfoId;
/**
* 工程配置表Id
*/
@TableField(value = "prj_info_id")
@ApiModelProperty(value = "工程配置表Id")
private String prjInfoId;
/**
* 状态
*/
@TableField(value = "`status`")
@ApiModelProperty(value = "状态")
private Integer status;
@TableField(value = "create_by")
@ApiModelProperty(value = "")
private String createBy;
@TableField(value = "create_time")
@ApiModelProperty(value = "")
private Date createTime;
@TableField(value = "update_by")
@ApiModelProperty(value = "")
private String updateBy;
@TableField(value = "update_time")
@ApiModelProperty(value = "")
private Date updateTime;
public static final String COL_ID = "id";
public static final String COL_DEV_TYPE = "dev_type";
public static final String COL_TIME = "time";
public static final String COL_VERSION = "version";
public static final String COL_SOFT_INFO_ID = "soft_info_id";
public static final String COL_PRJ_INFO_ID = "prj_info_id";
public static final String COL_STATUS = "status";
public static final String COL_CREATE_BY = "create_by";
public static final String COL_CREATE_TIME = "create_time";
public static final String COL_UPDATE_BY = "update_by";
public static final String COL_UPDATE_TIME = "update_time";
}

View File

@@ -0,0 +1,72 @@
package com.njcn.csharmonic.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.db.bo.BaseEntity;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
*
* Description:
* Date: 2023/5/31 14:31【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
@NoArgsConstructor
@TableName(value = "cs_page")
public class CsPagePO extends BaseEntity {
/**
* id
*/
@TableId(value = "id", type = IdType.ASSIGN_UUID)
private String id;
/**
* 组态项目id
*/
@TableField(value = "pid")
private String pid;
/**
* 组态页面名称
*/
@TableField(value = "`name`")
private String name;
/**
* 组态页面文件路径
*/
@TableField(value = "`path`")
private String path;
/**
* 组态页面状态
*/
@TableField(value = "`status`")
private String status;
public static final String COL_ID = "id";
public static final String COL_PID = "pid";
public static final String COL_NAME = "name";
public static final String COL_PATH = "path";
public static final String COL_STATUS = "status";
public static final String COL_CREATE_BY = "create_by";
public static final String COL_CREATE_TIME = "create_time";
public static final String COL_UPDATE_BY = "update_by";
public static final String COL_UPDATE_TIME = "update_time";
}

View File

@@ -0,0 +1,23 @@
package com.njcn.csharmonic.pojo.vo;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import lombok.Data;
import java.io.Serializable;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/6/2 15:30
*/
@Data
public class ConditionVO implements Serializable {
@SerializedName("pic")
private String pic;
@SerializedName("value")
private String value;
}

View File

@@ -0,0 +1,38 @@
package com.njcn.csharmonic.pojo.vo;
import com.njcn.db.bo.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Description:
* Date: 2023/5/31 10:35【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class CsConfigurationVO extends BaseEntity {
/**
* id
*/
private String id;
/**
* 组态项目名称
*/
@ApiModelProperty(value = "组态项目名称")
private String name;
@ApiModelProperty(value = "操作人")
private String operater;
/**
* 状态 0:删除 1:正常
*/
@ApiModelProperty(value = "组态项目状态")
private String status;
}

View File

@@ -0,0 +1,65 @@
package com.njcn.csharmonic.pojo.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
/**
*
* Description:
* Date: 2023/5/31 14:31【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
@NoArgsConstructor
public class CsPageVO {
/**
* id
*/
@ApiModelProperty(value="id")
private String id;
/**
* 组态项目id
*/
@ApiModelProperty(value="组态项目id")
private String pid;
@ApiModelProperty(value="组态项目名称")
private String configurationName;
/**
* 组态页面名称
*/
@ApiModelProperty(value="组态页面名称")
private String name;
@ApiModelProperty(value = "操作人")
private String operater;
/**
* 组态页面文件路径
*/
@ApiModelProperty(value="组态页面文件路径")
private String path;
private String createBy;
@JsonFormat(
pattern = "yyyy-MM-dd HH:mm:ss"
)
private LocalDateTime createTime;
private String updateBy;
@JsonFormat(
pattern = "yyyy-MM-dd HH:mm:ss"
)
private LocalDateTime updateTime;
}

View File

@@ -0,0 +1,67 @@
package com.njcn.csharmonic.pojo.vo;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/6/2 15:26
*/
@Data
public class ElementsVO implements Serializable {
@SerializedName("type")
private String type;
@SerializedName("lineId")
private List<String> lineId;
@SerializedName("lineName")
private String lineName;
@SerializedName("targetId")
private List<String> targetId;
@SerializedName("targetPid")
private String targetPid;
@SerializedName("targetName")
private String targetName;
@SerializedName("dataType")
private String dataType;
@SerializedName("phasic")
private String phasic;
@SerializedName("defaultPic")
private String defaultPic;
@SerializedName("width")
private String width;
@SerializedName("height")
private Integer height;
@SerializedName("top")
private Integer top;
@SerializedName("left")
private Integer left;
@SerializedName("condition")
private List<ConditionVO> condition;
@SerializedName("color")
private String color;
@SerializedName("fontSize")
private Integer fontSize;
}

View File

@@ -0,0 +1,20 @@
package com.njcn.csharmonic.pojo.vo;
import com.njcn.csharmonic.pojo.influx.CsCommon;
import lombok.Data;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/6/6 11:38
*/
@Data
public class RtDataVO extends CsCommon {
private String targetTag;
private String targetName;
}

View File

@@ -0,0 +1,25 @@
package com.njcn.csharmonic.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/6/2 11:15
*/
@Data
public class TargetDetailVO implements Serializable {
@ApiModelProperty("数据类型")
private List<String> dataTypeList;
@ApiModelProperty("相别")
private List<String> phasicList;
}

View File

@@ -0,0 +1,34 @@
package com.njcn.csharmonic.pojo.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
/**
* Description:
* Date: 2023/5/18 9:14【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class ThdDataVO {
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime time;
private String LineId;
private String position;
private String Phase;
private String StatMethod;
private String statisticalIndex;
private String statisticalName;
private Double statisticalData;
}

View File

@@ -0,0 +1,25 @@
package com.njcn.csharmonic.pojo.vo;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/6/2 15:39
*/
@Data
public class ZuTaiVo implements Serializable {
@SerializedName("background")
private String background;
@SerializedName("elements")
private List<ElementsVO> elements;
}

View File

@@ -0,0 +1,81 @@
package com.njcn.csharmonic.utils;
import org.influxdb.annotation.Measurement;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.net.URLDecoder;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.List;
/**
* Description:
* Date: 2023/6/2 15:08【需求编号】
*
* @author clam
* @version V1.0.0
*/
public class CsReflectUitl {
/*
* 获取po报下所有有@Measurement注解的实体类;
*/
public static HashMap<String,Class<?>> getEntityClassesByAnnotation() {
HashMap<String,Class<?>> result = new HashMap<>();
List<Class<?>> classes = CsReflectUitl.getClasses("com.njcn.harmonic.pojo.influx");
for (Class<?> clazz : classes) {
if (clazz.isAnnotationPresent(Measurement.class)) {
Measurement annotation = (Measurement) clazz.getAnnotation(Measurement.class);
result.put(annotation.name(),clazz) ;
}
}
return result;
}
public static List<Class<?>> getClasses(String packageName) {
List<Class<?>> classes = new ArrayList<Class<?>>();
try {
String path = packageName.replace(".", "/");
Enumeration<URL> resources = Thread.currentThread().getContextClassLoader().getResources(path);
while (resources.hasMoreElements()) {
URL resource = resources.nextElement();
if (resource.getProtocol().equals("file")) {
String filePath = URLDecoder.decode(resource.getFile(), "UTF-8");
findClassesInPackage(packageName, filePath, classes);
}
}
} catch (IOException e) {
e.printStackTrace();
}
return classes;
}
private static void findClassesInPackage(String packageName, String packagePath, List<Class<?>> classes) {
File packageDir = new File(packagePath);
if (!packageDir.exists() || !packageDir.isDirectory()) {
return;
}
File[] files = packageDir.listFiles();
for (File file : files) {
if (file.isDirectory()) {
findClassesInPackage(packageName + "." + file.getName(), file.getAbsolutePath(), classes);
} else if (file.getName().endsWith(".class")) {
String className = packageName + "." + file.getName().substring(0, file.getName().length() - 6);
try {
Class<?> clazz = Class.forName(className);
classes.add(clazz);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
}
}