diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/PqsRelevanceLog.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/PqsRelevanceLog.java index 051c0337e..903627eae 100644 --- a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/PqsRelevanceLog.java +++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/po/PqsRelevanceLog.java @@ -1,7 +1,9 @@ package com.njcn.advance.pojo.po; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import com.njcn.db.bo.BaseEntity; import lombok.Data; import lombok.EqualsAndHashCode; @@ -16,10 +18,13 @@ import java.util.Date; @TableName("pqs_relevancy_log") public class PqsRelevanceLog extends BaseEntity { + @TableId("id") + private String id; /** * 归一化算法时间 */ - @TableId("Time_Id") + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime timeId; @@ -30,4 +35,7 @@ public class PqsRelevanceLog extends BaseEntity { private Integer state; + @TableField(exist = false) + private String createName; + } diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/controller/EventRelevantAnalysisController.java b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/controller/EventRelevantAnalysisController.java index 1f0f03f7f..6574b4f2c 100644 --- a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/controller/EventRelevantAnalysisController.java +++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/controller/EventRelevantAnalysisController.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.netflix.ribbon.proxy.annotation.Http; import com.njcn.advance.pojo.dto.BalanceInfo; import com.njcn.advance.pojo.param.AdvanceBaseParam; +import com.njcn.advance.pojo.po.PqsRelevanceLog; import com.njcn.advance.service.EventRelevantAnalysisService; import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.enums.common.LogEnum; @@ -11,6 +12,7 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; import com.njcn.common.utils.PubUtils; +import com.njcn.event.pojo.po.RmpEventDetailAssPO; import com.njcn.event.pojo.vo.AdvanceEventDetailVO; import com.njcn.web.controller.BaseController; import com.njcn.web.pojo.annotation.DateTimeStrValid; @@ -50,7 +52,7 @@ public class EventRelevantAnalysisController extends BaseController { @ApiOperation("启动关联分析") public HttpResult processEvents(@RequestParam("startTime") String startTime, @RequestParam("endTime")String endTime) { String methodDescribe = getMethodDescribe("processEvents"); - List timeVal = PubUtils.checkLocalDateTime(startTime,endTime); + List timeVal = PubUtils.checkLocalDate(startTime,endTime); eventRelevantAnalysisService.processEvents(timeVal.get(0),timeVal.get(1)); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); } @@ -65,10 +67,66 @@ public class EventRelevantAnalysisController extends BaseController { @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/querySagEventsPage") @ApiOperation("高级算法-暂降事件关联分析主列表") - public HttpResult> querySagEventsPage(BaseParam baseParam){ + public HttpResult> querySagEventsPage(@RequestBody BaseParam baseParam){ String methodDescribe = getMethodDescribe("querySagEventsPage"); Page list = eventRelevantAnalysisService.querySagEventsPage(baseParam); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); } + /** + * 事件查看 + * @author cdf + * @date 2023/8/11 + */ + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/queryEventsAssPage") + @ApiOperation("事件波形分析主列表") + public HttpResult> queryEventsAssPage(@RequestBody BaseParam baseParam){ + String methodDescribe = getMethodDescribe("queryEventsAssPage"); + Page page = eventRelevantAnalysisService.queryEventsAssPage(baseParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe); + } + + + /** + * 事件详情 + * @author cdf + * @date 2023/8/11 + */ + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @GetMapping("/queryEventDetailByAssId") + @ApiOperation("事件详情查看") + public HttpResult> queryEventDetailByAssId(@RequestParam("id")String id,@RequestParam("pageNum")Integer pageNum,@RequestParam("pageSize")Integer pageSize){ + String methodDescribe = getMethodDescribe("queryEventDetailByAssId"); + Page page = eventRelevantAnalysisService.queryEventDetailByAssId(id,pageNum,pageSize); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe); + } + + /** + * 操作记录查看 + * @author cdf + * @date 2023/8/11 + */ + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/queryRelevantLogPage") + @ApiOperation("事件分析操作记录查看") + public HttpResult> queryRelevantLogPage(@RequestBody BaseParam baseParam){ + String methodDescribe = getMethodDescribe("queryRelevantLogPage"); + Page page = eventRelevantAnalysisService.queryRelevantLogPage(baseParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe); + } + + /** + * 操作记录删除 + * @author cdf + * @date 2023/8/11 + */ + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @GetMapping("/delRelevantLog") + @ApiOperation("操作记录删除") + public HttpResult delRelevantLog(@RequestParam("id")String id){ + String methodDescribe = getMethodDescribe("delRelevantLog"); + boolean flag = eventRelevantAnalysisService.delRelevantLog(id); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe); + } } diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/RelevantMapper.java b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/RelevantLogMapper.java similarity index 84% rename from pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/RelevantMapper.java rename to pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/RelevantLogMapper.java index 682e7bd8e..c0a0880c1 100644 --- a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/RelevantMapper.java +++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/RelevantLogMapper.java @@ -12,7 +12,7 @@ import java.util.List; * @author cdf * @date 2023/6/19 */ -public interface RelevantMapper extends BaseMapper { +public interface RelevantLogMapper extends BaseMapper { @@ -23,4 +23,7 @@ public interface RelevantMapper extends BaseMapper { */ List getLogic(); + + + } diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/mapping/EventWaveAnalysisMapper.xml b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/mapping/EventWaveAnalysisMapper.xml index 9eedce234..6cf75512d 100644 --- a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/mapping/EventWaveAnalysisMapper.xml +++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/mapping/EventWaveAnalysisMapper.xml @@ -1,6 +1,6 @@ - + SELECT diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/EventRelevantAnalysisService.java b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/EventRelevantAnalysisService.java index eb9a2e104..511b6f0f0 100644 --- a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/EventRelevantAnalysisService.java +++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/EventRelevantAnalysisService.java @@ -3,6 +3,8 @@ package com.njcn.advance.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.njcn.advance.mapper.RmpEventAdvanceMapper; +import com.njcn.advance.pojo.po.PqsRelevanceLog; +import com.njcn.event.pojo.po.RmpEventDetailAssPO; import com.njcn.event.pojo.po.RmpEventDetailPO; import com.njcn.event.pojo.vo.AdvanceEventDetailVO; import com.njcn.web.pojo.param.BaseParam; @@ -27,4 +29,33 @@ public interface EventRelevantAnalysisService extends IService Page querySagEventsPage(BaseParam baseParam); + + + /** + * + * @author cdf + * @date 2023/8/11 + */ + Page queryEventsAssPage(BaseParam baseParam); + + /** + * + * @author cdf + * @date 2023/8/11 + */ + Page queryEventDetailByAssId(String assId,Integer pageNum,Integer pageSize); + + /** + * + * @author cdf + * @date 2023/8/11 + */ + Page queryRelevantLogPage(BaseParam baseParam); + + /** + * 删除关联操作记录 + * @author cdf + * @date 2023/8/11 + */ + boolean delRelevantLog(String id); } diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/impl/EventRelevantAnalysisServiceImpl.java b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/impl/EventRelevantAnalysisServiceImpl.java index 4082a4f88..9db68ee6a 100644 --- a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/impl/EventRelevantAnalysisServiceImpl.java +++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/impl/EventRelevantAnalysisServiceImpl.java @@ -3,16 +3,15 @@ package com.njcn.advance.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.core.date.TimeInterval; import cn.hutool.core.util.IdUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.advance.enums.AdvanceResponseEnum; -import com.njcn.advance.mapper.RelevantMapper; +import com.njcn.advance.mapper.RelevantLogMapper; import com.njcn.advance.mapper.RmpEventAdvanceMapper; import com.njcn.advance.mapper.RmpEventDetailAssMapper; import com.njcn.advance.pojo.dto.SagEvent; @@ -28,20 +27,24 @@ import com.njcn.device.pq.api.GeneralDeviceInfoClient; import com.njcn.device.pq.api.LineFeignClient; import com.njcn.device.pq.pojo.vo.AreaLineInfoVO; import com.njcn.event.api.RmpEventDetailFeignClient; +import com.njcn.event.pojo.po.RmpEventDetailAssPO; import com.njcn.event.pojo.po.RmpEventDetailPO; import com.njcn.event.pojo.vo.AdvanceEventDetailVO; import com.njcn.system.api.DicDataFeignClient; import com.njcn.system.enums.DicDataEnum; import com.njcn.system.enums.DicDataTypeEnum; import com.njcn.system.enums.SystemResponseEnum; +import com.njcn.system.pojo.po.Area; import com.njcn.system.pojo.po.DictData; +import com.njcn.user.api.UserFeignClient; +import com.njcn.user.pojo.po.User; +import com.njcn.web.factory.PageFactory; import com.njcn.web.pojo.param.BaseParam; import com.njcn.web.utils.RequestUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.RequestParam; import java.sql.Timestamp; import java.text.SimpleDateFormat; @@ -66,7 +69,7 @@ public class EventRelevantAnalysisServiceImpl extends ServiceImpl baseList = handleEvent.getData(generalDeviceInfoClient,startTime,endTime); + List baseList = handleEvent.getData(generalDeviceInfoClient, startTime, endTime); // 传入的处理事件根据物理隔绝进行分组 - List strategyList = relevantMapper.getLogic(); + List strategyList = relevantLogMapper.getLogic(); if (CollectionUtil.isNotEmpty(strategyList)) { List listSagEvent = new ArrayList<>(); @@ -120,7 +125,6 @@ public class EventRelevantAnalysisServiceImpl extends ServiceImpl { int index = 1; @@ -211,7 +215,7 @@ public class EventRelevantAnalysisServiceImpl extends ServiceImpl querySagEventsPage(BaseParam baseParam) { - return null; + List lineIds = generalDeviceInfoClient.deptGetRunLineEvent(RequestUtil.getDeptIndex()).getData(); + if (CollUtil.isEmpty(lineIds)) { + throw new BusinessException("当前部门下不存在监测点"); + } + + + List vTime = PubUtils.checkLocalDate(baseParam.getSearchBeginTime(), baseParam.getSearchEndTime()); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.and(i -> i.isNull(RmpEventDetailPO::getEventassIndex).or().eq(RmpEventDetailPO::getEventassIndex, "")) + .between(RmpEventDetailPO::getStartTime, vTime.get(0), vTime.get(1)).orderByAsc(RmpEventDetailPO::getStartTime) + ; + + + Page poPage = eventAdvanceMapper.selectPage(new Page<>(PageFactory.getPageNum(baseParam), PageFactory.getPageSize(baseParam)), lambdaQueryWrapper); + List rmpEventDetailPOList = poPage.getRecords(); + + if (CollectionUtil.isEmpty(rmpEventDetailPOList)) { + return new Page<>(); + } + + List tempLineIds = rmpEventDetailPOList.stream().map(RmpEventDetailPO::getLineId).distinct().collect(Collectors.toList()); + + List temLine = lineFeignClient.getBaseLineAreaInfo(tempLineIds).getData(); + Map map = temLine.stream().collect(Collectors.toMap(AreaLineInfoVO::getLineId, Function.identity())); + + List advanceEventDetailVOList = BeanUtil.copyToList(rmpEventDetailPOList, AdvanceEventDetailVO.class); + advanceEventDetailVOList = advanceEventDetailVOList.stream().peek(item -> { + if (map.containsKey(item.getLineId())) { + AreaLineInfoVO areaLineInfoVO = map.get(item.getLineId()); + item.setGdName(areaLineInfoVO.getGdName()); + item.setSubName(areaLineInfoVO.getSubName()); + item.setLineName(areaLineInfoVO.getLineName()); + item.setNum(areaLineInfoVO.getNum()); + item.setVoltageId(areaLineInfoVO.getVoltageId()); + } + }).collect(Collectors.toList()); + + + Page page = new Page<>(poPage.getCurrent(), poPage.getSize()); + page.setTotal(poPage.getTotal()); + page.setRecords(advanceEventDetailVOList); + return page; + + + } + + @Override + public Page queryEventsAssPage(BaseParam baseParam) { + List timeV = PubUtils.checkLocalDate(baseParam.getSearchBeginTime(), baseParam.getSearchEndTime()); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.between(RmpEventDetailAssPO::getTimeId, timeV.get(0), timeV.get(1)) + .orderByAsc(RmpEventDetailAssPO::getTimeId); + Page page = rmpEventDetailAssMapper.selectPage(new Page<>(PageFactory.getPageNum(baseParam), PageFactory.getPageSize(baseParam)), lambdaQueryWrapper); + return page; + } + + @Override + public Page queryEventDetailByAssId(String assId,Integer pageNum,Integer pageSize) { + Page pageResult = new Page<>(pageNum,pageSize); + + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(RmpEventDetailPO::getEventassIndex,assId) + .orderByAsc(RmpEventDetailPO::getStartTime); + Page page = eventAdvanceMapper.selectPage(new Page<>(pageNum,pageSize),lambdaQueryWrapper); + List pos = page.getRecords(); + if(CollectionUtil.isEmpty(pos)){ + return pageResult; + } + + List lineIds = pos.stream().map(RmpEventDetailPO::getMeasurementPointId).distinct().collect(Collectors.toList()); + List lineAres = lineFeignClient.getBaseLineAreaInfo(lineIds).getData(); + Map map = lineAres.stream().collect(Collectors.toMap(AreaLineInfoVO::getLineId,Function.identity())); + + + + + List advanceEventDetailVOList = BeanUtil.copyToList(pos,AdvanceEventDetailVO.class); + advanceEventDetailVOList = advanceEventDetailVOList.stream().peek(item->{ + if(map.containsKey(item.getMeasurementPointId())){ + AreaLineInfoVO areaLineInfoVO = map.get(item.getMeasurementPointId()); + item.setGdName(areaLineInfoVO.getGdName()); + item.setSubName(areaLineInfoVO.getSubName()); + item.setLineName(areaLineInfoVO.getLineName()); + item.setVoltageId(areaLineInfoVO.getVoltageScale()); + } + }).collect(Collectors.toList()); + pageResult.setRecords(advanceEventDetailVOList); + pageResult.setTotal(page.getTotal()); + return pageResult; + } + + @Override + public Page queryRelevantLogPage(BaseParam baseParam) { + LambdaQueryWrapper logLambdaQueryWrapper = new LambdaQueryWrapper<>(); + logLambdaQueryWrapper.orderByAsc(PqsRelevanceLog::getTimeId); + Page page = relevantLogMapper.selectPage(new Page<>(PageFactory.getPageNum(baseParam), PageFactory.getPageSize(baseParam)), logLambdaQueryWrapper); + List temList = page.getRecords(); + if (CollectionUtil.isEmpty(temList)) { + return page; + } + List userIds = temList.stream().map(PqsRelevanceLog::getCreateBy).distinct().collect(Collectors.toList()); + List userTem = userFeignClient.getUserByIdList(userIds).getData(); + Map map = userTem.stream().collect(Collectors.toMap(User::getId, Function.identity())); + temList = temList.stream().peek(item -> { + if (map.containsKey(item.getCreateBy())) { + item.setCreateName(map.get(item.getCreateBy()).getName()); + } + }).collect(Collectors.toList()); + page.setRecords(temList); + return page; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public boolean delRelevantLog(String id) { + PqsRelevanceLog pqsRelevanceLog = relevantLogMapper.selectById(id); + if (Objects.nonNull(pqsRelevanceLog)) { + + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(RmpEventDetailAssPO::getCreateTime, pqsRelevanceLog.getTimeId()).select(RmpEventDetailAssPO::getEventAssId); + List rmpEventDetailAssPOList = rmpEventDetailAssMapper.selectList(lambdaQueryWrapper); + List temAssIds = rmpEventDetailAssPOList.stream().map(RmpEventDetailAssPO::getEventAssId).collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(temAssIds)) { + + rmpEventDetailAssMapper.deleteBatchIds(temAssIds); + + + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.in(RmpEventDetailPO::getEventassIndex, temAssIds); + + + RmpEventDetailPO update = new RmpEventDetailPO(); + update.setEventassIndex(""); + eventAdvanceMapper.update(update, updateWrapper); + } + + } + relevantLogMapper.deleteById(id); + + + return true; } @@ -263,13 +407,13 @@ public class EventRelevantAnalysisServiceImpl extends ServiceImpl getData(GeneralDeviceInfoClient generalDeviceInfoClient,LocalDateTime startTime,LocalDateTime endTime) { + public List getData(GeneralDeviceInfoClient generalDeviceInfoClient, LocalDateTime startTime, LocalDateTime endTime) { List entityGroupEvtDataList = new ArrayList<>(); List advanceType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.EVENT_TYPE.getCode()).getData(); Map advanceMap = advanceType.stream().collect(Collectors.toMap(DictData::getId, Function.identity())); - List advanceEventDetailVOLsit = querySagEventsAll(startTime,endTime); + List advanceEventDetailVOLsit = querySagEventsAll(startTime, endTime); for (int i = 0; i < advanceEventDetailVOLsit.size(); i++) { // 获取监测点线路序号 @@ -412,7 +556,7 @@ public class EventRelevantAnalysisServiceImpl extends ServiceImpl list = relevantMapper.getLogic(); + List list = relevantLogMapper.getLogic(); if (CollectionUtil.isNotEmpty(list)) { Map> tfMap = list.stream().collect(Collectors.groupingBy(EntityLogic::getTPIndex)); @@ -438,8 +582,7 @@ public class EventRelevantAnalysisServiceImpl extends ServiceImpl querySagEventsAll(LocalDateTime startTime,LocalDateTime endTime) { + public List querySagEventsAll(LocalDateTime startTime, LocalDateTime endTime) { List lineIds = generalDeviceInfoClient.deptGetRunLineEvent(RequestUtil.getDeptIndex()).getData(); if (CollUtil.isNotEmpty(lineIds)) { diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/impl/EventWaveAnalysisServiceImpl.java b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/impl/EventWaveAnalysisServiceImpl.java index 24a539165..5990ae51c 100644 --- a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/impl/EventWaveAnalysisServiceImpl.java +++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/impl/EventWaveAnalysisServiceImpl.java @@ -219,19 +219,11 @@ public class EventWaveAnalysisServiceImpl implements EventWaveAnalysisService { } log.info("高级算法波形计算" + timeInterval.interval()); - return null; + return entityAdvancedData; } - // 1-值调用暂降类型dll 2-两个dll都调用 - private void judgeEvt(int type, String eventIndex, WaveData waveData, Rect rect, EntityAdvancedData entityAdvancedData) { - try { - //getDataFromDLL(type, eventIndex, waveData, rect, entityAdvancedData); - } catch (Exception e) { - //eventDetailMapper.updateDealFlag(3, eventIndex); //计算失败 - log.error(e.getMessage()); - } - } + /** * @return diff --git a/pqs-common/common-core/src/main/java/com/njcn/common/utils/PubUtils.java b/pqs-common/common-core/src/main/java/com/njcn/common/utils/PubUtils.java index 8bf6688a0..e723aa8a3 100644 --- a/pqs-common/common-core/src/main/java/com/njcn/common/utils/PubUtils.java +++ b/pqs-common/common-core/src/main/java/com/njcn/common/utils/PubUtils.java @@ -224,7 +224,7 @@ public class PubUtils { * @author cdf * @date 2023/8/10 */ - public static List checkLocalDateTime(String startTime,String endTime) { + public static List checkLocalDate(String startTime,String endTime) { List resultList = new ArrayList<>(); if(StrUtil.isBlank(startTime) || StrUtil.isBlank(endTime)){ throw new BusinessException(CommonResponseEnum.TIME_ERROR); diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/enums/SocketResponseEnum.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/enums/SocketResponseEnum.java new file mode 100644 index 000000000..b22982ecd --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/enums/SocketResponseEnum.java @@ -0,0 +1,38 @@ +package com.njcn.device.pq.enums; + +/** + * pqs + * + * @author cdf + * @date 2023/8/14 + */ +public enum SocketResponseEnum { + + + /** + * socket返回状态码 + */ + SUCCEED("10000","成功"), + JSON_ERROR("10003","JSON字符串解析出错") + + + + ; + + + + + + + + + + private final String code; + + private final String message; + + SocketResponseEnum(String code, String message) { + this.code = code; + this.message = message; + } +} diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/utils/SocketClientComm.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/utils/SocketClientComm.java new file mode 100644 index 000000000..fc2987b8b --- /dev/null +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/utils/SocketClientComm.java @@ -0,0 +1,107 @@ +package com.njcn.device.pq.utils; + +import cn.hutool.core.util.IdUtil; +import cn.hutool.socket.SocketUtil; +import lombok.extern.slf4j.Slf4j; +import net.sf.json.JSONObject; +import org.springframework.stereotype.Component; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.net.InetSocketAddress; +import java.net.Socket; +import java.nio.charset.StandardCharsets; +import java.util.Date; + +/** + * pqs + * + * @author cdf + * @date 2023/8/10 + */ +@Component +@Slf4j +public class SocketClientComm { + + + /** + * 装置版本升级 + * + * @author cdf + * @date 2023/8/10 + */ + private void normalSocket(String ip,Integer port,String msg) { + + Socket socket = null; + BufferedReader in = null; + OutputStream out = null; + try{ + socket = new Socket(ip,port); + socket.setSoTimeout(3000); + in = new BufferedReader(new InputStreamReader(socket.getInputStream(),StandardCharsets.UTF_8)); + out = socket.getOutputStream(); + + + + + + String expression; + + while ((expression = in.readLine())==null){break;} { + try { + //System.out.println(expression); + JSONObject res = JSONObject.fromObject(expression); + + + if("10000".equalsIgnoreCase(res.get("resultcode").toString())){ + //成功 + + }else { + //错误 + + } + + } catch (Exception e) { + e.printStackTrace(); + } + + } + }catch(Exception e){ + e.printStackTrace(); + + }finally{ + //一些必要的清理工作 + if(in != null){ + try { + in.close(); + } catch (IOException e) { + e.printStackTrace(); + } + in = null; + } + if(out != null){ + try { + out.close(); + } catch (IOException e) { + e.printStackTrace(); + } + out = null; + } + if(socket != null){ + try { + socket.close(); + } catch (IOException e) { + e.printStackTrace(); + } + socket = null; + } + + //System.out.println("end---"); + } + + } + + +} diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RmpEventDetailAssPO.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RmpEventDetailAssPO.java index f80d90518..7d737122a 100644 --- a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RmpEventDetailAssPO.java +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RmpEventDetailAssPO.java @@ -1,6 +1,8 @@ package com.njcn.event.pojo.po; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import com.njcn.db.bo.BaseEntity; import lombok.Data; import lombok.EqualsAndHashCode; @@ -21,17 +23,19 @@ public class RmpEventDetailAssPO extends BaseEntity { /** *事件关联分析表uuid */ + @TableId("Event_Ass_Id") private String eventAssId; /** *发生时间(归一化中第一个时间) */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS") private LocalDateTime timeId; /** *关联事件描述 */ - private String describe; + private String contentDes; /** *是否进行范围分析(0:分析;1:未分析) diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/AdvanceEventDetailVO.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/AdvanceEventDetailVO.java index 46650f30d..063af3857 100644 --- a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/AdvanceEventDetailVO.java +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/AdvanceEventDetailVO.java @@ -96,10 +96,15 @@ public class AdvanceEventDetailVO { private Double transientValue; + @ApiModelProperty(value = "供电公司名称") private String gdName; + @ApiModelProperty(value = "变电站名称") private String subName; + @ApiModelProperty(value = "监测点名称") + private String lineName; + private String voltageId; @ApiModelProperty(value = "特征值是否计算") diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/MonitorPointController.java b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/MonitorPointController.java index 7cf30a632..2827dfbf0 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/MonitorPointController.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/MonitorPointController.java @@ -45,7 +45,7 @@ public class MonitorPointController extends BaseController { * @author cdf * @date 2022/6/23 */ - @OperateInfo(info = LogEnum.BUSINESS_COMMON) + /* @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/getEventAnalyse") @ApiOperation("获取监测点暂降事件分析") @ApiImplicitParam(name = "eventBaseParam", value = "暂降事件分析参数", required = true) @@ -53,7 +53,7 @@ public class MonitorPointController extends BaseController { String methodDescribe = getMethodDescribe("getEventAnalyse"); Page page = eventAnalysisService.getEventAnalyse(eventBaseParam); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe); - } + }*/ /** * 获取电压暂态表及密度图 diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/EventAnalysisService.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/EventAnalysisService.java index 37bb556f1..2a2f82e40 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/EventAnalysisService.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/EventAnalysisService.java @@ -23,7 +23,7 @@ public interface EventAnalysisService { * @author cdf * @date 2022/6/23 */ - Page getEventAnalyse(EventBaseParam eventBaseParam); + //Page getEventAnalyse(EventBaseParam eventBaseParam); /** * 获取坐标 diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/EventAnalysisServiceImpl.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/EventAnalysisServiceImpl.java index 5f6551df9..bdc0498da 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/EventAnalysisServiceImpl.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/EventAnalysisServiceImpl.java @@ -65,7 +65,7 @@ public class EventAnalysisServiceImpl implements EventAnalysisService { private final DicDataFeignClient dicDataFeignClient; - @Override + /*@Override public Page getEventAnalyse(EventBaseParam eventBaseParam) { //查询sql语句 @@ -97,7 +97,7 @@ public class EventAnalysisServiceImpl implements EventAnalysisService { page.setCurrent(eventBaseParam.getPageNum()); page.setSize(eventBaseParam.getPageSize()); return page; - } + }*/ /** * 时间无ID全查询