1.变电站上送逻辑修改

2.添加pms配网用户侧数据完整性接口
3.添加pms配网用户侧指标越限接口
This commit is contained in:
2024-09-06 15:52:10 +08:00
parent 9f0a1ed19e
commit a3772119b4
22 changed files with 320 additions and 62 deletions

View File

@@ -1,6 +1,7 @@
package com.njcn.device.pms.pojo.param;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.models.auth.In;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@@ -49,6 +50,9 @@ public class DistributionMonitorParam {
@ApiModelProperty(value = "监测终端接线方式(字典)")
private String terminalWiringMethod;
@ApiModelProperty(value = "统计间隔分钟")
private Integer statisticalInterval;
/**
* pt变比

View File

@@ -199,7 +199,6 @@ public class PowerClientParam {
* 用户标签
*/
@ApiModelProperty(value = "用户标签",required = true)
@NotBlank(message = "用户标签不可为空")
private String userTag;
/**

View File

@@ -5,6 +5,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import java.util.List;
@Data
@EqualsAndHashCode(callSuper = true)
@@ -17,5 +18,8 @@ public class PwUserMonitorParam extends BaseParam {
private Double limitValue;
private Integer comFlag;
private List<String> ids;
}

View File

@@ -2,21 +2,47 @@ package com.njcn.device.pms.pojo.vo.pwUser;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class PwUserMonitorDataVO {
private String id;
/**
* 监测点名称
*/
private String name;
/**
* 所属组织
*/
private String orgName;
private String operationName;
/**
* 是否敏感用户
*/
private Integer ifSensitiveUser;
/**
* 用户类型
*/
private String userType;
/**
* 电压等级
*/
private String voltageLevel;
/**
* 数据完整性
*/
private Float integrityRate;
private LocalDateTime localDateTime;
private Integer comFlag;
}

View File

@@ -47,4 +47,18 @@ public class PwUserMonitorDataController extends BaseController {
Page<PwUserMonitorDataVO> page = pwUserMonitorDataService.pageIntegrityData(pwUserMonitorParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,page,methodDescribe);
}
/**
* 获取配网用户装置在线率
*/
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("getPwDeviceOnline")
@ApiOperation("获取配网用户侧监测点数据完整性")
@ApiImplicitParam(name = "pwUserMonitorParam",value = "请求头",required = true)
public HttpResult<Page<PwUserMonitorDataVO>> getPwDeviceOnline(@RequestBody @Validated PwUserMonitorParam pwUserMonitorParam){
String methodDescribe = getMethodDescribe("getPwDeviceOnline");
Page<PwUserMonitorDataVO> page = pwUserMonitorDataService.getPwDeviceOnline(pwUserMonitorParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,page,methodDescribe);
}
}

View File

@@ -9,6 +9,7 @@ import com.njcn.device.pms.pojo.dto.PmsSimpleDTO;
import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO;
import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam;
import com.njcn.device.pms.pojo.param.TaiZhangParam;
import com.njcn.device.pms.pojo.param.pwUser.PwUserMonitorParam;
import com.njcn.device.pms.pojo.po.DistributionMonitor;
import com.njcn.device.pms.pojo.po.Monitor;
import com.njcn.device.pms.pojo.po.PowerDistributionarea;
@@ -126,5 +127,12 @@ public interface DistributionMonitorMapper extends MppBaseMapper<DistributionMon
Boolean insertPmsDistributionArea(@Param("dic") String dic);
List<PwUserMonitorDataVO> getDistributionPage(@Param("ew")QueryWrapper<PwUserMonitorDataVO> ew);
/**
* pms临时处理方式后续物联平台接口修改开放后修改
* @param deptIds
* @param param
* @return
*/
//TODO pms临时处理方式后续物联平台接口修改开放后修改
List<PwUserMonitorDataVO> getDistributionList(@Param("deptIds")List<String> deptIds,@Param("param") PwUserMonitorParam param);
}

View File

@@ -508,15 +508,28 @@
</select>
<select id="getDistributionPage" resultType="com.njcn.device.pms.pojo.vo.pwUser.PwUserMonitorDataVO">
<select id="getDistributionList" resultType="com.njcn.device.pms.pojo.vo.pwUser.PwUserMonitorDataVO">
select * from (
SELECT
pms_power_client.id,pms_power_client.name,pms_power_client.Org_Name,pms_power_client.Operation_Name,
pms_power_client.If_Sensitive_User,pms_power_client.User_Type
pms_power_client.If_Sensitive_User,pms_power_client.User_Type,pms_power_client.Voltage_Level,
IF(pms_real_data.time_Id IS NULL, 0, IF(TIMESTAMPDIFF(MINUTE, pms_real_data.time_Id, NOW()) > 30, 0, 1)) AS comFlag,
pms_real_data.time_Id updateTime
FROM
pms_distribution_monitor,
pms_power_client
WHERE pms_distribution_monitor.Monitor_Id = pms_power_client.id
and ${ew.sqlSegment}
pms_distribution_monitor
inner join pms_power_client on pms_distribution_monitor.Monitor_Id = pms_power_client.id
left join pms_real_data on pms_power_client.id = pms_real_data.line_id and pms_real_data.value_type = "AVG"
WHERE pms_power_client.org_id in
<foreach collection="deptIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
<if test="param.userName!=null and param.userName!=''">
and pms_power_client.name like CONCAT('%', #{param.userName}, '%')
</if>
) t where 1 = 1
<if test="param.comFlag!=null">
and comFlag = #{param.comFlag}
</if>
</select>
</mapper>

View File

@@ -14,4 +14,7 @@ public interface PwUserMonitorDataService {
*/
Page<PwUserMonitorDataVO> pageIntegrityData(PwUserMonitorParam pwUserMonitorParam);
Page<PwUserMonitorDataVO> getPwDeviceOnline(PwUserMonitorParam pwUserMonitorParam);
}

View File

@@ -76,6 +76,11 @@ public class PwUserMonitorDataServiceImpl implements PwUserMonitorDataService {
return pageResult;
}
@Override
public Page<PwUserMonitorDataVO> getPwDeviceOnline(PwUserMonitorParam pwUserMonitorParam) {
return null;
}
/**
* 超标情况

View File

@@ -158,10 +158,11 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl<DistributionM
distributionMonitor.setCt2(distributionMonitorParam.getCt2());
distributionMonitor.setPt1(distributionMonitorParam.getPt1());
distributionMonitor.setPt2(distributionMonitorParam.getPt2());
distributionMonitor.setStatisticalInterval(distributionMonitorParam.getStatisticalInterval());
this.save(distributionMonitor);
//只有二三类需要填写限值,一类默认新建主网监测点时候已经新建限值
overLimitAdd(distributionMonitor.getVoltageLevel(), distributionMonitor.getMonitorId());
overLimitAdd(distributionMonitor.getVoltageLevel(), distributionMonitor.getMonitorId(),false);
break;
case DicDataConstant.THREE_LINE:
//三类监测点
@@ -198,8 +199,9 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl<DistributionM
distributionMonitor.setCt2(distributionMonitorParam.getCt2());
distributionMonitor.setPt1(distributionMonitorParam.getPt1());
distributionMonitor.setPt2(distributionMonitorParam.getPt2());
distributionMonitor.setStatisticalInterval(distributionMonitorParam.getStatisticalInterval());
this.save(distributionMonitor);
overLimitAdd(distributionMonitor.getVoltageLevel(), distributionMonitor.getMonitorId());
overLimitAdd(distributionMonitor.getVoltageLevel(), distributionMonitor.getMonitorId(),false);
break;
default:
@@ -216,6 +218,8 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl<DistributionM
}
LambdaUpdateWrapper<DistributionMonitor> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
lambdaUpdateWrapper.eq(DistributionMonitor::getMonitorSort, dictData.getId());
String voltageLevel;
switch (dictData.getCode()) {
case DicDataConstant.TWO_LINE:
//二类监测点(台区)
@@ -223,6 +227,7 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl<DistributionM
if (Objects.isNull(powerDistributionarea)) {
throw new BusinessException(PmsDeviceResponseEnum.TWO_MONITOR_NOT_FIND);
}
voltageLevel = powerDistributionarea.getVoltageLevel();
lambdaUpdateWrapper.eq(DistributionMonitor::getMonitorId, powerDistributionarea.getId());
break;
case DicDataConstant.THREE_LINE:
@@ -233,6 +238,7 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl<DistributionM
if (Objects.isNull(powerGenerationUser)) {
throw new BusinessException(PmsDeviceResponseEnum.THREE_MONITOR_NOT_FIND);
}
voltageLevel = powerGenerationUser.getVoltageLevel();
lambdaUpdateWrapper.eq(DistributionMonitor::getMonitorId, powerGenerationUser.getId());
} else {
//用电
@@ -240,6 +246,7 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl<DistributionM
if (Objects.isNull(powerClient)) {
throw new BusinessException(PmsDeviceResponseEnum.THREE_MONITOR_NOT_FIND);
}
voltageLevel = powerClient.getVoltageLevel();
lambdaUpdateWrapper.eq(DistributionMonitor::getMonitorId, powerClient.getId());
}
break;
@@ -252,8 +259,12 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl<DistributionM
.set(DistributionMonitor::getCt1, distributionMonitorParam.getCt1())
.set(DistributionMonitor::getCt2, distributionMonitorParam.getCt2())
.set(DistributionMonitor::getPt1, distributionMonitorParam.getPt1())
.set(DistributionMonitor::getPt2, distributionMonitorParam.getPt2());
return this.update(lambdaUpdateWrapper);
.set(DistributionMonitor::getPt2, distributionMonitorParam.getPt2())
.set(DistributionMonitor::getStatisticalInterval, distributionMonitorParam.getStatisticalInterval());
this.update(lambdaUpdateWrapper);
overLimitAdd(voltageLevel,distributionMonitorParam.getMonitorId(),true);
return true;
}
@Override
@@ -467,13 +478,7 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl<DistributionM
@Override
public List<PwUserMonitorDataVO> getPwUserIds(PwUserMonitorParam pwUserMonitorParam) {
List<String> deptIds = deptFeignClient.getDepSonSelfCodetByDeptId(pwUserMonitorParam.getOrgId()).getData();
QueryWrapper<PwUserMonitorDataVO> queryWrapper = new QueryWrapper<>();
queryWrapper.in("pms_power_client.org_id", deptIds);
if (StrUtil.isNotBlank(pwUserMonitorParam.getUserName())) {
queryWrapper.eq("pms_power_client.name", pwUserMonitorParam.getUserName());
}
List<PwUserMonitorDataVO> pwUserMonitorDataVOList = this.distributionMonitorMapper.getDistributionPage(queryWrapper);
return pwUserMonitorDataVOList;
return this.distributionMonitorMapper.getDistributionList(deptIds,pwUserMonitorParam);
}
@@ -499,12 +504,15 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl<DistributionM
return true;
}
private void overLimitAdd(String voltageLevel, String id) {
private void overLimitAdd(String voltageLevel, String id,Boolean update) {
DictData voltageDic = dicDataFeignClient.getDicDataById(voltageLevel).getData();
float voltageLevelValue = Float.parseFloat(voltageDic.getValue());
float capacity = COverlimitUtil.getDlCapByVoltageLevel(voltageLevelValue);
Overlimit overlimit = COverlimitUtil.globalAssemble(voltageLevelValue, capacity, capacity, capacity, 1, 1);
overlimit.setId(id);
if(update){
overlimitMapper.deleteById(id);
}
overlimitMapper.insert(overlimit);
}
}

View File

@@ -31,6 +31,7 @@ import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
@@ -157,6 +158,7 @@ public class TerminalServiceImpl extends ServiceImpl<TerminalMapper, PmsTerminal
pmsTerminal.setStatus(DataStateEnum.ENABLE.getCode());
pmsTerminal.setVerificationDate(LocalDate.parse(terminalParam.getVerificationDate()));
pmsTerminal.setUseDate(LocalDate.parse(terminalParam.getUseDate()));
pmsTerminal.setUpdateTime(LocalDateTime.now());
return this.save(pmsTerminal);
}