Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -0,0 +1,10 @@
|
|||||||
|
package com.njcn.device.pq.pojo.advanced;
|
||||||
|
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class ContUpdateDevValueRVO {
|
||||||
|
private String len;
|
||||||
|
private ContUpdateDevValueVO data;
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
package com.njcn.device.pq.pojo.advanced;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class ContUpdateDevValueVO {
|
||||||
|
private String type;
|
||||||
|
private String index;
|
||||||
|
private String hander;
|
||||||
|
private int[] interValue;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
package com.njcn.device.pq.pojo.advanced;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class ContUpdateValueRVO {
|
||||||
|
private String len;
|
||||||
|
private ContUpdateValueVO data;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
package com.njcn.device.pq.pojo.advanced;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class ContUpdateValueVO {
|
||||||
|
private String type;
|
||||||
|
private String index;
|
||||||
|
private String lineid;
|
||||||
|
private String hander;
|
||||||
|
private float[] value;
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
package com.njcn.device.pq.pojo.advanced;
|
||||||
|
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class ContValueRVO {
|
||||||
|
private String len;
|
||||||
|
private ContValueVO data;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
package com.njcn.device.pq.pojo.advanced;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class ContValueVO {
|
||||||
|
private String type;
|
||||||
|
private String index;
|
||||||
|
private String lineid;
|
||||||
|
private String hander;
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package com.njcn.device.pq.pojo.advanced;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/***
|
||||||
|
* @Description:
|
||||||
|
* @Author: wr
|
||||||
|
* @Date: 2023/8/16 16:10
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class UpDataVO {
|
||||||
|
private String type;
|
||||||
|
private String edIndex;
|
||||||
|
private String userIndex;
|
||||||
|
private List<UpDevVO> terminal;
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
package com.njcn.device.pq.pojo.advanced;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description
|
||||||
|
* @Author wr
|
||||||
|
* @Date 2022/8/14
|
||||||
|
**/
|
||||||
|
@Data
|
||||||
|
public class UpDevVO {
|
||||||
|
private String devIndex;
|
||||||
|
private String devName;
|
||||||
|
|
||||||
|
public String getDevIndex() {
|
||||||
|
return devIndex;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.njcn.device.pq.pojo.advanced;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: wr
|
||||||
|
* @Date: 2023/8/16 16:10
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class UpParamVO {
|
||||||
|
private String len;
|
||||||
|
private UpDataVO data;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,80 @@
|
|||||||
|
package com.njcn.device.pq.pojo.param;
|
||||||
|
|
||||||
|
import com.njcn.device.pq.pojo.po.PqsProtectvalue;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotBlank;
|
||||||
|
import javax.validation.constraints.NotEmpty;
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author wr
|
||||||
|
* @description
|
||||||
|
* @date 2023/8/11 9:20
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ConstantValueParam implements Serializable {
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "hander", value = "用于匹配 0 定值 1 定值描述")
|
||||||
|
@NotNull(message = "用于匹配 0 定值 1 定值描述不能为空")
|
||||||
|
private Integer hander;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "type", value = "区分内外定值")
|
||||||
|
@NotNull(message = "区分内外定值不能为空")
|
||||||
|
private Integer type;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "json", value = "json数据")
|
||||||
|
@NotNull(message = "json数据不能为空")
|
||||||
|
private ConstantValue json;
|
||||||
|
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public static class ConstantValue {
|
||||||
|
private List<PqsProtectvalue> data;
|
||||||
|
private String devindex;
|
||||||
|
private Integer hander;
|
||||||
|
private String lineindex;
|
||||||
|
private String methodname;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public static class Constant {
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "ip", value = "网络ip")
|
||||||
|
private String ip;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "type", value = "区分内外定值")
|
||||||
|
private String type;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "id", value = "监测编号或者终端编号")
|
||||||
|
@NotBlank(message = "装置系列字典不能为空")
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "hander", value = "用于匹配 0 定值 1 定值描述")
|
||||||
|
@NotBlank(message = "装置系列字典不能为空")
|
||||||
|
private String hander;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public static class ValueData extends Constant {
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "interValue", value = "数值")
|
||||||
|
private String interValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public static class Upgrades {
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "list", value = "终端id集合")
|
||||||
|
@NotEmpty(message = "终端id集合不能为空")
|
||||||
|
private List<String> list;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "edIndex", value = "选中版本号id")
|
||||||
|
@NotBlank(message = "选中版本号id不能为空")
|
||||||
|
private String edIndex;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -3,6 +3,9 @@ package com.njcn.device.pq.pojo.param;
|
|||||||
import com.njcn.web.pojo.param.BaseParam;
|
import com.njcn.web.pojo.param.BaseParam;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotBlank;
|
||||||
|
import javax.validation.constraints.NotEmpty;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
|
||||||
@@ -17,4 +20,15 @@ public class ProgramParam extends BaseParam implements Serializable {
|
|||||||
@ApiModelProperty(name = "devType", value = "装置系列,字典表", required = false)
|
@ApiModelProperty(name = "devType", value = "装置系列,字典表", required = false)
|
||||||
private String devType;
|
private String devType;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public static class Version{
|
||||||
|
@ApiModelProperty(name = "devType", value = "装置系列,字典表")
|
||||||
|
@NotBlank(message = "装置系列字典不能为空")
|
||||||
|
private String devType;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "devType", value = "版本编号集合")
|
||||||
|
@NotEmpty(message = "版本编号集合不能为空")
|
||||||
|
private String versionIds;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -35,37 +35,18 @@ public class DevVersion extends BaseEntity {
|
|||||||
/**
|
/**
|
||||||
* 版本状态(0-前期版本;1-当前版本)
|
* 版本状态(0-前期版本;1-当前版本)
|
||||||
*/
|
*/
|
||||||
private Boolean flag;
|
private Integer flag;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 操作结果(0-升级失败;1-升级成功)
|
* 操作结果(0-升级失败;1-升级成功)
|
||||||
*/
|
*/
|
||||||
private Boolean result;
|
private Integer result;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 状态 0-删除;1-正常;默认正常
|
* 状态 0-删除;1-正常;默认正常
|
||||||
*/
|
*/
|
||||||
private Boolean state;
|
private Integer state;
|
||||||
|
|
||||||
/**
|
|
||||||
* 创建用户
|
|
||||||
*/
|
|
||||||
private String createBy;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 创建时间
|
|
||||||
*/
|
|
||||||
private LocalDateTime createTime;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 更新用户
|
|
||||||
*/
|
|
||||||
private String updateBy;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 更新时间
|
|
||||||
*/
|
|
||||||
private LocalDateTime updateTime;
|
|
||||||
|
|
||||||
private String devType;
|
private String devType;
|
||||||
private String devTypeName;
|
private String devTypeName;
|
||||||
|
|||||||
@@ -0,0 +1,57 @@
|
|||||||
|
package com.njcn.device.pq.pojo.po;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.njcn.db.bo.BaseEntity;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
*
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author wr
|
||||||
|
* @since 2023-08-10
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@TableName("pqs_protectcontrolword")
|
||||||
|
public class PqsProtectcontrolword {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PV_INDEX的外键(定值表的主键)
|
||||||
|
*/
|
||||||
|
@TableId(value = "pv_index")
|
||||||
|
private String pvIndex;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 控制位序号0,1,2,3,……,15
|
||||||
|
*/
|
||||||
|
private Integer typeNum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 控制位为0时表达意义
|
||||||
|
*/
|
||||||
|
private String bit0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 控制位为1时表达意义
|
||||||
|
*/
|
||||||
|
private String bit1;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 描述
|
||||||
|
*/
|
||||||
|
private String describe;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否选中:0:否,1:是
|
||||||
|
*/
|
||||||
|
private Integer flag;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,96 @@
|
|||||||
|
package com.njcn.device.pq.pojo.po;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.annotation.JSONField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
*
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author wr
|
||||||
|
* @since 2023-08-10
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@TableName("pqs_protectvalue")
|
||||||
|
public class PqsProtectvalue {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 索引
|
||||||
|
*/
|
||||||
|
@TableId(value = "pv_index")
|
||||||
|
private String pvIndex;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 监测点序号,内部定值默认为1
|
||||||
|
*/
|
||||||
|
@TableField( "cpu_no")
|
||||||
|
private Integer cpu_no;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 终端类型GUID(PQS_Dicdata)
|
||||||
|
*/
|
||||||
|
@TableField("dev_type")
|
||||||
|
private String dev_type;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 类型 80-外部定值 十进制类型 81-外部定值的十六进制类型 90-内部定值 十进制类型 91-内部定制 十六进制类型
|
||||||
|
*/
|
||||||
|
private Integer type;
|
||||||
|
|
||||||
|
@TableField( "dz_type")
|
||||||
|
private Integer dz_type;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 单位
|
||||||
|
*/
|
||||||
|
private String unit;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 最大值
|
||||||
|
*/
|
||||||
|
@TableField( "max_value")
|
||||||
|
private Float maxvalue;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 最小值
|
||||||
|
*/
|
||||||
|
@TableField( "min_value")
|
||||||
|
private Float minvalue;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 默认值
|
||||||
|
*/
|
||||||
|
@TableField( "default_value")
|
||||||
|
private Float defaultvalue;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设定值
|
||||||
|
*/
|
||||||
|
@TableField( "value")
|
||||||
|
private Float value;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 描述
|
||||||
|
*/
|
||||||
|
@TableField( "description")
|
||||||
|
private String describe;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 排序
|
||||||
|
*/
|
||||||
|
private Integer sort;
|
||||||
|
|
||||||
|
@TableField(exist = false)
|
||||||
|
List<PqsProtectcontrolword> word;
|
||||||
|
}
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
package com.njcn.device.pq.pojo.vo;
|
||||||
|
|
||||||
|
|
||||||
|
import com.njcn.device.pq.pojo.advanced.UpDevVO;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 终端升级实体
|
||||||
|
* @Author: wr
|
||||||
|
* @Date: 2023/8/16 15:28
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class DeviceIpRVO {
|
||||||
|
@ApiModelProperty("终端id")
|
||||||
|
private String devIndex;
|
||||||
|
|
||||||
|
@ApiModelProperty("终端名称")
|
||||||
|
private String devName;
|
||||||
|
|
||||||
|
@ApiModelProperty("前置ip")
|
||||||
|
private String ip;
|
||||||
|
|
||||||
|
@ApiModelProperty("端口")
|
||||||
|
private Integer port;
|
||||||
|
|
||||||
|
@ApiModelProperty("装置类型")
|
||||||
|
private String devType;
|
||||||
|
|
||||||
|
@ApiModelProperty("装置系列")
|
||||||
|
private String devSeries;
|
||||||
|
|
||||||
|
@ApiModelProperty("终端状态")
|
||||||
|
private Integer comFlag;
|
||||||
|
//扩展
|
||||||
|
private List<UpDevVO> devlist;
|
||||||
|
private List<String> indexlist;
|
||||||
|
}
|
||||||
@@ -46,6 +46,45 @@ public class TerminalVersionVO implements Serializable {
|
|||||||
private String updateTime;
|
private String updateTime;
|
||||||
@ApiModelProperty(name = "升级人员")
|
@ApiModelProperty(name = "升级人员")
|
||||||
private String updateBy;
|
private String updateBy;
|
||||||
|
@ApiModelProperty(name = "版本序号")
|
||||||
|
private String versionId;
|
||||||
@ApiModelProperty(name = "子级")
|
@ApiModelProperty(name = "子级")
|
||||||
List<TerminalVersionVO> children;
|
List<TerminalVersionVO> children;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public static class Version{
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "终端编号")
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "终端名称")
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "版本序号")
|
||||||
|
private String versionName;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "版本协议")
|
||||||
|
private String protocol;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "版本日期")
|
||||||
|
private String versionDate;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "终端系列")
|
||||||
|
private String devSeries;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "终端型号")
|
||||||
|
private String devType;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "供电公司")
|
||||||
|
private String gbName;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "变电站")
|
||||||
|
private String subName;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "更新时间")
|
||||||
|
private String updateTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "修改人")
|
||||||
|
private String updateBy;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -80,4 +80,6 @@ public class VersionVO implements Serializable {
|
|||||||
@ApiModelProperty("文件名称")
|
@ApiModelProperty("文件名称")
|
||||||
private String fileName;
|
private String fileName;
|
||||||
|
|
||||||
|
@ApiModelProperty("是否存在文件:0=未有文件 1=已有文件")
|
||||||
|
private Integer isFile;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,30 @@
|
|||||||
package com.njcn.device.pq.controller;
|
package com.njcn.device.pq.controller;
|
||||||
|
|
||||||
|
import cn.hutool.core.lang.Console;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import com.github.tocrhz.mqtt.annotation.MqttSubscribe;
|
||||||
|
import com.github.tocrhz.mqtt.annotation.NamedValue;
|
||||||
|
import com.github.tocrhz.mqtt.annotation.Payload;
|
||||||
|
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||||
|
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||||
|
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||||
|
import com.njcn.common.pojo.response.HttpResult;
|
||||||
|
import com.njcn.common.utils.HttpResultUtil;
|
||||||
|
import com.njcn.device.pq.pojo.param.ConstantValueParam;
|
||||||
import com.njcn.device.pq.service.IDeviceService;
|
import com.njcn.device.pq.service.IDeviceService;
|
||||||
import com.njcn.web.controller.BaseController;
|
import com.njcn.web.controller.BaseController;
|
||||||
|
import com.njcn.web.utils.RequestUtil;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.eclipse.paho.client.mqttv3.MqttMessage;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* pqs
|
* pqs
|
||||||
@@ -22,7 +40,131 @@ import org.springframework.web.bind.annotation.RestController;
|
|||||||
public class DeviceController extends BaseController {
|
public class DeviceController extends BaseController {
|
||||||
|
|
||||||
private final IDeviceService iDeviceService;
|
private final IDeviceService iDeviceService;
|
||||||
|
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
|
||||||
|
@PostMapping("/socketLine")
|
||||||
|
@ApiOperation("获取监测点定值信息")
|
||||||
|
public HttpResult<String> socketLine(@RequestBody @Validated ConstantValueParam.Constant param) {
|
||||||
|
String methodDescribe = getMethodDescribe("socketLine");
|
||||||
|
if(StrUtil.isBlank(param.getIp())){
|
||||||
|
param.setIp(RequestUtil.getRealIp());
|
||||||
|
}
|
||||||
|
String s = iDeviceService.sentLine(param);
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
|
||||||
|
}
|
||||||
|
|
||||||
|
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
|
||||||
|
@PostMapping("/updateSocketLine")
|
||||||
|
@ApiOperation("修改监测点定值信息")
|
||||||
|
public HttpResult<String> updateSocketLine(@RequestBody @Validated ConstantValueParam.ValueData param) {
|
||||||
|
String methodDescribe = getMethodDescribe("updateSocketLine");
|
||||||
|
if(StrUtil.isBlank(param.getIp())){
|
||||||
|
param.setIp(RequestUtil.getRealIp());
|
||||||
|
}
|
||||||
|
String s = iDeviceService.sentLineData(param);
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
|
||||||
|
}
|
||||||
|
|
||||||
|
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
|
||||||
|
@PostMapping("/socketDev")
|
||||||
|
@ApiOperation("获取终端定值信息")
|
||||||
|
public HttpResult<String> socketDev(@RequestBody @Validated ConstantValueParam.Constant param) {
|
||||||
|
String methodDescribe = getMethodDescribe("socketDev");
|
||||||
|
if(StrUtil.isBlank(param.getIp())){
|
||||||
|
param.setIp(RequestUtil.getRealIp());
|
||||||
|
}
|
||||||
|
String s = iDeviceService.sentDev(param);
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
|
||||||
|
}
|
||||||
|
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
|
||||||
|
@PostMapping("/updateSocketDev")
|
||||||
|
@ApiOperation("修改终端定值信息")
|
||||||
|
public HttpResult<String> updateSocketDev(@RequestBody @Validated ConstantValueParam.ValueData param) {
|
||||||
|
String methodDescribe = getMethodDescribe("updateSocketDev");
|
||||||
|
if(StrUtil.isBlank(param.getIp())){
|
||||||
|
param.setIp(RequestUtil.getRealIp());
|
||||||
|
}
|
||||||
|
String s = iDeviceService.sentDevData(param);
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
|
||||||
|
}
|
||||||
|
|
||||||
|
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
|
||||||
|
@PostMapping("/socketDevProperty")
|
||||||
|
@ApiOperation("获取终端性能信息")
|
||||||
|
public HttpResult<String> socketDevProperty(String devID) {
|
||||||
|
String methodDescribe = getMethodDescribe("socketDevProperty");
|
||||||
|
String s = iDeviceService.socketDevProperty(devID);
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
|
||||||
|
}
|
||||||
|
|
||||||
|
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
|
||||||
|
@PostMapping("/socketDevPropertyClose")
|
||||||
|
@ApiOperation("终端性能关闭")
|
||||||
|
public HttpResult<String> socketDevPropertyClose(String devID) {
|
||||||
|
String methodDescribe = getMethodDescribe("socketDevPropertyClose");
|
||||||
|
String s = iDeviceService.socketDevPropertyClose(devID);
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
|
||||||
|
}
|
||||||
|
|
||||||
|
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
|
||||||
|
@PostMapping("/realTimeData")
|
||||||
|
@ApiOperation("监测点实时数据查看")
|
||||||
|
public HttpResult<String> realTimeData(String lineID) {
|
||||||
|
String methodDescribe = getMethodDescribe("realTimeData");
|
||||||
|
String s = iDeviceService.realTimeData(lineID);
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
|
||||||
|
}
|
||||||
|
|
||||||
|
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
|
||||||
|
@PostMapping("/heartRealTimeData")
|
||||||
|
@ApiOperation("监测实施数据心跳")
|
||||||
|
public HttpResult<String> heartRealTimeData(String lineID) {
|
||||||
|
String methodDescribe = getMethodDescribe("heartRealTimeData");
|
||||||
|
String s = iDeviceService.heartRealTimeData(lineID);
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
|
||||||
|
}
|
||||||
|
|
||||||
|
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
|
||||||
|
@PostMapping("/closeRealTimeData")
|
||||||
|
@ApiOperation("监测点实施数据关闭")
|
||||||
|
public HttpResult<String> closeRealTimeData(String lineID) {
|
||||||
|
String methodDescribe = getMethodDescribe("closeRealTimeData");
|
||||||
|
String s = iDeviceService.closeRealTimeData(lineID);
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
|
||||||
|
}
|
||||||
|
|
||||||
|
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
|
||||||
|
@PostMapping("/getDevUpgrades")
|
||||||
|
@ApiOperation("终端版本升级")
|
||||||
|
public HttpResult<String> getDevUpgrades(@RequestBody @Validated ConstantValueParam.Upgrades param) {
|
||||||
|
String methodDescribe = getMethodDescribe("getDevUpgrades");
|
||||||
|
String s = iDeviceService.getDevUpgrades(param.getList(),param.getEdIndex());
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
|
||||||
|
}
|
||||||
|
|
||||||
|
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
|
||||||
|
@PostMapping("/closeUpgrades")
|
||||||
|
@ApiOperation("终端升级取消")
|
||||||
|
public HttpResult<String> closeUpgrades(@RequestBody List<String> devList) {
|
||||||
|
String methodDescribe = getMethodDescribe("closeUpgrades");
|
||||||
|
String s = iDeviceService.closeUpgrades(devList);
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
|
||||||
|
}
|
||||||
|
|
||||||
|
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
|
||||||
|
@PostMapping("/restartDev")
|
||||||
|
@ApiOperation("重启装置命令")
|
||||||
|
public HttpResult<String> restartDev(@RequestBody List<String> devList) {
|
||||||
|
String methodDescribe = getMethodDescribe("restartDev");
|
||||||
|
String s = iDeviceService.restartDev(devList);
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
|
||||||
|
}
|
||||||
|
@MqttSubscribe(value = "/zl/devData/{devID}",qos = 1)
|
||||||
|
public void responseRtData(String topic, @NamedValue("devID") String pageId, MqttMessage message, @Payload String payload) {
|
||||||
|
Console.log("receive from : {}", topic);
|
||||||
|
Console.log("receive from : {}", pageId);
|
||||||
|
Console.log("message : {}", message.getPayload());
|
||||||
|
Console.log("message payload : {}", new String(message.getPayload(), StandardCharsets.UTF_8));
|
||||||
|
Console.log("string payload : {}", payload);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
|||||||
import com.njcn.common.pojo.exception.BusinessException;
|
import com.njcn.common.pojo.exception.BusinessException;
|
||||||
import com.njcn.common.pojo.response.HttpResult;
|
import com.njcn.common.pojo.response.HttpResult;
|
||||||
import com.njcn.common.utils.HttpResultUtil;
|
import com.njcn.common.utils.HttpResultUtil;
|
||||||
import com.njcn.device.pq.pojo.param.LargeScreenParam;
|
|
||||||
import com.njcn.device.pq.pojo.param.ProgramParam;
|
import com.njcn.device.pq.pojo.param.ProgramParam;
|
||||||
import com.njcn.device.pq.pojo.vo.VersionVO;
|
import com.njcn.device.pq.pojo.vo.VersionVO;
|
||||||
import com.njcn.device.pq.service.ProgramVersionService;
|
import com.njcn.device.pq.service.ProgramVersionService;
|
||||||
@@ -24,6 +23,7 @@ import org.springframework.web.bind.annotation.*;
|
|||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @version 1.0.0
|
* @version 1.0.0
|
||||||
@@ -134,6 +134,14 @@ public class ProgramVersionController extends BaseController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||||
|
@PostMapping("/getVersion")
|
||||||
|
@ApiOperation("查看除本外其他版本信息")
|
||||||
|
@ApiImplicitParam(name = "param", value = "程序版本查询", required = true)
|
||||||
|
public HttpResult<List<VersionVO>> getVersion(@RequestBody @Validated ProgramParam.Version param) {
|
||||||
|
String methodDescribe = getMethodDescribe("getVersion");
|
||||||
|
List<VersionVO> version = programService.getVersion(param);
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, version, methodDescribe);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -62,7 +62,14 @@ public class TerminalVersionController extends BaseController {
|
|||||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, resList, methodDescribe);
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, resList, methodDescribe);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||||
|
@PostMapping("/getDevVersionList")
|
||||||
|
@ApiOperation("查询终端版本信息")
|
||||||
|
public HttpResult<List<TerminalVersionVO.Version>> getVersionList(@RequestBody List<String> ids) {
|
||||||
|
String methodDescribe = getMethodDescribe("getVersionList");
|
||||||
|
List<TerminalVersionVO.Version> versionList = terminalVersionService.getVersionList(ids);
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, versionList, methodDescribe);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,70 @@
|
|||||||
|
package com.njcn.device.pq.controller.configuration;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||||
|
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||||
|
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||||
|
import com.njcn.common.pojo.response.HttpResult;
|
||||||
|
import com.njcn.common.utils.HttpResultUtil;
|
||||||
|
import com.njcn.device.pq.pojo.param.ConstantValueParam;
|
||||||
|
import com.njcn.device.pq.service.IPqsProtectvalueService;
|
||||||
|
import com.njcn.web.controller.BaseController;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description:定值管理
|
||||||
|
* @Author: wr
|
||||||
|
* @Date: 2023/8/10 18:30
|
||||||
|
*/
|
||||||
|
@Api(tags = "定值管理")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/constant")
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class ConstantValueController extends BaseController {
|
||||||
|
|
||||||
|
private final IPqsProtectvalueService iPqsProtectvalueService;
|
||||||
|
|
||||||
|
|
||||||
|
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
|
||||||
|
@PostMapping("/quarryOutValue")
|
||||||
|
@ApiOperation("获取定值信息")
|
||||||
|
public HttpResult<List<Object>> quarryOutValue(String id, String isOutIn) {
|
||||||
|
String methodDescribe = getMethodDescribe("quarryOutValue");
|
||||||
|
List<Object> objects = iPqsProtectvalueService.quarryOutValueBase(isOutIn, id);
|
||||||
|
if (CollUtil.isEmpty(objects)) {
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, objects, methodDescribe);
|
||||||
|
}
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, objects, methodDescribe);
|
||||||
|
}
|
||||||
|
|
||||||
|
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
|
||||||
|
@PostMapping("/updateDatabaseValue")
|
||||||
|
@ApiOperation("定值更新数据库Value")
|
||||||
|
public HttpResult<Boolean> updateDatabaseValue(String json) {
|
||||||
|
String methodDescribe = getMethodDescribe("updateDatabaseValue");
|
||||||
|
Boolean aBoolean = iPqsProtectvalueService.updateDatabaseValue(json);
|
||||||
|
if (!aBoolean) {
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, true, methodDescribe);
|
||||||
|
}
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, false, methodDescribe);
|
||||||
|
}
|
||||||
|
|
||||||
|
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
|
||||||
|
@PostMapping("/updateDatabase")
|
||||||
|
@ApiOperation("定值更新数据库")
|
||||||
|
public HttpResult<Boolean> updateDatabase(@RequestBody ConstantValueParam param) {
|
||||||
|
String methodDescribe = getMethodDescribe("updateDatabase");
|
||||||
|
Boolean aBoolean = iPqsProtectvalueService.updateDatabase(param);
|
||||||
|
if (!aBoolean) {
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, true, methodDescribe);
|
||||||
|
}
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, false, methodDescribe);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
package com.njcn.device.pq.controller.configuration;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||||
|
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||||
|
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||||
|
import com.njcn.common.pojo.response.HttpResult;
|
||||||
|
import com.njcn.common.utils.HttpResultUtil;
|
||||||
|
import com.njcn.device.pq.pojo.po.PqsProtectcontrolword;
|
||||||
|
import com.njcn.device.pq.service.IPqsProtectcontrolwordService;
|
||||||
|
import com.njcn.web.controller.BaseController;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 定值控制定义表,管理
|
||||||
|
* @Author: wr
|
||||||
|
* @Date: 2023/8/11 8:51
|
||||||
|
*/
|
||||||
|
@Api(tags = "定值控制字定义管理")
|
||||||
|
@Controller
|
||||||
|
@RequestMapping(value = "protectcw")
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class ProtectControlWordController extends BaseController {
|
||||||
|
|
||||||
|
private final IPqsProtectcontrolwordService iPqsProtectcontrolwordService;
|
||||||
|
|
||||||
|
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
|
||||||
|
@PostMapping("/getAll")
|
||||||
|
@ApiOperation("获取定值信息")
|
||||||
|
public HttpResult<List<PqsProtectcontrolword>> getAll(String pvIndex) {
|
||||||
|
String methodDescribe = getMethodDescribe("getAll");
|
||||||
|
List<PqsProtectcontrolword> list = iPqsProtectcontrolwordService.list(new LambdaQueryWrapper<PqsProtectcontrolword>()
|
||||||
|
.eq(PqsProtectcontrolword::getPvIndex, pvIndex)
|
||||||
|
);
|
||||||
|
if (CollUtil.isEmpty(list)) {
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, list, methodDescribe);
|
||||||
|
}
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
|
||||||
|
}
|
||||||
|
|
||||||
|
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
|
||||||
|
@PostMapping("/getIsFT")
|
||||||
|
@ApiOperation("获取定值信息")
|
||||||
|
public HttpResult<Integer> getIsFT(String pvIndex) {
|
||||||
|
String methodDescribe = getMethodDescribe("getIsFT");
|
||||||
|
List<PqsProtectcontrolword> list = iPqsProtectcontrolwordService.list(new LambdaQueryWrapper<PqsProtectcontrolword>()
|
||||||
|
.eq(PqsProtectcontrolword::getPvIndex, pvIndex)
|
||||||
|
);
|
||||||
|
if (CollUtil.isEmpty(list)) {
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, 0, methodDescribe);
|
||||||
|
}
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, 1, methodDescribe);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|||||||
import com.njcn.common.pojo.dto.SimpleDTO;
|
import com.njcn.common.pojo.dto.SimpleDTO;
|
||||||
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
||||||
import com.njcn.device.biz.pojo.po.Overlimit;
|
import com.njcn.device.biz.pojo.po.Overlimit;
|
||||||
|
import com.njcn.device.pq.pojo.advanced.UpDevVO;
|
||||||
import com.njcn.device.pq.pojo.bo.BaseLineInfo;
|
import com.njcn.device.pq.pojo.bo.BaseLineInfo;
|
||||||
import com.njcn.device.pq.pojo.bo.DeviceType;
|
import com.njcn.device.pq.pojo.bo.DeviceType;
|
||||||
import com.njcn.device.pq.pojo.bo.excel.TerminalBaseExcel;
|
import com.njcn.device.pq.pojo.bo.excel.TerminalBaseExcel;
|
||||||
@@ -23,6 +24,7 @@ import org.apache.ibatis.annotations.Select;
|
|||||||
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -123,6 +125,7 @@ public interface LineMapper extends BaseMapper<Line> {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取离线装置
|
* 获取离线装置
|
||||||
|
*
|
||||||
* @author cdf
|
* @author cdf
|
||||||
* @date 2023/4/3
|
* @date 2023/4/3
|
||||||
*/
|
*/
|
||||||
@@ -418,38 +421,78 @@ public interface LineMapper extends BaseMapper<Line> {
|
|||||||
|
|
||||||
List<LineFlowMealDetailVO> getDeviceRunStatistics(@Param("list") List<String> list, @Param("startTime") DateTime startTime, @Param("endTime") DateTime endTime);
|
List<LineFlowMealDetailVO> getDeviceRunStatistics(@Param("list") List<String> list, @Param("startTime") DateTime startTime, @Param("endTime") DateTime endTime);
|
||||||
|
|
||||||
Page<LineFlowMealDetailVO> getNewDeviceRunStatistics (Page<LineFlowMealDetailVO> page,@Param("devs") List<String> list, @Param("startTime") DateTime startTime, @Param("endTime") DateTime endTime);
|
Page<LineFlowMealDetailVO> getNewDeviceRunStatistics(Page<LineFlowMealDetailVO> page, @Param("devs") List<String> list, @Param("startTime") DateTime startTime, @Param("endTime") DateTime endTime);
|
||||||
Page<LineFlowMealDetailVO> getNewDeviceFlowStatistics (Page<LineFlowMealDetailVO> page,@Param("devs") List<String> list, @Param("startTime") DateTime startTime, @Param("endTime") DateTime endTime);
|
|
||||||
|
Page<LineFlowMealDetailVO> getNewDeviceFlowStatistics(Page<LineFlowMealDetailVO> page, @Param("devs") List<String> list, @Param("startTime") DateTime startTime, @Param("endTime") DateTime endTime);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通过电站id获取监测点信息
|
* 通过电站id获取监测点信息
|
||||||
|
*
|
||||||
* @author cdf
|
* @author cdf
|
||||||
* @date 2023/5/10
|
* @date 2023/5/10
|
||||||
*/
|
*/
|
||||||
List<LineDevGetDTO> getLineBySubStation(@Param("subId")String subId);
|
List<LineDevGetDTO> getLineBySubStation(@Param("subId") String subId);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据条件进行监测筛选出监测点id
|
* 根据条件进行监测筛选出监测点id
|
||||||
|
*
|
||||||
* @author wr
|
* @author wr
|
||||||
* @date 2023/5/25
|
* @date 2023/5/25
|
||||||
*/
|
*/
|
||||||
List<String> getLineByIDs(@Param("searchValue")String searchValue);
|
List<String> getLineByIDs(@Param("searchValue") String searchValue);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通过电站id集合,和电压等级
|
* 通过电站id集合,和电压等级
|
||||||
|
*
|
||||||
* @author cdf
|
* @author cdf
|
||||||
* @date 2023/5/10
|
* @date 2023/5/10
|
||||||
*/
|
*/
|
||||||
List<Line> getSubStations(@Param("subId")List<String> subId, @Param("scale") List<String> scale);
|
List<Line> getSubStations(@Param("subId") List<String> subId, @Param("scale") List<String> scale);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据变电站获取母线信息(变电站策略专用)
|
* 根据变电站获取母线信息(变电站策略专用)
|
||||||
|
*
|
||||||
* @param subId
|
* @param subId
|
||||||
* @param type (0是除了本变电站所有变电站母线信息 1是获取本变电站所有母线信息 2是根据母线获取信息)
|
* @param type (0是除了本变电站所有变电站母线信息 1是获取本变电站所有母线信息 2是根据母线获取信息)
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<TerminalTree> getvoltage(@Param("id") String subId,@Param("type") Integer type);
|
List<TerminalTree> getvoltage(@Param("id") String subId, @Param("type") Integer type);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据监测点id获取终端信息
|
||||||
|
*
|
||||||
|
* @param lineId 监测点id
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
UpDevVO getDevInfo(@Param("lineId") String lineId);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据终端id或者或者监测id,查询前置表ip信息
|
||||||
|
*
|
||||||
|
* @param devID 终端id
|
||||||
|
* @param type 终端=1 监测点=0
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
String getNodeIp(@Param("devID") String devID, @Param("type") Integer type);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据监测点集合获取终端数量
|
||||||
|
*
|
||||||
|
* @param lineId 监测点id
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
Integer getDevIndexs(@Param("lineIds") Set<String> lineId);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据终端id集合查询终端版本信息
|
||||||
|
* @param devIds
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<DeviceIpRVO> getDevicesIp(@Param("devIds") List<String> devIds);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.njcn.device.pq.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.njcn.device.pq.pojo.po.PqsProtectcontrolword;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author wr
|
||||||
|
* @since 2023-08-10
|
||||||
|
*/
|
||||||
|
public interface PqsProtectcontrolwordMapper extends BaseMapper<PqsProtectcontrolword> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.njcn.device.pq.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.njcn.device.pq.pojo.po.PqsProtectvalue;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author wr
|
||||||
|
* @since 2023-08-10
|
||||||
|
*/
|
||||||
|
public interface PqsProtectvalueMapper extends BaseMapper<PqsProtectvalue> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -53,4 +53,6 @@ public interface TerminalVersionMapper {
|
|||||||
|
|
||||||
|
|
||||||
List<DevVersion> selectListById(String id);
|
List<DevVersion> selectListById(String id);
|
||||||
|
|
||||||
|
List<TerminalVersionVO.Version> selectDevVersion(@Param("ids")List<String> ids);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,12 @@ package com.njcn.device.pq.mapper;
|
|||||||
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.njcn.device.pq.pojo.param.ProgramParam;
|
||||||
import com.njcn.device.pq.pojo.po.Version;
|
import com.njcn.device.pq.pojo.po.Version;
|
||||||
|
import com.njcn.device.pq.pojo.vo.VersionVO;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -14,4 +19,5 @@ import com.njcn.device.pq.pojo.po.Version;
|
|||||||
*/
|
*/
|
||||||
public interface VersionMapper extends BaseMapper<Version> {
|
public interface VersionMapper extends BaseMapper<Version> {
|
||||||
|
|
||||||
|
List<VersionVO> selectVersion(@Param("param") ProgramParam.Version param);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1175,5 +1175,73 @@
|
|||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
<select id="getDevInfo" resultType="com.njcn.device.pq.pojo.advanced.UpDevVO">
|
||||||
|
select
|
||||||
|
dev.id as devIndex,
|
||||||
|
dev.name as devName
|
||||||
|
from pq_line line,
|
||||||
|
pq_line vo,
|
||||||
|
pq_line dev
|
||||||
|
where vo.id = line.pid
|
||||||
|
and dev.id = vo.pid
|
||||||
|
and line.id = #{lineId}
|
||||||
|
</select>
|
||||||
|
<select id="getNodeIp" resultType="java.lang.String">
|
||||||
|
select
|
||||||
|
nd.ip
|
||||||
|
FROM
|
||||||
|
pq_line line,
|
||||||
|
pq_line vo,
|
||||||
|
pq_line dev
|
||||||
|
pq_node nd
|
||||||
|
<where>
|
||||||
|
vo.id = line.pid
|
||||||
|
and dev.id = vo.pid
|
||||||
|
and dev.Node_Id = nd.id
|
||||||
|
<if test="type != null and type == 1">
|
||||||
|
and dev.id = #{devID}
|
||||||
|
</if>
|
||||||
|
<if test="type != null and type == 0">
|
||||||
|
and line.id = #{devID}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
|
||||||
|
</select>
|
||||||
|
<select id="getDevIndexs" resultType="java.lang.Integer">
|
||||||
|
select
|
||||||
|
count( distinct vo.pid)
|
||||||
|
from pq_line line,
|
||||||
|
pq_line vo
|
||||||
|
where vo.id = line.pid
|
||||||
|
and line.id in
|
||||||
|
<foreach collection="lineIds" item="item" open="(" close=")" separator="," index="index">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
|
||||||
|
</select>
|
||||||
|
<select id="getDevicesIp" resultType="com.njcn.device.pq.pojo.vo.DeviceIpRVO">
|
||||||
|
SELECT
|
||||||
|
a.id,
|
||||||
|
a.NAME,
|
||||||
|
ifnull( e.NAME, '/' ) versionName,
|
||||||
|
ifnull( e.protocol, '/' ) protocol,
|
||||||
|
ifnull( e.date, '/' ) versionDate,
|
||||||
|
e.Dev_Type AS devSeries,
|
||||||
|
b.dev_type AS devType,
|
||||||
|
nd.ip as ip,
|
||||||
|
b.Com_Flag as comFlag
|
||||||
|
FROM
|
||||||
|
pq_line a
|
||||||
|
INNER JOIN pq_device b ON a.id = b.id
|
||||||
|
INNER JOIN pq_node nd ON dev.Node_Id = nd.id
|
||||||
|
LEFT JOIN cld_dev_version d ON b.id = d.Line_Id AND d.flag = 1 AND d.Result = 1
|
||||||
|
LEFT JOIN cld_version e ON d.Version_Id = e.id
|
||||||
|
WHERE
|
||||||
|
b.dev_model = 1 and a.State=1
|
||||||
|
and a.id in
|
||||||
|
<foreach collection="devIds" item="item" open="(" close=")" separator="," index="index">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.njcn.device.pq.mapper.PqsProtectcontrolwordMapper">
|
||||||
|
|
||||||
|
</mapper>
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.njcn.device.pq.mapper.PqsProtectvalueMapper">
|
||||||
|
|
||||||
|
</mapper>
|
||||||
@@ -11,16 +11,16 @@
|
|||||||
a.LEVEL,
|
a.LEVEL,
|
||||||
b.run_flag,
|
b.run_flag,
|
||||||
b.com_flag,
|
b.com_flag,
|
||||||
c.NAME devType,
|
b.dev_type devType,
|
||||||
ifnull(e.NAME,'/') versionName,
|
ifnull(e.NAME,'/') versionName,
|
||||||
ifnull(e.protocol,'/') protocol,
|
ifnull(e.protocol,'/') protocol,
|
||||||
ifnull(e.date,'/') versionDate,
|
ifnull(e.date,'/') versionDate,
|
||||||
ifnull(e.update_time,'/') updateTime,
|
ifnull(e.update_time,'/') updateTime,
|
||||||
ifnull(e.update_by,'/') updateBy
|
ifnull(e.update_by,'/') updateBy,
|
||||||
|
e.id as versionId
|
||||||
FROM
|
FROM
|
||||||
pq_line a
|
pq_line a
|
||||||
INNER JOIN pq_device b ON a.id = b.id
|
INNER JOIN pq_device b ON a.id = b.id
|
||||||
LEFT JOIN sys_dict_data c ON b.dev_type = c.id
|
|
||||||
LEFT JOIN cld_dev_version d ON b.id = d.Line_Id and d.flag = 1 and d.Result = 1
|
LEFT JOIN cld_dev_version d ON b.id = d.Line_Id and d.flag = 1 and d.Result = 1
|
||||||
LEFT JOIN cld_version e ON d.Version_Id = e.id
|
LEFT JOIN cld_version e ON d.Version_Id = e.id
|
||||||
LEFT JOIN sys_user f on d.update_by = f.id
|
LEFT JOIN sys_user f on d.update_by = f.id
|
||||||
@@ -79,5 +79,32 @@
|
|||||||
LEFT JOIN sys_dict_data sdd ON pd.Dev_Type = sdd.Id
|
LEFT JOIN sys_dict_data sdd ON pd.Dev_Type = sdd.Id
|
||||||
WHERE cdv.Line_Id = #{id}
|
WHERE cdv.Line_Id = #{id}
|
||||||
</select>
|
</select>
|
||||||
|
<select id="selectDevVersion" resultType="com.njcn.device.pq.pojo.vo.TerminalVersionVO$Version">
|
||||||
|
SELECT
|
||||||
|
a.id,
|
||||||
|
a.NAME,
|
||||||
|
ifnull( e.NAME, '/' ) versionName,
|
||||||
|
ifnull( e.protocol, '/' ) protocol,
|
||||||
|
ifnull( e.date, '/' ) versionDate,
|
||||||
|
e.Dev_Type AS devSeries,
|
||||||
|
b.dev_type AS devType,
|
||||||
|
sub.NAME subName,
|
||||||
|
gb.NAME gbName,
|
||||||
|
ifnull( e.update_time, '/' ) updateTime,
|
||||||
|
ifnull( e.update_by, '/' ) updateBy
|
||||||
|
FROM
|
||||||
|
pq_line a
|
||||||
|
INNER JOIN pq_device b ON a.id = b.id
|
||||||
|
INNER JOIN pq_line sub ON a.pid = sub.id
|
||||||
|
INNER JOIN pq_line gb ON sub.pid = gb.id
|
||||||
|
LEFT JOIN cld_dev_version d ON b.id = d.Line_Id AND d.flag = 1 AND d.Result = 1
|
||||||
|
LEFT JOIN cld_version e ON d.Version_Id = e.id
|
||||||
|
WHERE
|
||||||
|
b.dev_model = 1 and a.State=1
|
||||||
|
and a.id in
|
||||||
|
<foreach collection="ids" item="item" open="(" close=")" separator=",">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@@ -2,4 +2,28 @@
|
|||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.njcn.device.pq.mapper.VersionMapper">
|
<mapper namespace="com.njcn.device.pq.mapper.VersionMapper">
|
||||||
|
|
||||||
|
<select id="selectVersion" resultType="com.njcn.device.pq.pojo.vo.VersionVO">
|
||||||
|
select
|
||||||
|
Id,
|
||||||
|
Name,
|
||||||
|
Protocol,
|
||||||
|
Date,
|
||||||
|
Dev_Type,
|
||||||
|
Version_Type,
|
||||||
|
case ISNULL(File) when 1 then 0 else 1 end as isFile,
|
||||||
|
File_Name,
|
||||||
|
Version_Flag,
|
||||||
|
Remark,
|
||||||
|
State
|
||||||
|
from
|
||||||
|
cld_version
|
||||||
|
<where>
|
||||||
|
State = 1
|
||||||
|
and Dev_Type = #{param.devType}
|
||||||
|
and Id not in
|
||||||
|
<foreach collection="param.versionIds" item="item" open="(" close=")" separator=",">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@@ -2,8 +2,11 @@ package com.njcn.device.pq.service;
|
|||||||
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.njcn.device.pq.pojo.param.ConstantValueParam;
|
||||||
import com.njcn.device.pq.pojo.po.Device;
|
import com.njcn.device.pq.pojo.po.Device;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* 服务类
|
* 服务类
|
||||||
@@ -14,4 +17,112 @@ import com.njcn.device.pq.pojo.po.Device;
|
|||||||
*/
|
*/
|
||||||
public interface IDeviceService extends IService<Device> {
|
public interface IDeviceService extends IService<Device> {
|
||||||
|
|
||||||
|
|
||||||
|
/***
|
||||||
|
* @Description: mqtt获取外部定值
|
||||||
|
* @param param
|
||||||
|
* @return: java.lang.String
|
||||||
|
* @Author: wr
|
||||||
|
* @Date: 2023/8/14 10:17
|
||||||
|
*/
|
||||||
|
String sentLine(ConstantValueParam.Constant param);
|
||||||
|
|
||||||
|
/***
|
||||||
|
* @Description: mqtt修改外部定值
|
||||||
|
* @param param
|
||||||
|
* @return: java.lang.String
|
||||||
|
* @Author: wr
|
||||||
|
* @Date: 2023/8/14 11:07
|
||||||
|
*/
|
||||||
|
String sentLineData(ConstantValueParam.ValueData param);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param param
|
||||||
|
* @Description: mqtt获取内部定值
|
||||||
|
* @return: java.lang.String
|
||||||
|
* @Author: wr
|
||||||
|
* @Date: 2023/8/14 14:51
|
||||||
|
*/
|
||||||
|
String sentDev(ConstantValueParam.Constant param);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param param
|
||||||
|
* @Description: mqtt修改内部定值
|
||||||
|
* @return: java.lang.String
|
||||||
|
* @Author: wr
|
||||||
|
* @Date: 2023/8/14 14:51
|
||||||
|
*/
|
||||||
|
String sentDevData(ConstantValueParam.ValueData param);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param devID
|
||||||
|
* @Description: 终端性能查看
|
||||||
|
* @return: java.lang.String
|
||||||
|
* @Author: wr
|
||||||
|
* @Date: 2023/8/15 11:27
|
||||||
|
*/
|
||||||
|
String socketDevProperty(String devID);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param devID
|
||||||
|
* @Description: 终端性能关闭
|
||||||
|
* @return: java.lang.String
|
||||||
|
* @Author: wr
|
||||||
|
* @Date: 2023/8/15 16:13
|
||||||
|
*/
|
||||||
|
String socketDevPropertyClose(String devID);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param lineIndex
|
||||||
|
* @Description: 监测点实时数据查看
|
||||||
|
* @return: java.lang.String
|
||||||
|
* @Author: wr
|
||||||
|
* @Date: 2023/8/15 16:13
|
||||||
|
*/
|
||||||
|
String realTimeData(String lineIndex);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param lineIndex
|
||||||
|
* @Description: 监测实施数据心跳
|
||||||
|
* @return: java.lang.String
|
||||||
|
* @Author: wr
|
||||||
|
* @Date: 2023/8/15 16:14
|
||||||
|
*/
|
||||||
|
String heartRealTimeData(String lineIndex);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param lineIndex
|
||||||
|
* @Description: 监测点实施数据关闭
|
||||||
|
* @return: java.lang.String
|
||||||
|
* @Author: wr
|
||||||
|
* @Date: 2023/8/15 16:14
|
||||||
|
*/
|
||||||
|
String closeRealTimeData(String lineIndex);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 终端版本升级,批量升级条件必须是相同终端系列的终端才能升级
|
||||||
|
*
|
||||||
|
* @param list
|
||||||
|
* @param edIndex
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
String getDevUpgrades(List<String> list, String edIndex);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param devList
|
||||||
|
* @Description: 终端升级取消
|
||||||
|
* @return: java.lang.String
|
||||||
|
* @Author: wr
|
||||||
|
* @Date: 2023/8/17 9:24
|
||||||
|
*/
|
||||||
|
String closeUpgrades(List<String> devList);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param devList
|
||||||
|
* @Description: 重启装置命令
|
||||||
|
* @return: java.lang.String
|
||||||
|
* @Author: wr
|
||||||
|
* @Date: 2023/8/17 9:24
|
||||||
|
*/
|
||||||
|
String restartDev(List<String> devList);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.njcn.device.pq.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.njcn.device.pq.pojo.po.PqsProtectcontrolword;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author wr
|
||||||
|
* @since 2023-08-10
|
||||||
|
*/
|
||||||
|
public interface IPqsProtectcontrolwordService extends IService<PqsProtectcontrolword> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
package com.njcn.device.pq.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.njcn.device.pq.pojo.param.ConstantValueParam;
|
||||||
|
import com.njcn.device.pq.pojo.po.PqsProtectvalue;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author wr
|
||||||
|
* @since 2023-08-10
|
||||||
|
*/
|
||||||
|
public interface IPqsProtectvalueService extends IService<PqsProtectvalue> {
|
||||||
|
|
||||||
|
/***
|
||||||
|
* @Description: 查询定值信息
|
||||||
|
* @param isOutIn out=外部定值 in=内部定值
|
||||||
|
* @param lineIndex 监测点id
|
||||||
|
* @return: java.util.List<java.lang.Object>
|
||||||
|
* @Author: wr
|
||||||
|
* @Date: 2023/8/10 18:55
|
||||||
|
*/
|
||||||
|
List<Object> quarryOutValueBase(String isOutIn,String lineIndex);
|
||||||
|
|
||||||
|
Boolean updateDatabaseValue(String json);
|
||||||
|
|
||||||
|
Boolean updateDatabase(ConstantValueParam param);
|
||||||
|
}
|
||||||
@@ -1,18 +1,21 @@
|
|||||||
package com.njcn.device.pq.service;
|
package com.njcn.device.pq.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.njcn.device.pq.pojo.param.ProgramParam;
|
import com.njcn.device.pq.pojo.param.ProgramParam;
|
||||||
|
import com.njcn.device.pq.pojo.po.Version;
|
||||||
import com.njcn.device.pq.pojo.vo.VersionVO;
|
import com.njcn.device.pq.pojo.vo.VersionVO;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @version 1.0.0
|
* @version 1.0.0
|
||||||
* @author: chenchao
|
* @author: chenchao
|
||||||
* @date: 2022/05/19 15:53
|
* @date: 2022/05/19 15:53
|
||||||
*/
|
*/
|
||||||
public interface ProgramVersionService {
|
public interface ProgramVersionService extends IService<Version> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据终端类型分页获取程序版本管理信息
|
* 根据终端类型分页获取程序版本管理信息
|
||||||
@@ -45,4 +48,10 @@ public interface ProgramVersionService {
|
|||||||
*/
|
*/
|
||||||
boolean delProgramVersion(String id);
|
boolean delProgramVersion(String id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 终端版本升级,查看除了当前版本的其他版本信息
|
||||||
|
* @param param
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<VersionVO> getVersion(ProgramParam.Version param);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,4 +29,14 @@ public interface TerminalVersionService {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<DevVersion> getTerminalUpLog(String id);
|
List<DevVersion> getTerminalUpLog(String id);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 查询终端版本信息
|
||||||
|
* @param ids
|
||||||
|
* @return: java.util.List<com.njcn.device.pq.pojo.vo.TerminalVersionVO.Version>
|
||||||
|
* @Author: wr
|
||||||
|
* @Date: 2023/8/16 15:07
|
||||||
|
*/
|
||||||
|
List<TerminalVersionVO.Version> getVersionList(List<String> ids);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,34 @@
|
|||||||
package com.njcn.device.pq.service.impl;
|
package com.njcn.device.pq.service.impl;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import cn.hutool.json.JSONObject;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.njcn.device.pq.mapper.DevVersionMapper;
|
||||||
import com.njcn.device.pq.mapper.DeviceMapper;
|
import com.njcn.device.pq.mapper.DeviceMapper;
|
||||||
|
import com.njcn.device.pq.mapper.LineMapper;
|
||||||
|
import com.njcn.device.pq.pojo.advanced.*;
|
||||||
|
import com.njcn.device.pq.pojo.param.ConstantValueParam;
|
||||||
|
import com.njcn.device.pq.pojo.po.DevVersion;
|
||||||
import com.njcn.device.pq.pojo.po.Device;
|
import com.njcn.device.pq.pojo.po.Device;
|
||||||
|
import com.njcn.device.pq.pojo.po.Line;
|
||||||
|
import com.njcn.device.pq.pojo.po.Version;
|
||||||
|
import com.njcn.device.pq.pojo.vo.DeviceIpRVO;
|
||||||
import com.njcn.device.pq.service.IDeviceService;
|
import com.njcn.device.pq.service.IDeviceService;
|
||||||
|
import com.njcn.device.pq.service.ProgramVersionService;
|
||||||
|
import com.njcn.device.pq.utils.SocketClient;
|
||||||
|
import com.njcn.web.utils.RequestUtil;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* 服务实现类
|
* 服务实现类
|
||||||
@@ -16,6 +38,364 @@ import org.springframework.stereotype.Service;
|
|||||||
* @since 2022-01-07
|
* @since 2022-01-07
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> implements IDeviceService {
|
public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> implements IDeviceService {
|
||||||
|
|
||||||
|
private final LineMapper lineMapper;
|
||||||
|
private final SocketClient socketClient;
|
||||||
|
private final DevVersionMapper devVersionMapper;
|
||||||
|
private final ProgramVersionService programVersionService;
|
||||||
|
|
||||||
|
@Value("${socket.port}")
|
||||||
|
private Integer socketPort;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String sentLine(ConstantValueParam.Constant param) {
|
||||||
|
try {
|
||||||
|
//获取根据监测点获取终端信息
|
||||||
|
UpDevVO upDevVO = lineMapper.getDevInfo(param.getId());
|
||||||
|
//查询前置ip
|
||||||
|
String host = lineMapper.getNodeIp(upDevVO.getDevIndex(),0);
|
||||||
|
//拼接属性
|
||||||
|
ContValueRVO upParamVO = new ContValueRVO();
|
||||||
|
ContValueVO valueVO = new ContValueVO();
|
||||||
|
valueVO.setType(param.getType());
|
||||||
|
valueVO.setLineid(param.getId());
|
||||||
|
valueVO.setHander(param.getHander());
|
||||||
|
JSONObject jsonStr = new JSONObject(valueVO);
|
||||||
|
Integer len = jsonStr.toString().length();
|
||||||
|
upParamVO.setLen(len.toString());
|
||||||
|
upParamVO.setData(valueVO);
|
||||||
|
JSONObject jsonObject = new JSONObject(upParamVO);
|
||||||
|
String str = jsonObject.toString();
|
||||||
|
List<UpDevVO> devList = new ArrayList<>();
|
||||||
|
devList.add(upDevVO);
|
||||||
|
return socketClient.sentLine(param.getIp(), str, host, socketPort, "wr", devList);
|
||||||
|
} catch (Exception e) {
|
||||||
|
return "获取定值失败";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String sentLineData(ConstantValueParam.ValueData param) {
|
||||||
|
try {
|
||||||
|
//获取根据监测点获取终端信息
|
||||||
|
UpDevVO upDevVO = lineMapper.getDevInfo(param.getId());
|
||||||
|
//查询前置ip
|
||||||
|
String host = lineMapper.getNodeIp(upDevVO.getDevIndex(),0);
|
||||||
|
ContUpdateValueRVO upParamVO = new ContUpdateValueRVO();
|
||||||
|
ContUpdateValueVO valueVO = new ContUpdateValueVO();
|
||||||
|
valueVO.setType(param.getType());
|
||||||
|
valueVO.setLineid(param.getId());
|
||||||
|
valueVO.setHander(param.getHander());
|
||||||
|
float[] intArr;
|
||||||
|
if (StrUtil.isBlank(param.getInterValue())) {
|
||||||
|
intArr = new float[0];
|
||||||
|
} else {
|
||||||
|
String[] valueArr = param.getInterValue().split(",");
|
||||||
|
intArr = new float[valueArr.length];
|
||||||
|
for (int i = 0; i < valueArr.length; i++) {
|
||||||
|
intArr[i] = Float.parseFloat(valueArr[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
valueVO.setValue(intArr);
|
||||||
|
JSONObject jsonStr = new JSONObject(valueVO);
|
||||||
|
Integer len = jsonStr.toString().length();
|
||||||
|
upParamVO.setLen(len.toString());
|
||||||
|
upParamVO.setData(valueVO);
|
||||||
|
JSONObject jsonObject = new JSONObject(upParamVO);
|
||||||
|
String str = jsonObject.toString();
|
||||||
|
List<UpDevVO> devList = new ArrayList<>();
|
||||||
|
devList.add(upDevVO);
|
||||||
|
return socketClient.sentLine(param.getIp(), str, host, socketPort, "wr", devList);
|
||||||
|
} catch (Exception e) {
|
||||||
|
return "运行失败";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String sentDev(ConstantValueParam.Constant param) {
|
||||||
|
try {
|
||||||
|
Line line = lineMapper.selectById(param.getId());
|
||||||
|
UpDevVO upDevVO = new UpDevVO();
|
||||||
|
upDevVO.setDevIndex(line.getId());
|
||||||
|
upDevVO.setDevName(line.getName());
|
||||||
|
String host = lineMapper.getNodeIp(line.getId(),1);
|
||||||
|
ContValueRVO upParamVO = new ContValueRVO();
|
||||||
|
ContValueVO valueVO = new ContValueVO();
|
||||||
|
valueVO.setType(param.getType());
|
||||||
|
valueVO.setIndex(param.getId());
|
||||||
|
valueVO.setHander(param.getHander());
|
||||||
|
JSONObject jsonStr = new JSONObject(valueVO);
|
||||||
|
Integer len = jsonStr.toString().length();
|
||||||
|
upParamVO.setLen(len.toString());
|
||||||
|
upParamVO.setData(valueVO);
|
||||||
|
JSONObject jsonObject = new JSONObject(upParamVO);
|
||||||
|
String str = jsonObject.toString();
|
||||||
|
List<UpDevVO> devList = new ArrayList<>();
|
||||||
|
devList.add(upDevVO);
|
||||||
|
return socketClient.sentDZDev(param.getIp(), str, host, socketPort, "wr", devList);
|
||||||
|
} catch (Exception e) {
|
||||||
|
return "获取定值失败";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String sentDevData(ConstantValueParam.ValueData param) {
|
||||||
|
try {
|
||||||
|
Line line = lineMapper.selectById(param.getId());
|
||||||
|
UpDevVO upDevVO = new UpDevVO();
|
||||||
|
upDevVO.setDevIndex(line.getId());
|
||||||
|
upDevVO.setDevName(line.getName());
|
||||||
|
String host = lineMapper.getNodeIp(line.getId(),1);
|
||||||
|
ContUpdateDevValueRVO upParamVO = new ContUpdateDevValueRVO();
|
||||||
|
ContUpdateDevValueVO valueVO = new ContUpdateDevValueVO();
|
||||||
|
valueVO.setType(param.getType());
|
||||||
|
valueVO.setIndex(line.getId());
|
||||||
|
valueVO.setHander(String.valueOf(param.getHander()));
|
||||||
|
int[] intArr;
|
||||||
|
if (StrUtil.isBlank(param.getInterValue())) {
|
||||||
|
intArr = new int[0];
|
||||||
|
} else {
|
||||||
|
String[] valueArr = param.getInterValue().split(",");
|
||||||
|
intArr = new int[valueArr.length];
|
||||||
|
for (int i = 0; i < valueArr.length; i++) {
|
||||||
|
intArr[i] = Integer.parseInt(valueArr[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
valueVO.setInterValue(intArr);
|
||||||
|
JSONObject jsonStr = new JSONObject(valueVO);
|
||||||
|
Integer len = jsonStr.toString().length();
|
||||||
|
upParamVO.setLen(len.toString());
|
||||||
|
upParamVO.setData(valueVO);
|
||||||
|
JSONObject jsonObject = new JSONObject(upParamVO);
|
||||||
|
String str = jsonObject.toString();
|
||||||
|
|
||||||
|
List<UpDevVO> devList = new ArrayList<>();
|
||||||
|
devList.add(upDevVO);
|
||||||
|
return socketClient.sentDZDev(param.getIp(), str, host, socketPort, "wr", devList);
|
||||||
|
} catch (Exception e) {
|
||||||
|
return "运行失败";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String socketDevProperty(String devID) {
|
||||||
|
String host = lineMapper.getNodeIp(devID,1);
|
||||||
|
if(StrUtil.isBlank(host)){
|
||||||
|
return "前置ip获取失败";
|
||||||
|
}
|
||||||
|
JSONObject jsonObject = new JSONObject();
|
||||||
|
Map<String,String> map = new HashMap<>();
|
||||||
|
map.put("type","190");
|
||||||
|
map.put("index",devID);
|
||||||
|
map.put("hander","1");
|
||||||
|
jsonObject.set("data", map);
|
||||||
|
Integer len = jsonObject.get("data").toString().length();
|
||||||
|
jsonObject.set("len", len.toString());
|
||||||
|
socketClient.showProperty(jsonObject.toString(),host,socketPort,RequestUtil.getLoginName());
|
||||||
|
return "终端性能获取成功";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String socketDevPropertyClose(String devID) {
|
||||||
|
String host = lineMapper.getNodeIp(devID,1);
|
||||||
|
try {
|
||||||
|
JSONObject jsonObject = new JSONObject();
|
||||||
|
Map<String, String> map = new HashMap<>();
|
||||||
|
map.put("type", "190");
|
||||||
|
map.put("index", devID);
|
||||||
|
map.put("hander", "0");
|
||||||
|
jsonObject.set("data", map);
|
||||||
|
Integer len = jsonObject.get("data").toString().length();
|
||||||
|
jsonObject.set("len", len.toString());
|
||||||
|
socketClient.closeDevSocket(jsonObject.toString(),host,socketPort,RequestUtil.getLoginName());
|
||||||
|
return "执行成功";
|
||||||
|
}catch (Exception e){
|
||||||
|
return "执行失败";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String realTimeData(String lineIndex) {
|
||||||
|
//查询前置ip
|
||||||
|
String host = lineMapper.getNodeIp(lineIndex,0);
|
||||||
|
if(StrUtil.isBlank(host)){
|
||||||
|
return "设备前置机服务器配置异常,请联系管理员";
|
||||||
|
}else {
|
||||||
|
JSONObject jsonObject = new JSONObject();
|
||||||
|
jsonObject.set("LineId", lineIndex);
|
||||||
|
jsonObject.set("type", 0);
|
||||||
|
cn.hutool.json.JSONObject jsonObject1 = new cn.hutool.json.JSONObject();
|
||||||
|
jsonObject1.set("len",0);
|
||||||
|
jsonObject1.set("data",jsonObject);
|
||||||
|
socketClient.realTimeData(jsonObject1.toString(),host,socketPort,lineIndex);
|
||||||
|
}
|
||||||
|
return "请求成功";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String heartRealTimeData(String lineIndex) {
|
||||||
|
JSONObject jsonObject = new JSONObject();
|
||||||
|
jsonObject.set("LineId", lineIndex);
|
||||||
|
jsonObject.set("type", 1);
|
||||||
|
cn.hutool.json.JSONObject jsonObject1 = new cn.hutool.json.JSONObject();
|
||||||
|
jsonObject1.set("len", 0);
|
||||||
|
jsonObject1.set("data", jsonObject);
|
||||||
|
String host = lineMapper.getNodeIp(lineIndex,0);
|
||||||
|
socketClient.heartRealData(jsonObject1.toString(),host,socketPort,lineIndex);
|
||||||
|
return "实时数据心跳请求成功";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String closeRealTimeData(String lineIndex) {
|
||||||
|
socketClient.closeRealData(lineIndex);
|
||||||
|
return "关闭实时数据请求成功";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getDevUpgrades(List<String> list, String edIndex) {
|
||||||
|
List<DeviceIpRVO> resTemlist = new ArrayList<>();
|
||||||
|
|
||||||
|
List<DeviceIpRVO> relist = lineMapper.getDevicesIp(list);
|
||||||
|
//判断设备版本号
|
||||||
|
Integer isExit = devVersionMapper.selectCount(new LambdaQueryWrapper<DevVersion>()
|
||||||
|
.eq(DevVersion::getVersionId,edIndex)
|
||||||
|
.in(DevVersion::getLineId,list)
|
||||||
|
.eq(DevVersion::getState,1)
|
||||||
|
);
|
||||||
|
if (isExit > 0) {
|
||||||
|
return "请勿选择相同版本号升级";
|
||||||
|
}
|
||||||
|
if (!CollectionUtil.isEmpty(relist)) {
|
||||||
|
Version version = programVersionService.getById(edIndex);
|
||||||
|
String series = version.getDevType();
|
||||||
|
//判断设备是否存在相同型号
|
||||||
|
for (DeviceIpRVO deviceIpRVO : relist) {
|
||||||
|
if (!series.equals(deviceIpRVO.getDevSeries())) {
|
||||||
|
return "当前装置版本系列与目标版本系列不相同";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//判断是否断开
|
||||||
|
if (relist.stream().filter(w -> w.getComFlag() == 0).findAny().isPresent()) {
|
||||||
|
return "存在通讯中断设备";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Set<String> set = new HashSet<>();
|
||||||
|
for (DeviceIpRVO d : relist) {
|
||||||
|
set.add(d.getIp());
|
||||||
|
}
|
||||||
|
Iterator<String> iterator = set.iterator();
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
List<UpDevVO> devIndex = new ArrayList<>();
|
||||||
|
DeviceIpRVO deviceIpRVO = new DeviceIpRVO();
|
||||||
|
String ip = iterator.next();
|
||||||
|
for (DeviceIpRVO d : relist) {
|
||||||
|
UpDevVO upDevVO = new UpDevVO();
|
||||||
|
upDevVO.setDevIndex(d.getDevIndex());
|
||||||
|
upDevVO.setDevName(d.getDevName());
|
||||||
|
if (ip.equals(d.getIp())) {
|
||||||
|
devIndex.add(upDevVO);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
deviceIpRVO.setIp(ip);
|
||||||
|
deviceIpRVO.setDevlist(devIndex);
|
||||||
|
resTemlist.add(deviceIpRVO);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return "存在未知错误";
|
||||||
|
}
|
||||||
|
for (DeviceIpRVO deviceIpRVO : resTemlist) {
|
||||||
|
String ip = deviceIpRVO.getIp();
|
||||||
|
List<UpDevVO> devlist = deviceIpRVO.getDevlist();
|
||||||
|
UpDataVO upDataVO = new UpDataVO();
|
||||||
|
UpParamVO upParamVO = new UpParamVO();
|
||||||
|
upDataVO.setTerminal(devlist);
|
||||||
|
upDataVO.setType("180");
|
||||||
|
upDataVO.setEdIndex(edIndex);
|
||||||
|
upDataVO.setUserIndex(RequestUtil.getUserIndex());
|
||||||
|
JSONObject jsonstr = new JSONObject(upDataVO);
|
||||||
|
Integer len = jsonstr.toString().length();
|
||||||
|
upParamVO.setData(upDataVO);
|
||||||
|
upParamVO.setLen(len.toString());
|
||||||
|
JSONObject jsonObject = new JSONObject(upParamVO);
|
||||||
|
String str = jsonObject.toString();
|
||||||
|
socketClient.sentUpgrades(str, ip, socketPort, RequestUtil.getLoginName(), edIndex, devlist);
|
||||||
|
}
|
||||||
|
return "运行成功";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String closeUpgrades(List<String> devList) {
|
||||||
|
List<DeviceIpRVO> relist = lineMapper.getDevicesIp(devList);
|
||||||
|
if(CollectionUtil.isEmpty(relist)){
|
||||||
|
return "前置机为空";
|
||||||
|
}else {
|
||||||
|
List<String> nodeIp = relist.stream().map(DeviceIpRVO::getIp).distinct().collect(Collectors.toList());
|
||||||
|
for(String ip: nodeIp){
|
||||||
|
List<DeviceIpRVO> devLl= relist.stream().filter(item->item.getIp().equals(ip)).collect(Collectors.toList());
|
||||||
|
if(CollectionUtil.isEmpty(devLl)){
|
||||||
|
return "出错啦";
|
||||||
|
}
|
||||||
|
|
||||||
|
List<JSONObject> list = new ArrayList<>();
|
||||||
|
for(DeviceIpRVO devRVO:devLl){
|
||||||
|
JSONObject dev = new JSONObject();
|
||||||
|
dev.put("devIndex",devRVO.getDevIndex());
|
||||||
|
dev.put("devName",devRVO.getDevName());
|
||||||
|
list.add(dev);
|
||||||
|
}
|
||||||
|
JSONObject jsonObject = new JSONObject();
|
||||||
|
jsonObject.set("terminal", list);
|
||||||
|
jsonObject.set("type", 182);
|
||||||
|
JSONObject jsonObject1 = new JSONObject();
|
||||||
|
jsonObject1.set("len", 0);
|
||||||
|
jsonObject1.set("data", jsonObject);
|
||||||
|
socketClient.cancelUp(jsonObject1.toString(),ip,socketPort,devLl.size());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "取消命令发送成功";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String restartDev(List<String> devList) {
|
||||||
|
List<DeviceIpRVO> relist = lineMapper.getDevicesIp(devList);
|
||||||
|
if(CollUtil.isEmpty(relist)){
|
||||||
|
return "前置机为空";
|
||||||
|
}else {
|
||||||
|
List<String> nodeIp = relist.stream().map(DeviceIpRVO::getIp).distinct().collect(Collectors.toList());
|
||||||
|
for(String ip: nodeIp){
|
||||||
|
List<DeviceIpRVO> devLl = relist.stream().filter(item->item.getIp().equals(ip)).collect(Collectors.toList());
|
||||||
|
if(CollUtil.isEmpty(devLl)){
|
||||||
|
return "出错啦";
|
||||||
|
}
|
||||||
|
|
||||||
|
List<JSONObject> list = new ArrayList<>();
|
||||||
|
List<String> devIn = new ArrayList<>();
|
||||||
|
for(DeviceIpRVO devRVO:devLl){
|
||||||
|
devIn.add(devRVO.getDevIndex());
|
||||||
|
JSONObject dev = new JSONObject();
|
||||||
|
dev.set("devIndex", devRVO.getDevIndex());
|
||||||
|
dev.set("devName", devRVO.getDevName());
|
||||||
|
list.add(dev);
|
||||||
|
}
|
||||||
|
|
||||||
|
JSONObject jsonObject = new JSONObject();
|
||||||
|
jsonObject.set("terminal", list);
|
||||||
|
jsonObject.set("type", 181);
|
||||||
|
jsonObject.set("userIndex", RequestUtil.getUserIndex());
|
||||||
|
JSONObject jsonObject1 = new JSONObject();
|
||||||
|
jsonObject1.set("len", 0);
|
||||||
|
jsonObject1.set("data", jsonObject);
|
||||||
|
|
||||||
|
socketClient.restartDev(jsonObject1.toString(),ip,socketPort,devIn);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "命令发送成功";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package com.njcn.device.pq.service.impl;
|
||||||
|
|
||||||
|
import com.njcn.device.pq.mapper.PqsProtectcontrolwordMapper;
|
||||||
|
import com.njcn.device.pq.pojo.po.PqsProtectcontrolword;
|
||||||
|
import com.njcn.device.pq.service.IPqsProtectcontrolwordService;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author wr
|
||||||
|
* @since 2023-08-10
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class PqsProtectcontrolwordServiceImpl extends ServiceImpl<PqsProtectcontrolwordMapper, PqsProtectcontrolword> implements IPqsProtectcontrolwordService {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,227 @@
|
|||||||
|
package com.njcn.device.pq.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.hutool.core.lang.UUID;
|
||||||
|
import cn.hutool.core.text.UnicodeUtil;
|
||||||
|
import cn.hutool.core.util.IdUtil;
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.alibaba.fastjson.JSONArray;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
|
import com.njcn.device.pq.mapper.PqsProtectvalueMapper;
|
||||||
|
import com.njcn.device.pq.pojo.param.ConstantValueParam;
|
||||||
|
import com.njcn.device.pq.pojo.po.PqsProtectcontrolword;
|
||||||
|
import com.njcn.device.pq.pojo.po.PqsProtectvalue;
|
||||||
|
import com.njcn.device.pq.service.IPqsProtectcontrolwordService;
|
||||||
|
import com.njcn.device.pq.service.IPqsProtectvalueService;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import net.sf.json.JSONObject;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author wr
|
||||||
|
* @since 2023-08-10
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class PqsProtectvalueServiceImpl extends ServiceImpl<PqsProtectvalueMapper, PqsProtectvalue> implements IPqsProtectvalueService {
|
||||||
|
|
||||||
|
private final IPqsProtectcontrolwordService iPqsProtectcontrolwordService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Object> quarryOutValueBase(String isOutIn, String lineIndex) {
|
||||||
|
List<Object> quarryValue = new ArrayList<>();
|
||||||
|
List<PqsProtectvalue> quarryOutValue = new ArrayList<>();//简谐波
|
||||||
|
List<PqsProtectvalue> quarryOutValue1 = new ArrayList<>();//谐波电压
|
||||||
|
List<PqsProtectvalue> quarryOutValue2 = new ArrayList<>();//谐波电流
|
||||||
|
List<PqsProtectvalue> quarryOutValue3 = new ArrayList<>();//基本定值
|
||||||
|
if (isOutIn.equals("out")) { //外部定值
|
||||||
|
List<PqsProtectvalue> constantValues = this.list(new LambdaQueryWrapper<PqsProtectvalue>()
|
||||||
|
.eq(PqsProtectvalue::getCpu_no, lineIndex));
|
||||||
|
|
||||||
|
if (CollUtil.isNotEmpty(constantValues)) {
|
||||||
|
//区分定值类型
|
||||||
|
Map<Integer, List<PqsProtectvalue>> protectMap =
|
||||||
|
constantValues.stream().collect(Collectors.groupingBy(PqsProtectvalue::getDz_type));
|
||||||
|
|
||||||
|
if (protectMap.containsKey(1)) {
|
||||||
|
quarryOutValue3.addAll(protectMap.get(1));
|
||||||
|
}
|
||||||
|
if (protectMap.containsKey(2)) {
|
||||||
|
quarryOutValue2.addAll(protectMap.get(2));
|
||||||
|
}
|
||||||
|
if (protectMap.containsKey(3)) {
|
||||||
|
quarryOutValue1.addAll(protectMap.get(3));
|
||||||
|
}
|
||||||
|
if (protectMap.containsKey(4)) {
|
||||||
|
quarryOutValue.addAll(protectMap.get(4));
|
||||||
|
}
|
||||||
|
|
||||||
|
quarryValue.add(quarryOutValue3);
|
||||||
|
quarryValue.add(quarryOutValue2);
|
||||||
|
quarryValue.add(quarryOutValue1);
|
||||||
|
quarryValue.add(quarryOutValue);
|
||||||
|
}
|
||||||
|
} else if (isOutIn.equals("in")) { //内部定值
|
||||||
|
List<PqsProtectvalue> constantValues = this.list(new LambdaQueryWrapper<PqsProtectvalue>()
|
||||||
|
.eq(PqsProtectvalue::getCpu_no, lineIndex));
|
||||||
|
if (CollUtil.isNotEmpty(constantValues)) {
|
||||||
|
quarryValue.add(constantValues);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return quarryValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public Boolean updateDatabaseValue(String json) {
|
||||||
|
Map map = JSON.parseObject(json, Map.class);
|
||||||
|
//区分内/外定值
|
||||||
|
String type = map.get("type").toString();
|
||||||
|
if (type.equals("80")) {//外部定值
|
||||||
|
String cpuNo = map.get("cpu_no").toString();
|
||||||
|
List<Float> inoutValue = JSONArray.parseArray(map.get("data").toString(), Float.class);
|
||||||
|
for (int i = 0; i < inoutValue.size(); i++) {
|
||||||
|
//进行外部定值的更正
|
||||||
|
this.update(new LambdaUpdateWrapper<PqsProtectvalue>()
|
||||||
|
.set(PqsProtectvalue::getValue, inoutValue.get(i))
|
||||||
|
.eq(PqsProtectvalue::getCpu_no, cpuNo)
|
||||||
|
.like(PqsProtectvalue::getType, type)
|
||||||
|
.eq(PqsProtectvalue::getSort, i + 1)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
} else if (type.equals("90")) {
|
||||||
|
//内部定值
|
||||||
|
String devIndex = map.get("devindex").toString();
|
||||||
|
List<Integer> inoutValue = JSONArray.parseArray(map.get("data").toString(), Integer.class);
|
||||||
|
for (int i = 0; i < inoutValue.size(); i++) {
|
||||||
|
int value = inoutValue.get(i);
|
||||||
|
if (i == inoutValue.size() - 1 || i == inoutValue.size() - 2) {
|
||||||
|
value = value / 100;
|
||||||
|
//进行内部定值的更正
|
||||||
|
this.update(new LambdaUpdateWrapper<PqsProtectvalue>()
|
||||||
|
.set(PqsProtectvalue::getValue, value)
|
||||||
|
.eq(PqsProtectvalue::getCpu_no, devIndex)
|
||||||
|
.like(PqsProtectvalue::getType, type)
|
||||||
|
.eq(PqsProtectvalue::getSort, i + 1)
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
//进行内部定值的更正
|
||||||
|
this.update(new LambdaUpdateWrapper<PqsProtectvalue>()
|
||||||
|
.set(PqsProtectvalue::getValue, value)
|
||||||
|
.eq(PqsProtectvalue::getCpu_no, devIndex)
|
||||||
|
.like(PqsProtectvalue::getType, type)
|
||||||
|
.eq(PqsProtectvalue::getSort, i + 1)
|
||||||
|
);
|
||||||
|
//查询指定内部定级
|
||||||
|
PqsProtectvalue one = this.getOne(new LambdaQueryWrapper<PqsProtectvalue>()
|
||||||
|
.eq(PqsProtectvalue::getCpu_no, devIndex)
|
||||||
|
.eq(PqsProtectvalue::getType, type)
|
||||||
|
.eq(PqsProtectvalue::getSort, i + 1)
|
||||||
|
);
|
||||||
|
//根据装置类型和sort进行查询
|
||||||
|
String pvIndex = one.getPvIndex();
|
||||||
|
String property = Integer.toBinaryString(value);
|
||||||
|
int strLen = property.length();
|
||||||
|
if (strLen < 16) {
|
||||||
|
while (strLen < 16) {
|
||||||
|
StringBuffer sb = new StringBuffer();
|
||||||
|
sb.append("0").append(property);//左补0
|
||||||
|
property = sb.toString();
|
||||||
|
strLen = property.length();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
char[] ar = property.toCharArray();
|
||||||
|
for (int j = 0; j < ar.length; j++) {
|
||||||
|
int flag = ar[j] - 48;
|
||||||
|
iPqsProtectcontrolwordService.update(new LambdaUpdateWrapper<PqsProtectcontrolword>()
|
||||||
|
.set(PqsProtectcontrolword::getPvIndex, pvIndex)
|
||||||
|
.eq(PqsProtectcontrolword::getTypeNum, (ar.length - 1) - j)
|
||||||
|
.like(PqsProtectcontrolword::getFlag, flag));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public Boolean updateDatabase(ConstantValueParam param) {
|
||||||
|
Integer type = param.getType();
|
||||||
|
ConstantValueParam.ConstantValue json = param.getJson();
|
||||||
|
|
||||||
|
//获取方法类型methodname
|
||||||
|
String methodName = json.getMethodname();
|
||||||
|
List<PqsProtectvalue> inoutValue;
|
||||||
|
//hander 用于匹配 0 定值 1 定值描述
|
||||||
|
Integer hander = json.getHander();
|
||||||
|
//用于判断内外定值 80外部定值 90内部定值
|
||||||
|
if (hander == param.getHander()) {
|
||||||
|
//终端id
|
||||||
|
String devIndex = json.getDevindex();
|
||||||
|
inoutValue = json.getData();
|
||||||
|
|
||||||
|
PqsProtectvalue pqsProtectvalue = inoutValue.get(0);
|
||||||
|
|
||||||
|
int isint = 0;//用于判断时候删除子表数据
|
||||||
|
String devType2 = pqsProtectvalue.getDev_type();
|
||||||
|
Integer type2 = pqsProtectvalue.getType();
|
||||||
|
if (type == 90) {
|
||||||
|
this.remove(new LambdaUpdateWrapper<PqsProtectvalue>()
|
||||||
|
.eq(PqsProtectvalue::getCpu_no, devIndex)
|
||||||
|
.like(PqsProtectvalue::getType, type2)
|
||||||
|
|
||||||
|
);
|
||||||
|
isint = 1;
|
||||||
|
} else if (type == 80) {
|
||||||
|
String lineIndex = json.getLineindex();
|
||||||
|
isint = 0;
|
||||||
|
this.remove(new LambdaUpdateWrapper<PqsProtectvalue>()
|
||||||
|
.eq(PqsProtectvalue::getCpu_no, lineIndex)
|
||||||
|
.like(PqsProtectvalue::getType, type2)
|
||||||
|
|
||||||
|
);
|
||||||
|
}
|
||||||
|
List<PqsProtectvalue> addProtect = new ArrayList<>();
|
||||||
|
List<PqsProtectcontrolword> addWord = new ArrayList<>();
|
||||||
|
for (int i = 0; i < inoutValue.size(); i++) {
|
||||||
|
//获取监测点序号、终端类型、定值类型、单位、最大值、最小值、默认值、设定值、描述
|
||||||
|
String pvIndex = IdUtil.fastSimpleUUID();
|
||||||
|
PqsProtectvalue protect = inoutValue.get(i);
|
||||||
|
protect.setPvIndex(pvIndex);
|
||||||
|
protect.setDz_type(protect.getType() == 80 ? protect.getDz_type() : 0);
|
||||||
|
addProtect.add(protect);
|
||||||
|
|
||||||
|
//获取内部定值控制字
|
||||||
|
if (isint == 1) {
|
||||||
|
if (protect.getWord().size() > 1) {
|
||||||
|
protect.getWord().stream().peek(x->x.setPvIndex(pvIndex));
|
||||||
|
addWord.addAll(protect.getWord());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (CollUtil.isNotEmpty(addProtect)) {
|
||||||
|
this.saveBatch(addProtect);
|
||||||
|
}
|
||||||
|
if (CollUtil.isNotEmpty(addWord)) {
|
||||||
|
iPqsProtectcontrolwordService.saveBatch(addWord);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -23,6 +23,7 @@ import java.util.stream.Collectors;
|
|||||||
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -44,6 +45,7 @@ public class PqsTflgployServiceImpl extends ServiceImpl<PqsTflgployMapper, PqsTf
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public Boolean insertFlgPloy(TflgployParam param) {
|
public Boolean insertFlgPloy(TflgployParam param) {
|
||||||
List<PqsTflgploy> list = this.list(new LambdaQueryWrapper<PqsTflgploy>()
|
List<PqsTflgploy> list = this.list(new LambdaQueryWrapper<PqsTflgploy>()
|
||||||
.eq(PqsTflgploy::getTpName, param.getTpName())
|
.eq(PqsTflgploy::getTpName, param.getTpName())
|
||||||
@@ -75,6 +77,7 @@ public class PqsTflgployServiceImpl extends ServiceImpl<PqsTflgployMapper, PqsTf
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public Boolean updateFlgPloy(TflgployParam.TflgployUpdateParam param) {
|
public Boolean updateFlgPloy(TflgployParam.TflgployUpdateParam param) {
|
||||||
//根据信息查询当前策略是否存在
|
//根据信息查询当前策略是否存在
|
||||||
int count = this.count(new LambdaQueryWrapper<PqsTflgploy>()
|
int count = this.count(new LambdaQueryWrapper<PqsTflgploy>()
|
||||||
@@ -103,6 +106,7 @@ public class PqsTflgployServiceImpl extends ServiceImpl<PqsTflgployMapper, PqsTf
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public Boolean delFlgPloy(String ids) {
|
public Boolean delFlgPloy(String ids) {
|
||||||
int count = this.count(new LambdaQueryWrapper<PqsTflgploy>()
|
int count = this.count(new LambdaQueryWrapper<PqsTflgploy>()
|
||||||
.eq(PqsTflgploy::getTpIndex, ids));
|
.eq(PqsTflgploy::getTpIndex, ids));
|
||||||
|
|||||||
@@ -158,6 +158,7 @@ public class PqsTransformerServiceImpl extends ServiceImpl<PqsTransformerMapper,
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public Boolean nodeMaintenance(PqsTransformerParam param) {
|
public Boolean nodeMaintenance(PqsTransformerParam param) {
|
||||||
boolean fly;
|
boolean fly;
|
||||||
//根据变压器台账id查询是否存在节点信息,存在则修改,不存则新增
|
//根据变压器台账id查询是否存在节点信息,存在则修改,不存则新增
|
||||||
|
|||||||
@@ -157,6 +157,11 @@ public class ProgramVersionServiceImpl extends ServiceImpl<VersionMapper, Versio
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<VersionVO> getVersion(ProgramParam.Version param) {
|
||||||
|
return versionMapper.selectVersion(param);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private Boolean judgeFileType(String subffix) {
|
private Boolean judgeFileType(String subffix) {
|
||||||
boolean result = false;
|
boolean result = false;
|
||||||
|
|||||||
@@ -66,6 +66,11 @@ public class TerminalVersionServiceImpl implements TerminalVersionService {
|
|||||||
return terminalVersionMapper.selectListById(id);
|
return terminalVersionMapper.selectListById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<TerminalVersionVO.Version> getVersionList(List<String> ids) {
|
||||||
|
return terminalVersionMapper.selectDevVersion(ids);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private List<TerminalVersionVO> getChildren(String id,List<TerminalVersionVO> all){
|
private List<TerminalVersionVO> getChildren(String id,List<TerminalVersionVO> all){
|
||||||
return all.stream().filter(item->item.getPid().equals(id)).collect(Collectors.toList());
|
return all.stream().filter(item->item.getPid().equals(id)).collect(Collectors.toList());
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -51,7 +51,7 @@ public class AppUserController extends BaseController {
|
|||||||
@ApiImplicitParams({
|
@ApiImplicitParams({
|
||||||
@ApiImplicitParam(name = "phone", value = "手机号", required = true, paramType = "query"),
|
@ApiImplicitParam(name = "phone", value = "手机号", required = true, paramType = "query"),
|
||||||
@ApiImplicitParam(name = "devCode", value = "设备码", required = true, paramType = "query"),
|
@ApiImplicitParam(name = "devCode", value = "设备码", required = true, paramType = "query"),
|
||||||
@ApiImplicitParam(name = "type", value = "验证码类型(0:登录 1:注册 2:修改密码 3:注册初始密码 4:换绑手机)", required = true, paramType = "query"),
|
@ApiImplicitParam(name = "type", value = "验证码类型(0:登录 1:注册 2:修改密码 4:换绑新手机 5.老手机校验 6:忘记密码)", required = true, paramType = "query"),
|
||||||
})
|
})
|
||||||
public HttpResult<String> authCode(String phone, String devCode, String type) {
|
public HttpResult<String> authCode(String phone, String devCode, String type) {
|
||||||
String methodDescribe = getMethodDescribe("authCode");
|
String methodDescribe = getMethodDescribe("authCode");
|
||||||
|
|||||||
Reference in New Issue
Block a user