Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -31,7 +31,8 @@ public class CsEdDataAddParm {
|
|||||||
@ApiModelProperty(value = "装置型号")
|
@ApiModelProperty(value = "装置型号")
|
||||||
@NotBlank(message="装置型号不能为空!")
|
@NotBlank(message="装置型号不能为空!")
|
||||||
private String devType;
|
private String devType;
|
||||||
|
@ApiModelProperty(value = "装置类型")
|
||||||
|
private String type;
|
||||||
/**
|
/**
|
||||||
* 版本号
|
* 版本号
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import org.springframework.web.multipart.MultipartFile;
|
|||||||
|
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -30,7 +31,8 @@ public class CsEdDataAuditParm {
|
|||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "装置型号")
|
@ApiModelProperty(value = "装置型号")
|
||||||
private String devType;
|
private String devType;
|
||||||
|
@ApiModelProperty(value = "装置类型")
|
||||||
|
private String type;
|
||||||
/**
|
/**
|
||||||
* 版本号
|
* 版本号
|
||||||
*/
|
*/
|
||||||
@@ -49,7 +51,7 @@ public class CsEdDataAuditParm {
|
|||||||
@ApiModelProperty(value = "版本日期")
|
@ApiModelProperty(value = "版本日期")
|
||||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
|
||||||
private LocalDate versionDate;
|
private Date versionDate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 描述
|
* 描述
|
||||||
@@ -65,7 +67,8 @@ public class CsEdDataAuditParm {
|
|||||||
|
|
||||||
@ApiModelProperty(value = "crc信息")
|
@ApiModelProperty(value = "crc信息")
|
||||||
private String crcInfo;
|
private String crcInfo;
|
||||||
|
@ApiModelProperty(value="0:删除 1:正常")
|
||||||
|
private String status;
|
||||||
@ApiModelProperty(value = ".bin文件")
|
@ApiModelProperty(value = ".bin文件")
|
||||||
private MultipartFile file;
|
private MultipartFile file;
|
||||||
|
|
||||||
|
|||||||
@@ -50,12 +50,12 @@ public class CsEquipmentDeliveryAddParm{
|
|||||||
@NotBlank(message="装置用途不能为空!")
|
@NotBlank(message="装置用途不能为空!")
|
||||||
private String devUse;
|
private String devUse;
|
||||||
|
|
||||||
/**
|
// /**
|
||||||
* 装置类型(直连设备、网关设备)
|
// * 装置类型(直连设备、网关设备)
|
||||||
*/
|
// */
|
||||||
@ApiModelProperty(value="装置类型")
|
// @ApiModelProperty(value="装置类型")
|
||||||
@NotBlank(message="装置类型不能为空!")
|
// @NotBlank(message="装置类型不能为空!")
|
||||||
private String devType;
|
// private String devType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 装置型号(pqs588、pqs680...)
|
* 装置型号(pqs588、pqs680...)
|
||||||
|
|||||||
@@ -48,11 +48,11 @@ public class CsEquipmentDeliveryAuditParm {
|
|||||||
@ApiModelProperty(value="装置用途")
|
@ApiModelProperty(value="装置用途")
|
||||||
private String devUse;
|
private String devUse;
|
||||||
|
|
||||||
/**
|
// /**
|
||||||
* 装置类型(直连设备、网关设备)
|
// * 装置类型(直连设备、网关设备)
|
||||||
*/
|
// */
|
||||||
@ApiModelProperty(value="装置类型")
|
// @ApiModelProperty(value="装置类型")
|
||||||
private String devType;
|
// private String devType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 装置型号(pqs588、pqs680...)
|
* 装置型号(pqs588、pqs680...)
|
||||||
|
|||||||
@@ -44,11 +44,11 @@ public class CsEquipmentDeliveryQueryParm {
|
|||||||
@ApiModelProperty(value="装置用途")
|
@ApiModelProperty(value="装置用途")
|
||||||
private String devUse;
|
private String devUse;
|
||||||
|
|
||||||
/**
|
// /**
|
||||||
* 装置类型(直连设备、网关设备)
|
// * 装置类型(直连设备、网关设备)
|
||||||
*/
|
// */
|
||||||
@ApiModelProperty(value="装置类型")
|
// @ApiModelProperty(value="装置类型")
|
||||||
private String devType;
|
// private String devType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 装置型号(pqs588、pqs680...)
|
* 装置型号(pqs588、pqs680...)
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
|
|||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import com.njcn.db.bo.BaseEntity;
|
import com.njcn.db.bo.BaseEntity;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
@@ -38,7 +39,11 @@ public class CsEdDataPO extends BaseEntity {
|
|||||||
*/
|
*/
|
||||||
@TableField(value = "dev_type")
|
@TableField(value = "dev_type")
|
||||||
private String devType;
|
private String devType;
|
||||||
|
/**
|
||||||
|
* 装置类型(直连设备、网关设备)
|
||||||
|
*/
|
||||||
|
@TableField(value = "type")
|
||||||
|
private String type;
|
||||||
/**
|
/**
|
||||||
* 版本号
|
* 版本号
|
||||||
*/
|
*/
|
||||||
@@ -81,10 +86,6 @@ public class CsEdDataPO extends BaseEntity {
|
|||||||
@TableField(value = "file_path")
|
@TableField(value = "file_path")
|
||||||
private String filePath;
|
private String filePath;
|
||||||
|
|
||||||
/**
|
|
||||||
* 装置类型
|
|
||||||
*/
|
|
||||||
@TableField(value = "type")
|
|
||||||
private String type;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -52,11 +52,11 @@ public class CsEquipmentDeliveryPO extends BaseEntity {
|
|||||||
@TableField(value = "dev_use")
|
@TableField(value = "dev_use")
|
||||||
private String devUse;
|
private String devUse;
|
||||||
|
|
||||||
/**
|
// /**
|
||||||
* 装置类型(直连设备、网关设备)
|
// * 装置类型(直连设备、网关设备)
|
||||||
*/
|
// */
|
||||||
@TableField(value = "dev_type")
|
// @TableField(value = "dev_type")
|
||||||
private String devType;
|
// private String devType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 装置型号(pqs588、pqs680...)
|
* 装置型号(pqs588、pqs680...)
|
||||||
|
|||||||
@@ -37,6 +37,9 @@ public class AppTopologyDiagramVO extends BaseEntity {
|
|||||||
@ApiModelProperty(value = "项目Id")
|
@ApiModelProperty(value = "项目Id")
|
||||||
private String projectId;
|
private String projectId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "项目名称")
|
||||||
|
private String projectName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 拓扑图文件路径
|
* 拓扑图文件路径
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,10 +1,14 @@
|
|||||||
package com.njcn.algorithm.pojo.vo;
|
package com.njcn.algorithm.pojo.vo;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import com.njcn.db.bo.BaseEntity;
|
import com.njcn.db.bo.BaseEntity;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -46,7 +50,9 @@ public class CsDevModelPageVO extends BaseEntity {
|
|||||||
* 版本日期
|
* 版本日期
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "版本日期")
|
@ApiModelProperty(value = "版本日期")
|
||||||
private LocalDate versionDate;
|
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
|
||||||
|
private Date versionDate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 装置模板文件路径
|
* 装置模板文件路径
|
||||||
|
|||||||
@@ -1,10 +1,13 @@
|
|||||||
package com.njcn.algorithm.pojo.vo;
|
package com.njcn.algorithm.pojo.vo;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import com.njcn.db.bo.BaseEntity;
|
import com.njcn.db.bo.BaseEntity;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -30,7 +33,8 @@ public class CsEdDataVO extends BaseEntity {
|
|||||||
private String devType;
|
private String devType;
|
||||||
@ApiModelProperty(value = "装置名称")
|
@ApiModelProperty(value = "装置名称")
|
||||||
private String devName;
|
private String devName;
|
||||||
|
@ApiModelProperty(value = "装置类型")
|
||||||
|
private String type;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 版本号
|
* 版本号
|
||||||
@@ -47,8 +51,10 @@ public class CsEdDataVO extends BaseEntity {
|
|||||||
/**
|
/**
|
||||||
* 版本日期
|
* 版本日期
|
||||||
*/
|
*/
|
||||||
|
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
|
||||||
@ApiModelProperty(value = "版本日期")
|
@ApiModelProperty(value = "版本日期")
|
||||||
private LocalDate versionDate;
|
private Date versionDate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 描述
|
* 描述
|
||||||
@@ -56,6 +62,9 @@ public class CsEdDataVO extends BaseEntity {
|
|||||||
@ApiModelProperty(value = "描述")
|
@ApiModelProperty(value = "描述")
|
||||||
private String description;
|
private String description;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "状态")
|
||||||
|
private String status;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 版本类型
|
* 版本类型
|
||||||
*/
|
*/
|
||||||
@@ -68,7 +77,6 @@ public class CsEdDataVO extends BaseEntity {
|
|||||||
@ApiModelProperty(value = ".bin文件")
|
@ApiModelProperty(value = ".bin文件")
|
||||||
private String filePath;
|
private String filePath;
|
||||||
|
|
||||||
@ApiModelProperty(value = "type")
|
|
||||||
private String type;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -51,11 +51,11 @@ public class CsEquipmentDeliveryVO extends BaseEntity {
|
|||||||
@ApiModelProperty(value="装置用途")
|
@ApiModelProperty(value="装置用途")
|
||||||
private String devUse;
|
private String devUse;
|
||||||
|
|
||||||
/**
|
// /**
|
||||||
* 装置类型(直连设备、网关设备)
|
// * 装置类型(直连设备、网关设备)
|
||||||
*/
|
// */
|
||||||
@ApiModelProperty(value="装置类型")
|
// @ApiModelProperty(value="装置类型")
|
||||||
private String devType;
|
// private String devType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 装置型号(pqs588、pqs680...)
|
* 装置型号(pqs588、pqs680...)
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
|
|||||||
import com.njcn.algorithm.pojo.po.CsFeedbackChatPO;
|
import com.njcn.algorithm.pojo.po.CsFeedbackChatPO;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -60,7 +61,8 @@ public class CsFeedbackDetailVO {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
|
||||||
private LocalDateTime createTime;
|
private LocalDateTime createTime;
|
||||||
|
|
||||||
private List<String> imageUrls;
|
private List<String> imageUrls;
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package com.njcn.algorithm.pojo.vo;
|
|||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
@@ -59,7 +60,8 @@ public class CsFeedbackVO {
|
|||||||
@ApiModelProperty(value = "未读消息条数")
|
@ApiModelProperty(value = "未读消息条数")
|
||||||
private int chatCount;
|
private int chatCount;
|
||||||
|
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
|
||||||
private LocalDateTime createTime;
|
private LocalDateTime createTime;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
FROM cs_ed_data a
|
FROM cs_ed_data a
|
||||||
LEFT JOIN sys_dict_data b ON a.dev_type = b.id
|
LEFT JOIN sys_dict_data b ON a.dev_type = b.id
|
||||||
WHERE
|
WHERE
|
||||||
1 = 1 And a.`status`='1'
|
1 = 1
|
||||||
<if test="csEdDataQueryParm.versionStartDate != null and csEdDataQueryParm.versionStartDate != ''">
|
<if test="csEdDataQueryParm.versionStartDate != null and csEdDataQueryParm.versionStartDate != ''">
|
||||||
AND a.version_date >= #{csEdDataQueryParm.versionStartDate }
|
AND a.version_date >= #{csEdDataQueryParm.versionStartDate }
|
||||||
</if>
|
</if>
|
||||||
|
|||||||
@@ -6,13 +6,16 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||||
import com.google.common.base.Objects;
|
import com.google.common.base.Objects;
|
||||||
|
import com.njcn.algorithm.mapper.AppProjectMapper;
|
||||||
import com.njcn.algorithm.mapper.AppTopologyDiagramMapper;
|
import com.njcn.algorithm.mapper.AppTopologyDiagramMapper;
|
||||||
import com.njcn.algorithm.pojo.param.AppTopologyDiagramAddParm;
|
import com.njcn.algorithm.pojo.param.AppTopologyDiagramAddParm;
|
||||||
import com.njcn.algorithm.pojo.param.AppTopologyDiagramAuditParm;
|
import com.njcn.algorithm.pojo.param.AppTopologyDiagramAuditParm;
|
||||||
import com.njcn.algorithm.pojo.param.AppTopologyDiagramQueryPageParm;
|
import com.njcn.algorithm.pojo.param.AppTopologyDiagramQueryPageParm;
|
||||||
import com.njcn.algorithm.pojo.param.AppTopologyDiagramQueryParm;
|
import com.njcn.algorithm.pojo.param.AppTopologyDiagramQueryParm;
|
||||||
|
import com.njcn.algorithm.pojo.po.AppProjectPO;
|
||||||
import com.njcn.algorithm.pojo.po.AppTopologyDiagramPO;
|
import com.njcn.algorithm.pojo.po.AppTopologyDiagramPO;
|
||||||
import com.njcn.algorithm.pojo.vo.AppTopologyDiagramVO;
|
import com.njcn.algorithm.pojo.vo.AppTopologyDiagramVO;
|
||||||
|
import com.njcn.algorithm.service.AppProjectService;
|
||||||
import com.njcn.algorithm.service.AppTopologyDiagramService;
|
import com.njcn.algorithm.service.AppTopologyDiagramService;
|
||||||
import com.njcn.oss.constant.OssPath;
|
import com.njcn.oss.constant.OssPath;
|
||||||
import com.njcn.oss.utils.FileStorageUtil;
|
import com.njcn.oss.utils.FileStorageUtil;
|
||||||
@@ -41,6 +44,7 @@ public class AppTopologyDiagramServiceImpl extends MppServiceImpl<AppTopologyDia
|
|||||||
|
|
||||||
|
|
||||||
private final FileStorageUtil fileStorageUtil;
|
private final FileStorageUtil fileStorageUtil;
|
||||||
|
private final AppProjectMapper appServiceMapper;
|
||||||
|
|
||||||
private final AppTopologyDiagramMapper appTopologyDiagramMapper;
|
private final AppTopologyDiagramMapper appTopologyDiagramMapper;
|
||||||
@Override
|
@Override
|
||||||
@@ -91,9 +95,13 @@ public class AppTopologyDiagramServiceImpl extends MppServiceImpl<AppTopologyDia
|
|||||||
eq (StringUtils.isNotBlank (appTopologyDiagramAuditParm.getProjectId ()),"project_id",appTopologyDiagramAuditParm.getProjectId ()).
|
eq (StringUtils.isNotBlank (appTopologyDiagramAuditParm.getProjectId ()),"project_id",appTopologyDiagramAuditParm.getProjectId ()).
|
||||||
like (StringUtils.isNotBlank (appTopologyDiagramAuditParm.getName ()),"name", appTopologyDiagramAuditParm.getName ());
|
like (StringUtils.isNotBlank (appTopologyDiagramAuditParm.getName ()),"name", appTopologyDiagramAuditParm.getName ());
|
||||||
List<AppTopologyDiagramPO> list = this.list (queryWrapper);
|
List<AppTopologyDiagramPO> list = this.list (queryWrapper);
|
||||||
|
|
||||||
List<AppTopologyDiagramVO> collect = list.stream ( ).map (temp -> {
|
List<AppTopologyDiagramVO> collect = list.stream ( ).map (temp -> {
|
||||||
AppTopologyDiagramVO vo = new AppTopologyDiagramVO ( );
|
AppTopologyDiagramVO vo = new AppTopologyDiagramVO ( );
|
||||||
BeanUtils.copyProperties (temp, vo);
|
BeanUtils.copyProperties (temp, vo);
|
||||||
|
|
||||||
|
AppProjectPO appProjectPO = appServiceMapper.selectById(vo.getProjectId());
|
||||||
|
vo.setProjectName(appProjectPO.getName());
|
||||||
vo.setFilePath (fileStorageUtil.getFileUrl (vo.getFilePath ()));
|
vo.setFilePath (fileStorageUtil.getFileUrl (vo.getFilePath ()));
|
||||||
return vo;
|
return vo;
|
||||||
}).collect (Collectors.toList ( ));
|
}).collect (Collectors.toList ( ));
|
||||||
@@ -114,6 +122,9 @@ public class AppTopologyDiagramServiceImpl extends MppServiceImpl<AppTopologyDia
|
|||||||
List<AppTopologyDiagramVO> collect = tempPage.getRecords ( ).stream ( ).map (temp -> {
|
List<AppTopologyDiagramVO> collect = tempPage.getRecords ( ).stream ( ).map (temp -> {
|
||||||
AppTopologyDiagramVO vo = new AppTopologyDiagramVO ( );
|
AppTopologyDiagramVO vo = new AppTopologyDiagramVO ( );
|
||||||
BeanUtils.copyProperties (temp, vo);
|
BeanUtils.copyProperties (temp, vo);
|
||||||
|
|
||||||
|
AppProjectPO appProjectPO = appServiceMapper.selectById(vo.getProjectId());
|
||||||
|
vo.setProjectName(appProjectPO.getName());
|
||||||
vo.setFilePath (fileStorageUtil.getFileUrl (temp.getFilePath ( )));
|
vo.setFilePath (fileStorageUtil.getFileUrl (temp.getFilePath ( )));
|
||||||
return vo;
|
return vo;
|
||||||
}).collect (Collectors.toList ( ));
|
}).collect (Collectors.toList ( ));
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ spring:
|
|||||||
shared-configs:
|
shared-configs:
|
||||||
- data-id: share-config.yaml
|
- data-id: share-config.yaml
|
||||||
refresh: true
|
refresh: true
|
||||||
- data-Id: share-config-datasource-db.yaml
|
- data-Id: algorithm-config.yaml
|
||||||
refresh: true
|
refresh: true
|
||||||
main:
|
main:
|
||||||
allow-bean-definition-overriding: true
|
allow-bean-definition-overriding: true
|
||||||
|
|||||||
@@ -256,6 +256,31 @@ public class PubUtils {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Integer getRunFlag(String runFlag) {
|
||||||
|
switch (runFlag) {
|
||||||
|
case "投运":
|
||||||
|
return 0;
|
||||||
|
case "热备用":
|
||||||
|
return 1;
|
||||||
|
case "停运":
|
||||||
|
return 2;
|
||||||
|
default:
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public static Double getDefectSeverity(String defectSeverity) {
|
||||||
|
switch (defectSeverity) {
|
||||||
|
case "轻缺陷":
|
||||||
|
return 0.02;
|
||||||
|
case "较重缺陷":
|
||||||
|
return 0.12;
|
||||||
|
case "严重缺陷":
|
||||||
|
return 0.42;
|
||||||
|
default:
|
||||||
|
return 0.00;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static String ptType(Integer ptType) {
|
public static String ptType(Integer ptType) {
|
||||||
switch (ptType) {
|
switch (ptType) {
|
||||||
case 0:
|
case 0:
|
||||||
|
|||||||
@@ -32,11 +32,11 @@ public class PmsLedgerStaticDTO implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 根据单位统计监测点数量
|
* 根据单位统计监测点数量
|
||||||
*/
|
*/
|
||||||
private HashMap<String,List<PmsSimpleDTO>> monitorStatisticsByDept;
|
private List<List<PmsSimpleDTO.PmsSimpleOrg>> monitorStatisticsByDept;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*根据单位统计终端数量
|
* 根据单位统计终端数量
|
||||||
*/
|
*/
|
||||||
private HashMap<String,List<PmsSimpleDTO>> terminalStatisticsByDept;
|
private List<List<PmsSimpleDTO.PmsSimpleOrg>> terminalStatisticsByDept;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,10 @@ package com.njcn.device.pms.service;
|
|||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
|
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
|
||||||
import com.njcn.device.pms.pojo.dto.PmsLedgerStaticDTO;
|
import com.njcn.device.pms.pojo.dto.PmsLedgerStaticDTO;
|
||||||
|
import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam;
|
||||||
import com.njcn.device.pms.pojo.po.SubstationExpend;
|
import com.njcn.device.pms.pojo.po.SubstationExpend;
|
||||||
|
import com.njcn.device.pq.pojo.param.CommunicateParam;
|
||||||
|
import com.njcn.device.pq.pojo.vo.CommunicateVO;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -23,5 +26,7 @@ public interface ISubstationExpendService extends IService<SubstationExpend> {
|
|||||||
Map<String, List<SubstationExpend>> getSubstationExpendInfo(StatisticsBizBaseParam param);
|
Map<String, List<SubstationExpend>> getSubstationExpendInfo(StatisticsBizBaseParam param);
|
||||||
|
|
||||||
|
|
||||||
PmsLedgerStaticDTO getLedgerStatistics(PmsDeviceInfoParam param);
|
PmsLedgerStaticDTO getLedgerStatistics(StatisticsBizBaseParam param);
|
||||||
|
|
||||||
|
List<CommunicateVO.PVCommunicateVO> getCommunicationStatus(CommunicateParam param);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import com.njcn.device.pms.pojo.param.PmsBaseParam;
|
|||||||
import com.njcn.device.pms.pojo.param.PmsTerminalParam;
|
import com.njcn.device.pms.pojo.param.PmsTerminalParam;
|
||||||
import com.njcn.device.pms.pojo.param.TerminalQueryParam;
|
import com.njcn.device.pms.pojo.param.TerminalQueryParam;
|
||||||
import com.njcn.device.pms.pojo.po.PmsTerminal;
|
import com.njcn.device.pms.pojo.po.PmsTerminal;
|
||||||
|
import com.njcn.web.pojo.param.BaseParam;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -32,7 +33,12 @@ public interface ITerminalService extends IService<PmsTerminal> {
|
|||||||
*/
|
*/
|
||||||
List<PmsTerminal> getTerminalSelectList(PmsBaseParam pmsBaseParam);
|
List<PmsTerminal> getTerminalSelectList(PmsBaseParam pmsBaseParam);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据终端id集合新查询终端信息
|
||||||
|
* @param ids
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<PmsTerminal> getTerminalSelectByIds(List<String> ids);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据id查询
|
* 根据id查询
|
||||||
|
|||||||
@@ -1,11 +1,13 @@
|
|||||||
package com.njcn.device.pms.service.majornetwork.impl;
|
package com.njcn.device.pms.service.majornetwork.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
||||||
import com.njcn.common.pojo.exception.BusinessException;
|
import com.njcn.common.pojo.exception.BusinessException;
|
||||||
import com.njcn.device.pms.enums.PmsDeviceResponseEnum;
|
import com.njcn.device.pms.enums.PmsDeviceResponseEnum;
|
||||||
|
import com.njcn.device.pms.mapper.majornetwork.StatationStatMapper;
|
||||||
import com.njcn.device.pms.mapper.majornetwork.TerminalMapper;
|
import com.njcn.device.pms.mapper.majornetwork.TerminalMapper;
|
||||||
import com.njcn.device.pms.pojo.param.PmsBaseParam;
|
import com.njcn.device.pms.pojo.param.PmsBaseParam;
|
||||||
import com.njcn.device.pms.pojo.param.PmsTerminalParam;
|
import com.njcn.device.pms.pojo.param.PmsTerminalParam;
|
||||||
@@ -23,11 +25,13 @@ import com.njcn.system.api.DicDataFeignClient;
|
|||||||
import com.njcn.user.api.DeptFeignClient;
|
import com.njcn.user.api.DeptFeignClient;
|
||||||
import com.njcn.user.pojo.po.Dept;
|
import com.njcn.user.pojo.po.Dept;
|
||||||
import com.njcn.web.factory.PageFactory;
|
import com.njcn.web.factory.PageFactory;
|
||||||
|
import com.njcn.web.pojo.param.BaseParam;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
@@ -93,6 +97,14 @@ public class TerminalServiceImpl extends ServiceImpl<TerminalMapper, PmsTerminal
|
|||||||
return this.list(lambdaQueryWrapper);
|
return this.list(lambdaQueryWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<PmsTerminal> getTerminalSelectByIds(List<String> ids) {
|
||||||
|
return this.list(new LambdaQueryWrapper<PmsTerminal>()
|
||||||
|
.in(CollUtil.isNotEmpty(ids),PmsTerminal::getId,ids)
|
||||||
|
.eq(PmsTerminal::getStatus,DataStateEnum.ENABLE.getCode())
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据id查询
|
* 根据id查询
|
||||||
* @author hany
|
* @author hany
|
||||||
|
|||||||
@@ -20,9 +20,6 @@ public class Communicate {
|
|||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
/**
|
|
||||||
* 终端Id
|
|
||||||
*/
|
|
||||||
/**
|
/**
|
||||||
* 更新时间
|
* 更新时间
|
||||||
*/
|
*/
|
||||||
@@ -33,7 +30,11 @@ public class Communicate {
|
|||||||
*/
|
*/
|
||||||
@Column(name = "line_id")
|
@Column(name = "line_id")
|
||||||
private String id;
|
private String id;
|
||||||
|
/**
|
||||||
|
* 终端Id
|
||||||
|
*/
|
||||||
|
@Column(name = "dev_id")
|
||||||
|
private String devId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 事件类型(0:中断;1:正常;2:退出)
|
* 事件类型(0:中断;1:正常;2:退出)
|
||||||
|
|||||||
@@ -438,14 +438,29 @@ public class ReportServiceImpl implements ReportService {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Page<DetailVO> getContinueTime(WaveTypeParam waveTypeParam) {
|
public Page<DetailVO> getContinueTime(WaveTypeParam waveTypeParam) {
|
||||||
|
List<String> lineIds =new ArrayList<>();
|
||||||
|
String eventType="";
|
||||||
List<DetailVO> result = new ArrayList<>();
|
List<DetailVO> result = new ArrayList<>();
|
||||||
List<GeneralDeviceDTO> deviceDTOList = generalDeviceInfoClient.getPracticalAllDeviceInfo(waveTypeParam).getData();
|
if(waveTypeParam.getType()==0){
|
||||||
List<String> lineIds = deviceDTOList.stream().flatMap(list -> list.getLineIndexes().stream()).collect(Collectors.toList());
|
//pq系统
|
||||||
|
List<GeneralDeviceDTO> deviceDTOList = generalDeviceInfoClient.getPracticalAllDeviceInfo(waveTypeParam).getData();
|
||||||
|
lineIds =deviceDTOList.stream().flatMap(list -> list.getLineIndexes().stream()).collect(Collectors.toList());
|
||||||
|
}else{
|
||||||
|
//pms系统
|
||||||
|
PmsDeviceInfoParam param=new PmsDeviceInfoParam();
|
||||||
|
param.setDeptIndex(waveTypeParam.getDeptIndex());
|
||||||
|
param.setStatisticalType(waveTypeParam.getStatisticalType());
|
||||||
|
List<PmsGeneralDeviceDTO> data = pmsGeneralDeviceInfoClient.getPmsDeviceInfoWithInOrg(param).getData();
|
||||||
|
lineIds =data.stream().flatMap(list -> list.getMonitorIdList().stream()).collect(Collectors.toList());
|
||||||
|
eventType=dicDataFeignClient.getDicDataByCode(DicDataEnum.VOLTAGE_DIP.getCode()).getData().getId();
|
||||||
|
}
|
||||||
|
|
||||||
if (CollectionUtil.isEmpty(lineIds)) {
|
if (CollectionUtil.isEmpty(lineIds)) {
|
||||||
throw new BusinessException(DeviceResponseEnum.DEPT_LINE_EMPTY);
|
throw new BusinessException(DeviceResponseEnum.DEPT_LINE_EMPTY);
|
||||||
}
|
}
|
||||||
Page<RmpEventDetailPO> pageInfo = eventDetailService.page(new Page<>(waveTypeParam.getPageNum(), waveTypeParam.getPageSize()), new LambdaQueryWrapper<RmpEventDetailPO>()
|
Page<RmpEventDetailPO> pageInfo = eventDetailService.page(new Page<>(waveTypeParam.getPageNum(), waveTypeParam.getPageSize()), new LambdaQueryWrapper<RmpEventDetailPO>()
|
||||||
.in(RmpEventDetailPO::getMeasurementPointId, lineIds)
|
.in(RmpEventDetailPO::getMeasurementPointId, lineIds)
|
||||||
|
.eq(StrUtil.isNotBlank(eventType),RmpEventDetailPO::getEventType,eventType)
|
||||||
.ge(StringUtils.isNotBlank(waveTypeParam.getSearchBeginTime()), RmpEventDetailPO::getStartTime,DateUtil.beginOfDay(DateUtil.parse(waveTypeParam.getSearchBeginTime())))
|
.ge(StringUtils.isNotBlank(waveTypeParam.getSearchBeginTime()), RmpEventDetailPO::getStartTime,DateUtil.beginOfDay(DateUtil.parse(waveTypeParam.getSearchBeginTime())))
|
||||||
.le(StringUtils.isNotBlank(waveTypeParam.getSearchEndTime()), RmpEventDetailPO::getStartTime, DateUtil.endOfDay(DateUtil.parse(waveTypeParam.getSearchEndTime())))
|
.le(StringUtils.isNotBlank(waveTypeParam.getSearchEndTime()), RmpEventDetailPO::getStartTime, DateUtil.endOfDay(DateUtil.parse(waveTypeParam.getSearchEndTime())))
|
||||||
);
|
);
|
||||||
@@ -458,15 +473,36 @@ public class ReportServiceImpl implements ReportService {
|
|||||||
result.add(vo);
|
result.add(vo);
|
||||||
idlist.add(eventDetail.getLineId());
|
idlist.add(eventDetail.getLineId());
|
||||||
}
|
}
|
||||||
HttpResult<List<AreaLineInfoVO>> AreaInfo = lineFeignClient.getBaseLineAreaInfo(idlist);
|
if(waveTypeParam.getType()==0){
|
||||||
List<AreaLineInfoVO> data = AreaInfo.getData();
|
//pq系统
|
||||||
for (DetailVO detailVO : result) {
|
HttpResult<List<AreaLineInfoVO>> AreaInfo = lineFeignClient.getBaseLineAreaInfo(idlist);
|
||||||
for (AreaLineInfoVO vo : data) {
|
List<AreaLineInfoVO> data = AreaInfo.getData();
|
||||||
if (vo.getLineId().equals(detailVO.getLineId())) {
|
for (DetailVO detailVO : result) {
|
||||||
BeanUtils.copyProperties(vo, detailVO);
|
for (AreaLineInfoVO vo : data) {
|
||||||
|
if (vo.getLineId().equals(detailVO.getLineId())) {
|
||||||
|
BeanUtils.copyProperties(vo, detailVO);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}else{
|
||||||
|
//pms系统
|
||||||
|
List<Monitor> monitorInfo = monitorClient.getMonitorList(idlist).getData();
|
||||||
|
for (DetailVO detailVO : result) {
|
||||||
|
for (Monitor vo : monitorInfo) {
|
||||||
|
if (vo.getId().equals(detailVO.getLineId())) {
|
||||||
|
detailVO.setLineId(vo.getId());
|
||||||
|
detailVO.setLineName(vo.getName());
|
||||||
|
detailVO.setSubId(vo.getPowerrId());
|
||||||
|
detailVO.setSubName(vo.getPowerrName());
|
||||||
|
detailVO.setGdId(vo.getOrgId());
|
||||||
|
detailVO.setGdName(vo.getOrgName());
|
||||||
|
detailVO.setVoltageScale(vo.getVoltageLevel());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
HttpResult<List<DictData>> reason = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.EVENT_TYPE.getName());
|
HttpResult<List<DictData>> reason = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.EVENT_TYPE.getName());
|
||||||
List<DictData> type = reason.getData();
|
List<DictData> type = reason.getData();
|
||||||
for (DetailVO detailVO : result) {
|
for (DetailVO detailVO : result) {
|
||||||
|
|||||||
@@ -125,6 +125,13 @@ spring:
|
|||||||
filters:
|
filters:
|
||||||
- SwaggerHeaderFilter
|
- SwaggerHeaderFilter
|
||||||
- StripPrefix=1
|
- StripPrefix=1
|
||||||
|
- id: algorithm-boot
|
||||||
|
uri: lb://algorithm-boot
|
||||||
|
predicates:
|
||||||
|
- Path=/algorithm-boot/**
|
||||||
|
filters:
|
||||||
|
- SwaggerHeaderFilter
|
||||||
|
- StripPrefix=1
|
||||||
#项目日志的配置
|
#项目日志的配置
|
||||||
logging:
|
logging:
|
||||||
config: http://@nacos.url@/nacos/v1/cs/configs?tenant=@nacos.namespace@&group=DEFAULT_GROUP&dataId=logback.xml
|
config: http://@nacos.url@/nacos/v1/cs/configs?tenant=@nacos.namespace@&group=DEFAULT_GROUP&dataId=logback.xml
|
||||||
|
|||||||
@@ -33,6 +33,9 @@ public class RMpMonitorEvaluateDPO {
|
|||||||
@MppMultiId(value = "measurement_point_id")
|
@MppMultiId(value = "measurement_point_id")
|
||||||
private String measurementPointId;
|
private String measurementPointId;
|
||||||
|
|
||||||
|
@TableField(value = "device_id")
|
||||||
|
private String deviceId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 总接入分钟数
|
* 总接入分钟数
|
||||||
*/
|
*/
|
||||||
@@ -54,7 +57,6 @@ public class RMpMonitorEvaluateDPO {
|
|||||||
/**
|
/**
|
||||||
* 相电压有效值平均值指标数据个数
|
* 相电压有效值平均值指标数据个数
|
||||||
*/
|
*/
|
||||||
@TableField(value = "phase_voltage_count")
|
|
||||||
private Integer phaseVoltageCount;
|
private Integer phaseVoltageCount;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -0,0 +1,31 @@
|
|||||||
|
package com.njcn.prepare.harmonic.pojo.param;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotBlank;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Description:
|
||||||
|
* Date: 2023/5/4 15:18【需求编号】
|
||||||
|
*
|
||||||
|
* @author clam
|
||||||
|
* @version V1.0.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class DeviceParam {
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "devId",value = "终端id")
|
||||||
|
private String devId;
|
||||||
|
|
||||||
|
private String updateTime;
|
||||||
|
@ApiModelProperty(name = "lineIds",value = "监测点索引集合")
|
||||||
|
private List<String> lineIds;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "dataDate",value = "时间")
|
||||||
|
@NotBlank(message = "报表时间不可为空")
|
||||||
|
private String dataDate;
|
||||||
|
|
||||||
|
private String deviceStatus;
|
||||||
|
}
|
||||||
@@ -0,0 +1,86 @@
|
|||||||
|
package com.njcn.prepare.harmonic.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 java.util.Date;
|
||||||
|
|
||||||
|
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* Date: 2023/5/9 15:43【需求编号】
|
||||||
|
*
|
||||||
|
* @author clam
|
||||||
|
* @version V1.0.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName(value = "r_mp_dev_solve_detail")
|
||||||
|
public class RMpDevSolveDetailPO {
|
||||||
|
/**
|
||||||
|
* 终端id
|
||||||
|
*/
|
||||||
|
@MppMultiId(value = "device_id")
|
||||||
|
private String deviceId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生成数据的时间,每天统计一次
|
||||||
|
*/
|
||||||
|
@MppMultiId(value = "data_date")
|
||||||
|
private Date dataDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 故障时间
|
||||||
|
*/
|
||||||
|
@TableField(value = "break_down_date")
|
||||||
|
private Date breakDownDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 故障类型
|
||||||
|
*/
|
||||||
|
@TableField(value = "break_down_type")
|
||||||
|
private String breakDownType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否消缺(0:否 1:是)
|
||||||
|
*/
|
||||||
|
@TableField(value = "is_solve")
|
||||||
|
private String isSolve;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 消缺时间
|
||||||
|
*/
|
||||||
|
@TableField(value = "solve_date")
|
||||||
|
private Date solveDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 消缺措施
|
||||||
|
*/
|
||||||
|
@TableField(value = "defect_treatment")
|
||||||
|
private String defectTreatment;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 缺陷严重度(轻缺陷、较重缺陷和严重缺陷 三类缺陷对应分值为0.02,0.12和0.42,消缺为对应缺陷分值的1/3)
|
||||||
|
*/
|
||||||
|
@TableField(value = "defect_severity")
|
||||||
|
private String defectSeverity;
|
||||||
|
|
||||||
|
public static final String COL_DEVICE_ID = "device_id";
|
||||||
|
|
||||||
|
public static final String COL_DATA_DATE = "data_date";
|
||||||
|
|
||||||
|
public static final String COL_BREAK_DOWN_DATE = "break_down_date";
|
||||||
|
|
||||||
|
public static final String COL_BREAK_DOWN_TYPE = "break_down_type";
|
||||||
|
|
||||||
|
public static final String COL_IS_SOLVE = "is_solve";
|
||||||
|
|
||||||
|
public static final String COL_SOLVE_DATE = "solve_date";
|
||||||
|
|
||||||
|
public static final String COL_DEFECT_TREATMENT = "defect_treatment";
|
||||||
|
|
||||||
|
public static final String COL_DEFECT_SEVERITY = "defect_severity";
|
||||||
|
}
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
package com.njcn.prepare.harmonic.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 java.util.Date;
|
||||||
|
|
||||||
|
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Description:
|
||||||
|
* Date: 2023/5/4 14:30【需求编号】
|
||||||
|
*
|
||||||
|
* @author clam
|
||||||
|
* @version V1.0.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName(value = "r_stat_dev_signal_d")
|
||||||
|
public class RStatDevSignalDPO {
|
||||||
|
/**
|
||||||
|
* 更新时间
|
||||||
|
*/
|
||||||
|
@MppMultiId(value = "data_date")
|
||||||
|
private Date dataDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 终端Id
|
||||||
|
*/
|
||||||
|
@MppMultiId(value = "dev_id")
|
||||||
|
private String devId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备状态
|
||||||
|
*/
|
||||||
|
@TableField(value = "device_status")
|
||||||
|
private String deviceStatus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 运行状态
|
||||||
|
*/
|
||||||
|
@TableField(value = "run_status")
|
||||||
|
private String runStatus;
|
||||||
|
|
||||||
|
@TableField(value = "update_time")
|
||||||
|
private String updateTime;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
package com.njcn.prepare.harmonic.controller.newalgorithm;
|
||||||
|
|
||||||
|
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.prepare.harmonic.pojo.param.DeviceParam;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.area.RMpDevEvaluateDetailPOService;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.device.RStatDevSignalDPOService;
|
||||||
|
import com.njcn.web.controller.BaseController;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiImplicitParam;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Description:
|
||||||
|
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||||
|
* Date: 2022/12/28 13:47【需求编号】
|
||||||
|
*
|
||||||
|
* @author clam
|
||||||
|
* @version V1.0.0
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Api(tags = "终端数据评价")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/rMpDevEvaluateDetail")
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class RMpDevEvaluateDetailController extends BaseController {
|
||||||
|
|
||||||
|
|
||||||
|
private final RMpDevEvaluateDetailPOService rMpDevEvaluateDetailPOService;
|
||||||
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||||
|
@PostMapping("/handler")
|
||||||
|
@ApiOperation("终端数据评价_日统计")
|
||||||
|
@ApiImplicitParam(name = "deviceParamList", value = "参数", required = true)
|
||||||
|
public HttpResult<String> handler(@RequestBody @Validated List<DeviceParam> deviceParamList){
|
||||||
|
log.info(LocalDateTime.now()+"handler始执行");
|
||||||
|
String methodDescribe = getMethodDescribe("handler");
|
||||||
|
|
||||||
|
|
||||||
|
rMpDevEvaluateDetailPOService.handler (deviceParamList);
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
package com.njcn.prepare.harmonic.controller.newalgorithm;
|
||||||
|
|
||||||
|
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.api.LineFeignClient;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.param.DeviceParam;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.device.RStatDevSignalDPOService;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.line.RMpEventDetailService;
|
||||||
|
import com.njcn.web.controller.BaseController;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiImplicitParam;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.util.CollectionUtils;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Description:
|
||||||
|
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||||
|
* Date: 2022/12/28 13:47【需求编号】
|
||||||
|
*
|
||||||
|
* @author clam
|
||||||
|
* @version V1.0.0
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Api(tags = "终端通信管理")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/rstatdevsignal")
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class RStatDevSignalController extends BaseController {
|
||||||
|
|
||||||
|
|
||||||
|
private final RStatDevSignalDPOService rStatDevSignalDPOService;
|
||||||
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||||
|
@PostMapping("/rstatdevsignalHandler")
|
||||||
|
@ApiOperation("终端通信管理_日统计")
|
||||||
|
@ApiImplicitParam(name = "deviceParamList", value = "参数", required = true)
|
||||||
|
public HttpResult<String> rstatdevsignalHandler(@RequestBody @Validated List<DeviceParam> deviceParamList){
|
||||||
|
log.info(LocalDateTime.now()+"rstatdevsignalHandler始执行");
|
||||||
|
String methodDescribe = getMethodDescribe("rstatdevsignalHandler");
|
||||||
|
|
||||||
|
|
||||||
|
rStatDevSignalDPOService.eventdetailHandler (deviceParamList);
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.njcn.prepare.harmonic.mapper.mysql.device;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.po.RMpDevSolveDetailPO;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* Date: 2023/5/9 15:43【需求编号】
|
||||||
|
*
|
||||||
|
* @author clam
|
||||||
|
* @version V1.0.0
|
||||||
|
*/
|
||||||
|
public interface RMpDevSolveDetailPOMapper extends MppBaseMapper<RMpDevSolveDetailPO> {
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package com.njcn.prepare.harmonic.mapper.mysql.device;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.po.RStatDevSignalDPO;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Description:
|
||||||
|
* Date: 2023/5/4 14:30【需求编号】
|
||||||
|
*
|
||||||
|
* @author clam
|
||||||
|
* @version V1.0.0
|
||||||
|
*/
|
||||||
|
public interface RStatDevSignalDPOMapper extends MppBaseMapper<RStatDevSignalDPO> {
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
<?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.prepare.harmonic.mapper.mysql.device.RMpDevSolveDetailPOMapper">
|
||||||
|
<resultMap id="BaseResultMap" type="com.njcn.prepare.harmonic.pojo.po.RMpDevSolveDetailPO">
|
||||||
|
<!--@mbg.generated-->
|
||||||
|
<!--@Table r_mp_dev_solve_detail-->
|
||||||
|
<id column="device_id" jdbcType="VARCHAR" property="deviceId" />
|
||||||
|
<id column="data_date" jdbcType="TIMESTAMP" property="dataDate" />
|
||||||
|
<result column="break_down_date" jdbcType="TIMESTAMP" property="breakDownDate" />
|
||||||
|
<result column="break_down_type" jdbcType="VARCHAR" property="breakDownType" />
|
||||||
|
<result column="is_solve" jdbcType="TINYINT" property="isSolve" />
|
||||||
|
<result column="solve_date" jdbcType="TIMESTAMP" property="solveDate" />
|
||||||
|
<result column="defect_treatment" jdbcType="LONGVARCHAR" property="defectTreatment" />
|
||||||
|
<result column="defect_severity" jdbcType="VARCHAR" property="defectSeverity" />
|
||||||
|
</resultMap>
|
||||||
|
<sql id="Base_Column_List">
|
||||||
|
<!--@mbg.generated-->
|
||||||
|
device_id, data_date, break_down_date, break_down_type, is_solve, solve_date, defect_treatment,
|
||||||
|
defect_severity
|
||||||
|
</sql>
|
||||||
|
</mapper>
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
<?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.prepare.harmonic.mapper.mysql.device.RStatDevSignalDPOMapper">
|
||||||
|
<resultMap id="BaseResultMap" type="com.njcn.prepare.harmonic.pojo.po.RStatDevSignalDPO">
|
||||||
|
<!--@mbg.generated-->
|
||||||
|
<!--@Table r_stat_dev_signal_d-->
|
||||||
|
<id column="data_date" jdbcType="TIMESTAMP" property="dataDate" />
|
||||||
|
<id column="dev_id" jdbcType="VARCHAR" property="devId" />
|
||||||
|
<result column="device_status" jdbcType="VARCHAR" property="deviceStatus" />
|
||||||
|
<result column="run_status" jdbcType="VARCHAR" property="runStatus" />
|
||||||
|
</resultMap>
|
||||||
|
<sql id="Base_Column_List">
|
||||||
|
<!--@mbg.generated-->
|
||||||
|
data_date, dev_id, device_status, run_status
|
||||||
|
</sql>
|
||||||
|
</mapper>
|
||||||
@@ -1,10 +1,33 @@
|
|||||||
package com.njcn.prepare.harmonic.service.mysql.Impl.area;
|
package com.njcn.prepare.harmonic.service.mysql.Impl.area;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||||
|
import com.njcn.common.utils.PubUtils;
|
||||||
import com.njcn.harmonic.pojo.po.RMpDevEvaluateDetailPO;
|
import com.njcn.harmonic.pojo.po.RMpDevEvaluateDetailPO;
|
||||||
import com.njcn.prepare.harmonic.mapper.mysql.area.RMpDevEvaluateDetailPOMapper;
|
import com.njcn.prepare.harmonic.mapper.mysql.area.RMpDevEvaluateDetailPOMapper;
|
||||||
|
import com.njcn.prepare.harmonic.mapper.mysql.line.ROperatingMonitorDMapper;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.mysql.RMpMonitorEvaluateDPO;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.mysql.ROperatingMonitorDPO;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.param.DeviceParam;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.po.RMpDevSolveDetailPO;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.po.RStatDevSignalDPO;
|
||||||
import com.njcn.prepare.harmonic.service.mysql.area.RMpDevEvaluateDetailPOService;
|
import com.njcn.prepare.harmonic.service.mysql.area.RMpDevEvaluateDetailPOService;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.area.ROperatingIndexDPOService;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.device.RMpDevSolveDetailPOService;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.SneakyThrows;
|
||||||
|
import org.springframework.scheduling.annotation.Async;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.text.DecimalFormat;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.OptionalDouble;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* Description:
|
* Description:
|
||||||
@@ -15,6 +38,61 @@ import org.springframework.stereotype.Service;
|
|||||||
* @version V1.0.0
|
* @version V1.0.0
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
public class RMpDevEvaluateDetailPOServiceImpl extends MppServiceImpl<RMpDevEvaluateDetailPOMapper, RMpDevEvaluateDetailPO> implements RMpDevEvaluateDetailPOService{
|
public class RMpDevEvaluateDetailPOServiceImpl extends MppServiceImpl<RMpDevEvaluateDetailPOMapper, RMpDevEvaluateDetailPO> implements RMpDevEvaluateDetailPOService{
|
||||||
|
|
||||||
|
private final ROperatingMonitorDMapper rOperatingMonitorDMapper;
|
||||||
|
private final RMpDevSolveDetailPOService rMpDevSolveDetailPOService;
|
||||||
|
private final DecimalFormat df = new DecimalFormat("#.00");
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = {Exception.class})
|
||||||
|
@Async("asyncExecutor")
|
||||||
|
@SneakyThrows
|
||||||
|
public void handler(List<DeviceParam> deviceParamList) {
|
||||||
|
|
||||||
|
List<RMpDevEvaluateDetailPO> rMpDevEvaluateDetailPOList = new ArrayList<>();
|
||||||
|
Date date = DateUtil.parse(deviceParamList.get(0).getDataDate());
|
||||||
|
QueryWrapper<ROperatingMonitorDPO> wrapper = new QueryWrapper<>();
|
||||||
|
QueryWrapper<RMpDevSolveDetailPO> wrapper1 = new QueryWrapper<>();
|
||||||
|
|
||||||
|
deviceParamList.forEach(temp -> {
|
||||||
|
|
||||||
|
RMpDevEvaluateDetailPO rMpDevEvaluateDetailPO = new RMpDevEvaluateDetailPO();
|
||||||
|
rMpDevEvaluateDetailPO.setDeviceId(temp.getDevId());
|
||||||
|
rMpDevEvaluateDetailPO.setDataDate(date);
|
||||||
|
|
||||||
|
wrapper.clear();
|
||||||
|
wrapper1.clear();
|
||||||
|
wrapper1.select(RMpDevSolveDetailPO.COL_DEFECT_SEVERITY).
|
||||||
|
eq(RMpDevSolveDetailPO.COL_DEVICE_ID,temp.getDevId()).
|
||||||
|
eq(RMpDevSolveDetailPO.COL_DATA_DATE, temp.getDataDate());
|
||||||
|
RMpDevSolveDetailPO one = rMpDevSolveDetailPOService.getOne(wrapper1);
|
||||||
|
Double defectSeverity = PubUtils.getDefectSeverity(one.getDefectSeverity());
|
||||||
|
rMpDevEvaluateDetailPO.setDevScore(Double.valueOf(df.format(defectSeverity/3)));
|
||||||
|
|
||||||
|
List<ROperatingMonitorDPO> rOperatingMonitorDPOS = new ArrayList<>();
|
||||||
|
|
||||||
|
List<String> lineIds = temp.getLineIds();
|
||||||
|
if(lineIds.size() > 0){
|
||||||
|
wrapper.in("measurement_point_id", lineIds);
|
||||||
|
rOperatingMonitorDPOS = rOperatingMonitorDMapper.selectList(wrapper);
|
||||||
|
}
|
||||||
|
double asDouble1=0.00 ,asDouble2=0.00,aDouble=0.00;
|
||||||
|
if(rOperatingMonitorDPOS.size()>0){
|
||||||
|
asDouble1= rOperatingMonitorDPOS.stream().mapToDouble(po -> po.getDataIntegrityRate().doubleValue()).average().getAsDouble();
|
||||||
|
asDouble2 = rOperatingMonitorDPOS.stream().mapToDouble(po -> po.getIndexIntegrityRate().doubleValue()).average().getAsDouble();
|
||||||
|
long count = rOperatingMonitorDPOS.stream().filter(po -> po.getIsUnusual() == 1 && po.getDataIntegrityRate().compareTo(new BigDecimal(0.95)) == 1).count();
|
||||||
|
aDouble = Double.valueOf(count) / rOperatingMonitorDPOS.size();
|
||||||
|
}
|
||||||
|
rMpDevEvaluateDetailPO.setDevDataRate(Double.valueOf(df.format(asDouble1)));
|
||||||
|
rMpDevEvaluateDetailPO.setDevTargetRate(Double.valueOf(df.format(asDouble2)));
|
||||||
|
rMpDevEvaluateDetailPO.setDevEffectiveRate(Double.valueOf(df.format(aDouble)));
|
||||||
|
rMpDevEvaluateDetailPOList.add(rMpDevEvaluateDetailPO);
|
||||||
|
|
||||||
|
});
|
||||||
|
this.saveOrUpdateBatchByMultiId(rMpDevEvaluateDetailPOList,500);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,22 @@
|
|||||||
|
package com.njcn.prepare.harmonic.service.mysql.Impl.device;
|
||||||
|
|
||||||
|
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.njcn.prepare.harmonic.mapper.mysql.device.RMpDevSolveDetailPOMapper;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.po.RMpDevSolveDetailPO;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.device.RMpDevSolveDetailPOService;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* Date: 2023/5/9 15:43【需求编号】
|
||||||
|
*
|
||||||
|
* @author clam
|
||||||
|
* @version V1.0.0
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class RMpDevSolveDetailPOServiceImpl extends MppServiceImpl<RMpDevSolveDetailPOMapper, RMpDevSolveDetailPO> implements RMpDevSolveDetailPOService{
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,74 @@
|
|||||||
|
package com.njcn.prepare.harmonic.service.mysql.Impl.device;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||||
|
import com.njcn.prepare.harmonic.mapper.mysql.line.RMpMonitorEvaluateDMapper;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.mysql.RMpMonitorEvaluateDPO;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.param.DeviceParam;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.SneakyThrows;
|
||||||
|
import org.springframework.scheduling.annotation.Async;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import com.njcn.prepare.harmonic.mapper.mysql.device.RStatDevSignalDPOMapper;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.po.RStatDevSignalDPO;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.device.RStatDevSignalDPOService;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* Date: 2023/5/4 14:25【需求编号】
|
||||||
|
*
|
||||||
|
* @author clam
|
||||||
|
* @version V1.0.0
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class RStatDevSignalDPOServiceImpl extends MppServiceImpl<RStatDevSignalDPOMapper,RStatDevSignalDPO > implements RStatDevSignalDPOService{
|
||||||
|
|
||||||
|
private final RMpMonitorEvaluateDMapper revaluateDMapper;
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = {Exception.class})
|
||||||
|
@Async("asyncExecutor")
|
||||||
|
@SneakyThrows
|
||||||
|
public void eventdetailHandler(List<DeviceParam> deviceParamList) {
|
||||||
|
List<RStatDevSignalDPO> rStatDevSignalDPOList = new ArrayList<>();
|
||||||
|
Date date = DateUtil.parse(deviceParamList.get(0).getDataDate());
|
||||||
|
QueryWrapper<RMpMonitorEvaluateDPO> wrapper = new QueryWrapper<>();
|
||||||
|
deviceParamList.forEach(temp -> {
|
||||||
|
|
||||||
|
RStatDevSignalDPO rStatDevSignalDPO = new RStatDevSignalDPO();
|
||||||
|
rStatDevSignalDPO.setDevId(temp.getDevId());
|
||||||
|
rStatDevSignalDPO.setDeviceStatus(temp.getDeviceStatus());
|
||||||
|
rStatDevSignalDPO.setUpdateTime(temp.getUpdateTime());
|
||||||
|
rStatDevSignalDPO.setDataDate(date);
|
||||||
|
/**
|
||||||
|
* 1、运行状态:设备下任意一个监测点有效接入分钟数(effective_minute_count > 0)为在线状态,反之离线状态
|
||||||
|
*/
|
||||||
|
Integer effective_minute_count = 0;
|
||||||
|
List<String> lineIds = temp.getLineIds();
|
||||||
|
if(lineIds.size() > 0){
|
||||||
|
wrapper.clear();
|
||||||
|
wrapper.select("sum(effective_minute_count) as effective_minute_count ");
|
||||||
|
wrapper.eq("device_id", temp.getDevId());
|
||||||
|
wrapper.in("measurement_point_id", lineIds);
|
||||||
|
RMpMonitorEvaluateDPO rMpMonitorEvaluateDPO = revaluateDMapper.selectOne(wrapper);
|
||||||
|
effective_minute_count = rMpMonitorEvaluateDPO.getEffectiveMinuteCount();
|
||||||
|
}
|
||||||
|
String runStatus = "0";
|
||||||
|
if(effective_minute_count>0&&temp.getDeviceStatus().equals("0")){
|
||||||
|
runStatus = "1";
|
||||||
|
}
|
||||||
|
rStatDevSignalDPO.setRunStatus(runStatus);
|
||||||
|
rStatDevSignalDPOList.add(rStatDevSignalDPO);
|
||||||
|
|
||||||
|
});
|
||||||
|
this.saveOrUpdateBatchByMultiId(rStatDevSignalDPOList,500);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -63,6 +63,8 @@ public class RMpMonitorEvaluateDServiceImpl extends MppServiceImpl<RMpMonitorEva
|
|||||||
|
|
||||||
indexLists.forEach (temp -> {
|
indexLists.forEach (temp -> {
|
||||||
LineDetailDataVO data = lineFeignClient.getLineDetailData (temp).getData ( );
|
LineDetailDataVO data = lineFeignClient.getLineDetailData (temp).getData ( );
|
||||||
|
String devid = lineFeignClient.getLineIdByDevId(temp).getData();
|
||||||
|
|
||||||
|
|
||||||
/*todo 统计间隔,电压等级取值方式后期提供融合版本接口获取不然pms,pqs系统取值方式不一样*/
|
/*todo 统计间隔,电压等级取值方式后期提供融合版本接口获取不然pms,pqs系统取值方式不一样*/
|
||||||
/*统计间隔*/
|
/*统计间隔*/
|
||||||
@@ -84,6 +86,7 @@ public class RMpMonitorEvaluateDServiceImpl extends MppServiceImpl<RMpMonitorEva
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
rMpMonitorEvaluateDPO.setAllMinuteCount (fiveItems.size ());
|
rMpMonitorEvaluateDPO.setAllMinuteCount (fiveItems.size ());
|
||||||
|
rMpMonitorEvaluateDPO.setDeviceId(devid);
|
||||||
rMpMonitorEvaluateDPO.setDataDate (date);
|
rMpMonitorEvaluateDPO.setDataDate (date);
|
||||||
rMpMonitorEvaluateDPO.setMeasurementPointId (temp);
|
rMpMonitorEvaluateDPO.setMeasurementPointId (temp);
|
||||||
rMpMonitorEvaluateDPO.setPltCount (twoFlickerData.getPltCount ());
|
rMpMonitorEvaluateDPO.setPltCount (twoFlickerData.getPltCount ());
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.njcn.prepare.harmonic.service.mysql.Impl.line;
|
|||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||||
|
import com.njcn.common.utils.PubUtils;
|
||||||
import com.njcn.device.pq.api.LineFeignClient;
|
import com.njcn.device.pq.api.LineFeignClient;
|
||||||
import com.njcn.device.pq.pojo.vo.LineDetailDataVO;
|
import com.njcn.device.pq.pojo.vo.LineDetailDataVO;
|
||||||
import com.njcn.prepare.harmonic.mapper.mysql.line.ROperatingMonitorDMapper;
|
import com.njcn.prepare.harmonic.mapper.mysql.line.ROperatingMonitorDMapper;
|
||||||
@@ -108,7 +109,7 @@ public class ROperatingMonitorDServiceImpl extends MppServiceImpl<ROperatingMoni
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
rOperatingMonitorDPO.setDevId (devid);
|
rOperatingMonitorDPO.setDevId (devid);
|
||||||
rOperatingMonitorDPO.setMonitorState (data.getRunFlag());
|
rOperatingMonitorDPO.setMonitorState (PubUtils.getRunFlag(data.getRunFlag())+"");
|
||||||
rOperatingMonitorDPOList.add (rOperatingMonitorDPO);
|
rOperatingMonitorDPOList.add (rOperatingMonitorDPO);
|
||||||
});
|
});
|
||||||
this.saveOrUpdateBatchByMultiId (rOperatingMonitorDPOList,500);
|
this.saveOrUpdateBatchByMultiId (rOperatingMonitorDPOList,500);
|
||||||
|
|||||||
@@ -2,6 +2,9 @@ package com.njcn.prepare.harmonic.service.mysql.area;
|
|||||||
|
|
||||||
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||||
import com.njcn.harmonic.pojo.po.RMpDevEvaluateDetailPO;
|
import com.njcn.harmonic.pojo.po.RMpDevEvaluateDetailPO;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.param.DeviceParam;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -15,4 +18,5 @@ import com.njcn.harmonic.pojo.po.RMpDevEvaluateDetailPO;
|
|||||||
public interface RMpDevEvaluateDetailPOService extends IMppService<RMpDevEvaluateDetailPO> {
|
public interface RMpDevEvaluateDetailPOService extends IMppService<RMpDevEvaluateDetailPO> {
|
||||||
|
|
||||||
|
|
||||||
|
void handler(List<DeviceParam> deviceParamList);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package com.njcn.prepare.harmonic.service.mysql.device;
|
||||||
|
|
||||||
|
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.po.RMpDevSolveDetailPO;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* Date: 2023/5/9 15:43【需求编号】
|
||||||
|
*
|
||||||
|
* @author clam
|
||||||
|
* @version V1.0.0
|
||||||
|
*/
|
||||||
|
public interface RMpDevSolveDetailPOService extends IMppService<RMpDevSolveDetailPO> {
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
package com.njcn.prepare.harmonic.service.mysql.device;
|
||||||
|
|
||||||
|
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.param.DeviceParam;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.po.RStatDevSignalDPO;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* Date: 2023/5/4 14:25【需求编号】
|
||||||
|
*
|
||||||
|
* @author clam
|
||||||
|
* @version V1.0.0
|
||||||
|
*/
|
||||||
|
public interface RStatDevSignalDPOService extends IMppService<RStatDevSignalDPO> {
|
||||||
|
|
||||||
|
|
||||||
|
void eventdetailHandler(List<DeviceParam> deviceParamList);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user