算法:监测到暂态指标的用户信息
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
package com.njcn.prepare.harmonic.pojo.po;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||
import com.njcn.db.bo.BaseEntity;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 监测到暂态指标的用户-日表
|
||||
* </p>
|
||||
*
|
||||
* @author xuyang
|
||||
* @since 2023-11-23
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@TableName("r_dim_obj_event_d")
|
||||
public class RDimObjEventD {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 单位code
|
||||
*/
|
||||
@MppMultiId
|
||||
private String orgId;
|
||||
|
||||
/**
|
||||
* 统计时间
|
||||
*/
|
||||
@MppMultiId
|
||||
private LocalDate statisDate;
|
||||
|
||||
/**
|
||||
* 监测到暂态指标的用户占比(%)
|
||||
*/
|
||||
private Float monitorRate;
|
||||
|
||||
/**
|
||||
* 监测到暂态指标发生频次(次/户)
|
||||
*/
|
||||
private Float limitFreqRate;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.njcn.prepare.harmonic.pojo.po;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||
import com.njcn.db.bo.BaseEntity;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 监测到暂态指标的用户-月表
|
||||
* </p>
|
||||
*
|
||||
* @author xuyang
|
||||
* @since 2023-11-23
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@TableName("r_dim_obj_event_m")
|
||||
public class RDimObjEventM {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 单位code
|
||||
*/
|
||||
@MppMultiId
|
||||
private String orgId;
|
||||
|
||||
/**
|
||||
* 统计时间
|
||||
*/
|
||||
@MppMultiId
|
||||
private LocalDate statisDate;
|
||||
|
||||
/**
|
||||
* 监测到暂态指标的用户占比(%)
|
||||
*/
|
||||
private Float monitorRate;
|
||||
|
||||
/**
|
||||
* 监测到暂态指标发生频次(次/户)
|
||||
*/
|
||||
private Float limitFreqRate;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.njcn.prepare.harmonic.pojo.po;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||
import com.njcn.db.bo.BaseEntity;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 监测到暂态指标的用户-年表
|
||||
* </p>
|
||||
*
|
||||
* @author xuyang
|
||||
* @since 2023-11-23
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@TableName("r_dim_obj_event_y")
|
||||
public class RDimObjEventY {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 单位code
|
||||
*/
|
||||
@MppMultiId
|
||||
private String orgId;
|
||||
|
||||
/**
|
||||
* 统计时间
|
||||
*/
|
||||
@MppMultiId
|
||||
private LocalDate statisDate;
|
||||
|
||||
/**
|
||||
* 监测到暂态指标的用户占比(%)
|
||||
*/
|
||||
private Float monitorRate;
|
||||
|
||||
/**
|
||||
* 监测到暂态指标发生频次(次/户)
|
||||
*/
|
||||
private Float limitFreqRate;
|
||||
|
||||
|
||||
}
|
||||
@@ -398,7 +398,8 @@ public class MeasurementExecutor extends BaseExecutor {
|
||||
}
|
||||
|
||||
/**
|
||||
* 算法名: 3.4.1.9.1-----监测点基准水平评估_日、月、季、年统计(r_mp_benchmark_level_d、r_mp_benchmark_level_m、r_mp_benchmark_level_q、r_mp_benchmark_level_y)
|
||||
* 算法名: 3.4.1.9.1-----监测点基准水平评估_日、月、季、年统计
|
||||
* (r_mp_benchmark_level_d、r_mp_benchmark_level_m、r_mp_benchmark_level_q、r_mp_benchmark_level_y)
|
||||
*
|
||||
* @author xuyang
|
||||
* @date 2023年11月21日 14:40
|
||||
|
||||
@@ -2,9 +2,11 @@ package com.njcn.prepare.executor;
|
||||
|
||||
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
||||
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimBusGlobalDService;
|
||||
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimObjEventDService;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import com.njcn.user.pojo.po.Dept;
|
||||
import com.yomahub.liteflow.annotation.LiteflowComponent;
|
||||
@@ -30,8 +32,7 @@ public class PmsDimExecutor extends BaseExecutor{
|
||||
private final DeptFeignClient deptFeignClient;
|
||||
|
||||
private final CommTerminalGeneralClient commTerminalGeneralClient;
|
||||
|
||||
|
||||
private final IRDimObjEventDService irDimObjEventDService;
|
||||
|
||||
private final IRDimBusGlobalDService irDimBusGlobalDService;
|
||||
|
||||
@@ -62,4 +63,31 @@ public class PmsDimExecutor extends BaseExecutor{
|
||||
irDimBusGlobalDService.globalCalBusBarDay(bindCmp.getRequestData());
|
||||
}
|
||||
|
||||
/********************************************算法负责人:xy***********************************************************/
|
||||
@LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "rDimObjEvent", nodeType = NodeTypeEnum.COMMON)
|
||||
public boolean rDimObjEventAccess(NodeComponent bindCmp) {
|
||||
return isAccess(bindCmp);
|
||||
}
|
||||
@LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "rDimObjEvent", nodeType = NodeTypeEnum.COMMON)
|
||||
public void rDimObjEventProcess(NodeComponent bindCmp) {
|
||||
String tag = bindCmp.getTag();
|
||||
CalculatedParam<DeptGetChildrenDTO> calculatedParam = bindCmp.getRequestData();
|
||||
if (tag.equalsIgnoreCase("r_dim_obj_event_d")) {
|
||||
//日表
|
||||
irDimObjEventDService.eventUserRatio(calculatedParam);
|
||||
} else if (tag.equalsIgnoreCase("r_dim_obj_event_m")) {
|
||||
//数据补招不执行非日表算法
|
||||
if (!calculatedParam.isRepair()) {
|
||||
//月表
|
||||
|
||||
}
|
||||
}else if (tag.equalsIgnoreCase("r_dim_obj_event_y")) {
|
||||
//数据补招不执行非日表算法
|
||||
if (!calculatedParam.isRepair()) {
|
||||
//年表
|
||||
}
|
||||
}
|
||||
}
|
||||
/*********************************************结束******************************************************************/
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.po.RDimObjEventD;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 监测到暂态指标的用户-日表 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author xuyang
|
||||
* @since 2023-11-23
|
||||
*/
|
||||
public interface RDimObjEventDMapper extends MppBaseMapper<RDimObjEventD> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.po.RDimObjEventM;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 监测到暂态指标的用户-月表 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author xuyang
|
||||
* @since 2023-11-23
|
||||
*/
|
||||
public interface RDimObjEventMMapper extends BaseMapper<RDimObjEventM> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.po.RDimObjEventY;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 监测到暂态指标的用户-年表 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author xuyang
|
||||
* @since 2023-11-23
|
||||
*/
|
||||
public interface RDimObjEventYMapper extends BaseMapper<RDimObjEventY> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||
import com.njcn.prepare.harmonic.pojo.po.RDimObjEventD;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 监测到暂态指标的用户-日表 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author xuyang
|
||||
* @since 2023-11-23
|
||||
*/
|
||||
public interface IRDimObjEventDService extends IService<RDimObjEventD> {
|
||||
|
||||
void eventUserRatio(CalculatedParam<DeptGetChildrenDTO> calculatedParam);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.prepare.harmonic.pojo.po.RDimObjEventM;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 监测到暂态指标的用户-月表 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author xuyang
|
||||
* @since 2023-11-23
|
||||
*/
|
||||
public interface IRDimObjEventMService extends IService<RDimObjEventM> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.prepare.harmonic.pojo.po.RDimObjEventY;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 监测到暂态指标的用户-年表 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author xuyang
|
||||
* @since 2023-11-23
|
||||
*/
|
||||
public interface IRDimObjEventYService extends IService<RDimObjEventY> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,127 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||
import com.njcn.device.pms.pojo.po.Monitor;
|
||||
import com.njcn.harmonic.pojo.po.RMpEventDetailDPO;
|
||||
import com.njcn.harmonic.pojo.po.RMpTargetWarnDPO;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.area.PmsMonitorPOMapper;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.area.RMpTargetWarnDMapper;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimObjEventDMapper;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.line.RMpEventDetailDMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||
import com.njcn.prepare.harmonic.pojo.po.RDimObjEventD;
|
||||
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimObjEventDService;
|
||||
import com.njcn.system.api.DicDataFeignClient;
|
||||
import com.njcn.system.enums.DicDataEnum;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 监测到暂态指标的用户-日表 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author xuyang
|
||||
* @since 2023-11-23
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class RDimObjEventDServiceImpl extends MppServiceImpl<RDimObjEventDMapper, RDimObjEventD> implements IRDimObjEventDService {
|
||||
|
||||
private final RMpTargetWarnDMapper rMpTargetWarnDMapper;
|
||||
private final PmsMonitorPOMapper pmsMonitorPOMapper;
|
||||
private final DicDataFeignClient dicDataFeignClient;
|
||||
private final RMpEventDetailDMapper rMpEventDetailDMapper;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = {Exception.class})
|
||||
public void eventUserRatio(CalculatedParam<DeptGetChildrenDTO> calculatedParam) {
|
||||
List<RDimObjEventD> result = new ArrayList<>();
|
||||
List<DeptGetChildrenDTO> deptList = calculatedParam.getIdList();
|
||||
//获取敏感用户、重要用户字典id
|
||||
String sensitiveUserId = dicDataFeignClient.getDicDataByCode(DicDataEnum.SENSITIVE_USERS.getCode()).getData().getId();
|
||||
String importantUserId = dicDataFeignClient.getDicDataByCode(DicDataEnum.IMPORTANT_USERS.getCode()).getData().getId();
|
||||
deptList.forEach(item->{
|
||||
RDimObjEventD rDimObjEventD = new RDimObjEventD();
|
||||
rDimObjEventD.setOrgId(item.getDeptId());
|
||||
rDimObjEventD.setStatisDate(LocalDate.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMATTER));
|
||||
rDimObjEventD.setMonitorRate(3.1415926f);
|
||||
rDimObjEventD.setLimitFreqRate(3.1415926f);
|
||||
List<String> lineList = item.getLineIds();
|
||||
if (CollectionUtil.isNotEmpty(lineList)){
|
||||
//获取当前单位下的重要用户、敏感用户监测点信息
|
||||
List<Monitor> monitorList = getUser(lineList,Arrays.asList(sensitiveUserId,importantUserId));
|
||||
if(CollectionUtil.isNotEmpty(monitorList)){
|
||||
List<String> userList = monitorList.stream().map(Monitor::getId).collect(Collectors.toList());
|
||||
//获取当前单位下的有效接入重要、敏感用户监测点信息
|
||||
List<RMpTargetWarnDPO> effectiveList = getEffective(userList,calculatedParam.getDataDate());
|
||||
if (CollectionUtil.isNotEmpty(effectiveList)){
|
||||
rDimObjEventD.setMonitorRate((float)monitorList.size()/effectiveList.size()*100);
|
||||
//获取重要用户、敏感用户监测点发生的暂态次数之和
|
||||
float times = getEventTimes(userList,calculatedParam.getDataDate());
|
||||
if (!Objects.equals(3.1415926f,times)){
|
||||
rDimObjEventD.setLimitFreqRate(times/effectiveList.size());
|
||||
}
|
||||
} else {
|
||||
rDimObjEventD.setMonitorRate(-1.0f);
|
||||
rDimObjEventD.setLimitFreqRate(-1.0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
result.add(rDimObjEventD);
|
||||
});
|
||||
if (CollectionUtil.isNotEmpty(result)){
|
||||
this.saveOrUpdateBatchByMultiId(result,100);
|
||||
}
|
||||
}
|
||||
|
||||
public List<Monitor> getUser(List<String> lineList, List<String> monitorTag) {
|
||||
LambdaQueryWrapper<Monitor> monitorLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
monitorLambdaQueryWrapper.select(Monitor::getId, Monitor::getMonitorTag)
|
||||
.in(Monitor::getId, lineList)
|
||||
.in(Monitor::getMonitorTag, monitorTag)
|
||||
.eq(Monitor::getStatus, DataStateEnum.ENABLE.getCode());
|
||||
return pmsMonitorPOMapper.selectList(monitorLambdaQueryWrapper);
|
||||
}
|
||||
|
||||
public List<RMpTargetWarnDPO> getEffective(List<String> lineList, String time) {
|
||||
LambdaQueryWrapper<RMpTargetWarnDPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.select(RMpTargetWarnDPO::getMeasurementPointId)
|
||||
.in(RMpTargetWarnDPO::getMeasurementPointId,lineList)
|
||||
.eq(RMpTargetWarnDPO::getDataDate,time)
|
||||
.eq(RMpTargetWarnDPO::getIsEffective, DataStateEnum.ENABLE.getCode());
|
||||
return rMpTargetWarnDMapper.selectList(lambdaQueryWrapper);
|
||||
}
|
||||
|
||||
public float getEventTimes(List<String> lineList, String time) {
|
||||
float result = 3.1415926f;
|
||||
int data = 0;
|
||||
LambdaQueryWrapper<RMpEventDetailDPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.select(RMpEventDetailDPO::getSwellTimes,RMpEventDetailDPO::getSagTimes,RMpEventDetailDPO::getInterruptTimes)
|
||||
.in(RMpEventDetailDPO::getMeasurementPointId,lineList)
|
||||
.eq(RMpEventDetailDPO::getDataDate,time);
|
||||
List<RMpEventDetailDPO> eventDay = rMpEventDetailDMapper.selectList(lambdaQueryWrapper);
|
||||
if (CollectionUtil.isNotEmpty(eventDay)){
|
||||
for (RMpEventDetailDPO item : eventDay) {
|
||||
int times = item.getSwellTimes() + item.getSagTimes() + item.getInterruptTimes();
|
||||
data = data + times;
|
||||
}
|
||||
result = (float) data;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimObjEventMMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.po.RDimObjEventM;
|
||||
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimObjEventMService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 监测到暂态指标的用户-月表 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author xuyang
|
||||
* @since 2023-11-23
|
||||
*/
|
||||
@Service
|
||||
public class RDimObjEventMServiceImpl extends ServiceImpl<RDimObjEventMMapper, RDimObjEventM> implements IRDimObjEventMService {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimObjEventYMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.po.RDimObjEventY;
|
||||
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimObjEventYService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 监测到暂态指标的用户-年表 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author xuyang
|
||||
* @since 2023-11-23
|
||||
*/
|
||||
@Service
|
||||
public class RDimObjEventYServiceImpl extends ServiceImpl<RDimObjEventYMapper, RDimObjEventY> implements IRDimObjEventYService {
|
||||
|
||||
}
|
||||
@@ -6,7 +6,6 @@ import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.harmonic.pojo.po.RMpBenchmarkLevelD;
|
||||
import com.njcn.harmonic.pojo.po.RMpBenchmarkLevelM;
|
||||
import com.njcn.harmonic.pojo.po.day.RStatDataPltDPO;
|
||||
import com.njcn.harmonic.pojo.po.day.RStatDataVDPO;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.day.RStatDataPltDMapper;
|
||||
|
||||
@@ -2,16 +2,11 @@ package com.njcn.process.service.impl;
|
||||
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||
import cn.hutool.core.date.TimeInterval;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.common.utils.PubUtils;
|
||||
import com.njcn.device.biz.commApi.CommLedgerDeptClient;
|
||||
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetBase;
|
||||
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
||||
@@ -28,7 +23,6 @@ import com.njcn.user.pojo.po.Dept;
|
||||
import com.njcn.user.pojo.vo.PvTerminalTreeVO;
|
||||
import com.njcn.web.factory.PageFactory;
|
||||
import com.njcn.web.pojo.param.BaseParam;
|
||||
import liquibase.pro.packaged.T;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
@@ -43,7 +37,6 @@ import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
|
||||
@@ -219,6 +219,8 @@ public enum DicDataEnum {
|
||||
ELECTRIFIED_RAILWAYS("电气化铁路", "Electrified_Railways"),
|
||||
SMELT_LOAD("冶炼负荷", "Smelt_Load"),
|
||||
DISTRIBUTED_PHOTOVOLTAICS("分布式光伏", "Distributed_Photovoltaics"),
|
||||
SENSITIVE_USERS("敏感用户","Sensitive_Users"),
|
||||
IMPORTANT_USERS("重要用户","Important_Users"),
|
||||
|
||||
/**
|
||||
* 电压等级
|
||||
|
||||
Reference in New Issue
Block a user