Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -31,7 +31,8 @@ public class CsEdDataAddParm {
|
||||
@ApiModelProperty(value = "装置型号")
|
||||
@NotBlank(message="装置型号不能为空!")
|
||||
private String devType;
|
||||
|
||||
@ApiModelProperty(value = "装置类型")
|
||||
private String type;
|
||||
/**
|
||||
* 版本号
|
||||
*/
|
||||
|
||||
@@ -8,6 +8,7 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -30,7 +31,8 @@ public class CsEdDataAuditParm {
|
||||
*/
|
||||
@ApiModelProperty(value = "装置型号")
|
||||
private String devType;
|
||||
|
||||
@ApiModelProperty(value = "装置类型")
|
||||
private String type;
|
||||
/**
|
||||
* 版本号
|
||||
*/
|
||||
@@ -49,7 +51,7 @@ public class CsEdDataAuditParm {
|
||||
@ApiModelProperty(value = "版本日期")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@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信息")
|
||||
private String crcInfo;
|
||||
|
||||
@ApiModelProperty(value="0:删除 1:正常")
|
||||
private String status;
|
||||
@ApiModelProperty(value = ".bin文件")
|
||||
private MultipartFile file;
|
||||
|
||||
|
||||
@@ -50,12 +50,12 @@ public class CsEquipmentDeliveryAddParm{
|
||||
@NotBlank(message="装置用途不能为空!")
|
||||
private String devUse;
|
||||
|
||||
/**
|
||||
* 装置类型(直连设备、网关设备)
|
||||
*/
|
||||
@ApiModelProperty(value="装置类型")
|
||||
@NotBlank(message="装置类型不能为空!")
|
||||
private String devType;
|
||||
// /**
|
||||
// * 装置类型(直连设备、网关设备)
|
||||
// */
|
||||
// @ApiModelProperty(value="装置类型")
|
||||
// @NotBlank(message="装置类型不能为空!")
|
||||
// private String devType;
|
||||
|
||||
/**
|
||||
* 装置型号(pqs588、pqs680...)
|
||||
|
||||
@@ -48,11 +48,11 @@ public class CsEquipmentDeliveryAuditParm {
|
||||
@ApiModelProperty(value="装置用途")
|
||||
private String devUse;
|
||||
|
||||
/**
|
||||
* 装置类型(直连设备、网关设备)
|
||||
*/
|
||||
@ApiModelProperty(value="装置类型")
|
||||
private String devType;
|
||||
// /**
|
||||
// * 装置类型(直连设备、网关设备)
|
||||
// */
|
||||
// @ApiModelProperty(value="装置类型")
|
||||
// private String devType;
|
||||
|
||||
/**
|
||||
* 装置型号(pqs588、pqs680...)
|
||||
|
||||
@@ -44,11 +44,11 @@ public class CsEquipmentDeliveryQueryParm {
|
||||
@ApiModelProperty(value="装置用途")
|
||||
private String devUse;
|
||||
|
||||
/**
|
||||
* 装置类型(直连设备、网关设备)
|
||||
*/
|
||||
@ApiModelProperty(value="装置类型")
|
||||
private String devType;
|
||||
// /**
|
||||
// * 装置类型(直连设备、网关设备)
|
||||
// */
|
||||
// @ApiModelProperty(value="装置类型")
|
||||
// private String devType;
|
||||
|
||||
/**
|
||||
* 装置型号(pqs588、pqs680...)
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.njcn.db.bo.BaseEntity;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
@@ -38,7 +39,11 @@ public class CsEdDataPO extends BaseEntity {
|
||||
*/
|
||||
@TableField(value = "dev_type")
|
||||
private String devType;
|
||||
|
||||
/**
|
||||
* 装置类型(直连设备、网关设备)
|
||||
*/
|
||||
@TableField(value = "type")
|
||||
private String type;
|
||||
/**
|
||||
* 版本号
|
||||
*/
|
||||
@@ -81,10 +86,6 @@ public class CsEdDataPO extends BaseEntity {
|
||||
@TableField(value = "file_path")
|
||||
private String filePath;
|
||||
|
||||
/**
|
||||
* 装置类型
|
||||
*/
|
||||
@TableField(value = "type")
|
||||
private String type;
|
||||
|
||||
|
||||
}
|
||||
@@ -52,11 +52,11 @@ public class CsEquipmentDeliveryPO extends BaseEntity {
|
||||
@TableField(value = "dev_use")
|
||||
private String devUse;
|
||||
|
||||
/**
|
||||
* 装置类型(直连设备、网关设备)
|
||||
*/
|
||||
@TableField(value = "dev_type")
|
||||
private String devType;
|
||||
// /**
|
||||
// * 装置类型(直连设备、网关设备)
|
||||
// */
|
||||
// @TableField(value = "dev_type")
|
||||
// private String devType;
|
||||
|
||||
/**
|
||||
* 装置型号(pqs588、pqs680...)
|
||||
|
||||
@@ -37,6 +37,9 @@ public class AppTopologyDiagramVO extends BaseEntity {
|
||||
@ApiModelProperty(value = "项目Id")
|
||||
private String projectId;
|
||||
|
||||
@ApiModelProperty(value = "项目名称")
|
||||
private String projectName;
|
||||
|
||||
/**
|
||||
* 拓扑图文件路径
|
||||
*/
|
||||
|
||||
@@ -1,10 +1,14 @@
|
||||
package com.njcn.algorithm.pojo.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.njcn.db.bo.BaseEntity;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -46,7 +50,9 @@ public class CsDevModelPageVO extends BaseEntity {
|
||||
* 版本日期
|
||||
*/
|
||||
@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;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.njcn.db.bo.BaseEntity;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -30,7 +33,8 @@ public class CsEdDataVO extends BaseEntity {
|
||||
private String devType;
|
||||
@ApiModelProperty(value = "装置名称")
|
||||
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 = "版本日期")
|
||||
private LocalDate versionDate;
|
||||
private Date versionDate;
|
||||
|
||||
/**
|
||||
* 描述
|
||||
@@ -56,6 +62,9 @@ public class CsEdDataVO extends BaseEntity {
|
||||
@ApiModelProperty(value = "描述")
|
||||
private String description;
|
||||
|
||||
@ApiModelProperty(value = "状态")
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 版本类型
|
||||
*/
|
||||
@@ -68,7 +77,6 @@ public class CsEdDataVO extends BaseEntity {
|
||||
@ApiModelProperty(value = ".bin文件")
|
||||
private String filePath;
|
||||
|
||||
@ApiModelProperty(value = "type")
|
||||
private String type;
|
||||
|
||||
|
||||
}
|
||||
@@ -51,11 +51,11 @@ public class CsEquipmentDeliveryVO extends BaseEntity {
|
||||
@ApiModelProperty(value="装置用途")
|
||||
private String devUse;
|
||||
|
||||
/**
|
||||
* 装置类型(直连设备、网关设备)
|
||||
*/
|
||||
@ApiModelProperty(value="装置类型")
|
||||
private String devType;
|
||||
// /**
|
||||
// * 装置类型(直连设备、网关设备)
|
||||
// */
|
||||
// @ApiModelProperty(value="装置类型")
|
||||
// private String devType;
|
||||
|
||||
/**
|
||||
* 装置型号(pqs588、pqs680...)
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.njcn.algorithm.pojo.po.CsFeedbackChatPO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
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 List<String> imageUrls;
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.njcn.algorithm.pojo.vo;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@@ -59,7 +60,8 @@ public class CsFeedbackVO {
|
||||
@ApiModelProperty(value = "未读消息条数")
|
||||
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;
|
||||
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
FROM cs_ed_data a
|
||||
LEFT JOIN sys_dict_data b ON a.dev_type = b.id
|
||||
WHERE
|
||||
1 = 1 And a.`status`='1'
|
||||
1 = 1
|
||||
<if test="csEdDataQueryParm.versionStartDate != null and csEdDataQueryParm.versionStartDate != ''">
|
||||
AND a.version_date >= #{csEdDataQueryParm.versionStartDate }
|
||||
</if>
|
||||
|
||||
@@ -6,13 +6,16 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.google.common.base.Objects;
|
||||
import com.njcn.algorithm.mapper.AppProjectMapper;
|
||||
import com.njcn.algorithm.mapper.AppTopologyDiagramMapper;
|
||||
import com.njcn.algorithm.pojo.param.AppTopologyDiagramAddParm;
|
||||
import com.njcn.algorithm.pojo.param.AppTopologyDiagramAuditParm;
|
||||
import com.njcn.algorithm.pojo.param.AppTopologyDiagramQueryPageParm;
|
||||
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.vo.AppTopologyDiagramVO;
|
||||
import com.njcn.algorithm.service.AppProjectService;
|
||||
import com.njcn.algorithm.service.AppTopologyDiagramService;
|
||||
import com.njcn.oss.constant.OssPath;
|
||||
import com.njcn.oss.utils.FileStorageUtil;
|
||||
@@ -41,6 +44,7 @@ public class AppTopologyDiagramServiceImpl extends MppServiceImpl<AppTopologyDia
|
||||
|
||||
|
||||
private final FileStorageUtil fileStorageUtil;
|
||||
private final AppProjectMapper appServiceMapper;
|
||||
|
||||
private final AppTopologyDiagramMapper appTopologyDiagramMapper;
|
||||
@Override
|
||||
@@ -91,9 +95,13 @@ public class AppTopologyDiagramServiceImpl extends MppServiceImpl<AppTopologyDia
|
||||
eq (StringUtils.isNotBlank (appTopologyDiagramAuditParm.getProjectId ()),"project_id",appTopologyDiagramAuditParm.getProjectId ()).
|
||||
like (StringUtils.isNotBlank (appTopologyDiagramAuditParm.getName ()),"name", appTopologyDiagramAuditParm.getName ());
|
||||
List<AppTopologyDiagramPO> list = this.list (queryWrapper);
|
||||
|
||||
List<AppTopologyDiagramVO> collect = list.stream ( ).map (temp -> {
|
||||
AppTopologyDiagramVO vo = new AppTopologyDiagramVO ( );
|
||||
BeanUtils.copyProperties (temp, vo);
|
||||
|
||||
AppProjectPO appProjectPO = appServiceMapper.selectById(vo.getProjectId());
|
||||
vo.setProjectName(appProjectPO.getName());
|
||||
vo.setFilePath (fileStorageUtil.getFileUrl (vo.getFilePath ()));
|
||||
return vo;
|
||||
}).collect (Collectors.toList ( ));
|
||||
@@ -114,6 +122,9 @@ public class AppTopologyDiagramServiceImpl extends MppServiceImpl<AppTopologyDia
|
||||
List<AppTopologyDiagramVO> collect = tempPage.getRecords ( ).stream ( ).map (temp -> {
|
||||
AppTopologyDiagramVO vo = new AppTopologyDiagramVO ( );
|
||||
BeanUtils.copyProperties (temp, vo);
|
||||
|
||||
AppProjectPO appProjectPO = appServiceMapper.selectById(vo.getProjectId());
|
||||
vo.setProjectName(appProjectPO.getName());
|
||||
vo.setFilePath (fileStorageUtil.getFileUrl (temp.getFilePath ( )));
|
||||
return vo;
|
||||
}).collect (Collectors.toList ( ));
|
||||
|
||||
@@ -31,7 +31,7 @@ spring:
|
||||
shared-configs:
|
||||
- data-id: share-config.yaml
|
||||
refresh: true
|
||||
- data-Id: share-config-datasource-db.yaml
|
||||
- data-Id: algorithm-config.yaml
|
||||
refresh: true
|
||||
main:
|
||||
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) {
|
||||
switch (ptType) {
|
||||
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.njcn.common.pojo.param.StatisticsBizBaseParam;
|
||||
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.pq.pojo.param.CommunicateParam;
|
||||
import com.njcn.device.pq.pojo.vo.CommunicateVO;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -23,5 +26,7 @@ public interface ISubstationExpendService extends IService<SubstationExpend> {
|
||||
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.TerminalQueryParam;
|
||||
import com.njcn.device.pms.pojo.po.PmsTerminal;
|
||||
import com.njcn.web.pojo.param.BaseParam;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -32,7 +33,12 @@ public interface ITerminalService extends IService<PmsTerminal> {
|
||||
*/
|
||||
List<PmsTerminal> getTerminalSelectList(PmsBaseParam pmsBaseParam);
|
||||
|
||||
|
||||
/**
|
||||
* 根据终端id集合新查询终端信息
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
List<PmsTerminal> getTerminalSelectByIds(List<String> ids);
|
||||
|
||||
/**
|
||||
* 根据id查询
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
package com.njcn.device.pms.service.majornetwork.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
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.pojo.param.PmsBaseParam;
|
||||
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.pojo.po.Dept;
|
||||
import com.njcn.web.factory.PageFactory;
|
||||
import com.njcn.web.pojo.param.BaseParam;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
@@ -93,6 +97,14 @@ public class TerminalServiceImpl extends ServiceImpl<TerminalMapper, PmsTerminal
|
||||
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查询
|
||||
* @author hany
|
||||
|
||||
@@ -20,9 +20,6 @@ public class Communicate {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 终端Id
|
||||
*/
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@@ -33,7 +30,11 @@ public class Communicate {
|
||||
*/
|
||||
@Column(name = "line_id")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 终端Id
|
||||
*/
|
||||
@Column(name = "dev_id")
|
||||
private String devId;
|
||||
|
||||
/**
|
||||
* 事件类型(0:中断;1:正常;2:退出)
|
||||
|
||||
@@ -438,14 +438,29 @@ public class ReportServiceImpl implements ReportService {
|
||||
*/
|
||||
@Override
|
||||
public Page<DetailVO> getContinueTime(WaveTypeParam waveTypeParam) {
|
||||
List<String> lineIds =new ArrayList<>();
|
||||
String eventType="";
|
||||
List<DetailVO> result = new ArrayList<>();
|
||||
if(waveTypeParam.getType()==0){
|
||||
//pq系统
|
||||
List<GeneralDeviceDTO> deviceDTOList = generalDeviceInfoClient.getPracticalAllDeviceInfo(waveTypeParam).getData();
|
||||
List<String> lineIds = deviceDTOList.stream().flatMap(list -> list.getLineIndexes().stream()).collect(Collectors.toList());
|
||||
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)) {
|
||||
throw new BusinessException(DeviceResponseEnum.DEPT_LINE_EMPTY);
|
||||
}
|
||||
Page<RmpEventDetailPO> pageInfo = eventDetailService.page(new Page<>(waveTypeParam.getPageNum(), waveTypeParam.getPageSize()), new LambdaQueryWrapper<RmpEventDetailPO>()
|
||||
.in(RmpEventDetailPO::getMeasurementPointId, lineIds)
|
||||
.eq(StrUtil.isNotBlank(eventType),RmpEventDetailPO::getEventType,eventType)
|
||||
.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())))
|
||||
);
|
||||
@@ -458,6 +473,8 @@ public class ReportServiceImpl implements ReportService {
|
||||
result.add(vo);
|
||||
idlist.add(eventDetail.getLineId());
|
||||
}
|
||||
if(waveTypeParam.getType()==0){
|
||||
//pq系统
|
||||
HttpResult<List<AreaLineInfoVO>> AreaInfo = lineFeignClient.getBaseLineAreaInfo(idlist);
|
||||
List<AreaLineInfoVO> data = AreaInfo.getData();
|
||||
for (DetailVO detailVO : result) {
|
||||
@@ -467,6 +484,25 @@ public class ReportServiceImpl implements ReportService {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}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());
|
||||
List<DictData> type = reason.getData();
|
||||
for (DetailVO detailVO : result) {
|
||||
|
||||
@@ -125,6 +125,13 @@ spring:
|
||||
filters:
|
||||
- SwaggerHeaderFilter
|
||||
- StripPrefix=1
|
||||
- id: algorithm-boot
|
||||
uri: lb://algorithm-boot
|
||||
predicates:
|
||||
- Path=/algorithm-boot/**
|
||||
filters:
|
||||
- SwaggerHeaderFilter
|
||||
- StripPrefix=1
|
||||
#项目日志的配置
|
||||
logging:
|
||||
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")
|
||||
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;
|
||||
|
||||
/**
|
||||
|
||||
@@ -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;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.common.utils.PubUtils;
|
||||
import com.njcn.harmonic.pojo.po.RMpDevEvaluateDetailPO;
|
||||
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.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.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:
|
||||
@@ -15,6 +38,61 @@ import org.springframework.stereotype.Service;
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
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 -> {
|
||||
LineDetailDataVO data = lineFeignClient.getLineDetailData (temp).getData ( );
|
||||
String devid = lineFeignClient.getLineIdByDevId(temp).getData();
|
||||
|
||||
|
||||
/*todo 统计间隔,电压等级取值方式后期提供融合版本接口获取不然pms,pqs系统取值方式不一样*/
|
||||
/*统计间隔*/
|
||||
@@ -84,6 +86,7 @@ public class RMpMonitorEvaluateDServiceImpl extends MppServiceImpl<RMpMonitorEva
|
||||
return;
|
||||
}
|
||||
rMpMonitorEvaluateDPO.setAllMinuteCount (fiveItems.size ());
|
||||
rMpMonitorEvaluateDPO.setDeviceId(devid);
|
||||
rMpMonitorEvaluateDPO.setDataDate (date);
|
||||
rMpMonitorEvaluateDPO.setMeasurementPointId (temp);
|
||||
rMpMonitorEvaluateDPO.setPltCount (twoFlickerData.getPltCount ());
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.njcn.prepare.harmonic.service.mysql.Impl.line;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
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.pojo.vo.LineDetailDataVO;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.line.ROperatingMonitorDMapper;
|
||||
@@ -108,7 +109,7 @@ public class ROperatingMonitorDServiceImpl extends MppServiceImpl<ROperatingMoni
|
||||
)
|
||||
);
|
||||
rOperatingMonitorDPO.setDevId (devid);
|
||||
rOperatingMonitorDPO.setMonitorState (data.getRunFlag());
|
||||
rOperatingMonitorDPO.setMonitorState (PubUtils.getRunFlag(data.getRunFlag())+"");
|
||||
rOperatingMonitorDPOList.add (rOperatingMonitorDPO);
|
||||
});
|
||||
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.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> {
|
||||
|
||||
|
||||
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