From 8e4c4383c07fb864393d08913bc4f4aaaff377f5 Mon Sep 17 00:00:00 2001 From: chendaofei <857448963@qq.com> Date: Fri, 28 Nov 2025 16:43:04 +0800 Subject: [PATCH] =?UTF-8?q?1.bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/line/CslineController.java | 9 ++++ .../csdevice/service/CsLinePOService.java | 2 + .../service/impl/CsLinePOServiceImpl.java | 50 ++++++++++++++++--- .../csharmonic/pojo/vo/event/F47Curve.java | 3 ++ .../service/impl/CsEventPOServiceImpl.java | 4 +- .../impl/event/EventOverviewServiceImpl.java | 11 +++- 6 files changed, 70 insertions(+), 9 deletions(-) diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/line/CslineController.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/line/CslineController.java index f6436f1..97426a0 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/line/CslineController.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/line/CslineController.java @@ -231,6 +231,15 @@ public class CslineController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); } + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @GetMapping("/getSimpleLine") + @ApiOperation("查询登录用户拥有的监测点台账") + public HttpResult> getSimpleLine(){ + String methodDescribe = getMethodDescribe("getSimpleLine"); + List list = csLinePOService.getSimpleLine(); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/getLineByName") diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/CsLinePOService.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/CsLinePOService.java index d095c54..220ed19 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/CsLinePOService.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/CsLinePOService.java @@ -76,6 +76,8 @@ public interface CsLinePOService extends IService{ List getAllLine(); + List getSimpleLine(); + List getLineBySensitiveUser(List list); Page getSensitiveUserLineList(BaseParam param); diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLinePOServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLinePOServiceImpl.java index 1388f96..022bfd5 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLinePOServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLinePOServiceImpl.java @@ -12,24 +12,28 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.access.api.CsLineLatestDataFeignClient; import com.njcn.access.pojo.po.CsLineLatestData; +import com.njcn.common.pojo.enums.common.DataStateEnum; +import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.exception.BusinessException; -import com.njcn.csdevice.mapper.CsLedgerMapper; -import com.njcn.csdevice.mapper.CsLinePOMapper; -import com.njcn.csdevice.mapper.CsTerminalLogsMapper; +import com.njcn.common.utils.HttpResultUtil; +import com.njcn.csdevice.mapper.*; import com.njcn.csdevice.pojo.param.CsLineParam; import com.njcn.csdevice.pojo.po.*; import com.njcn.csdevice.pojo.vo.PqSensitiveUserLineVO; -import com.njcn.csdevice.service.CsDevModelService; -import com.njcn.csdevice.service.CsLinePOService; -import com.njcn.csdevice.service.ICsDataSetService; +import com.njcn.csdevice.service.*; import com.njcn.csharmonic.api.PqSensitiveUserFeignClient; import com.njcn.csharmonic.pojo.po.PqSensitiveUser; +import com.njcn.device.biz.commApi.CommTerminalGeneralClient; import com.njcn.oss.constant.OssPath; import com.njcn.oss.utils.FileStorageUtil; import com.njcn.system.api.DicDataFeignClient; import com.njcn.system.enums.DicDataEnum; import com.njcn.system.pojo.po.DictData; +import com.njcn.user.api.UserFeignClient; +import com.njcn.user.pojo.constant.UserType; +import com.njcn.user.pojo.vo.UserVO; import com.njcn.web.pojo.param.BaseParam; +import com.njcn.web.utils.RequestUtil; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -38,6 +42,7 @@ import org.springframework.web.multipart.MultipartFile; import java.time.LocalDateTime; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -63,6 +68,11 @@ public class CsLinePOServiceImpl extends ServiceImpl i private final PqSensitiveUserFeignClient pqSensitiveUserFeignClient; private final FileStorageUtil fileStorageUtil; + private final UserFeignClient userFeignClient; + private final CsEquipmentDeliveryMapper csEquipmentDeliveryMapper; + private final CsDeviceUserPOMapper csDeviceUserPOMapper; + + @Override public List getLineByDev(List list) { @@ -246,6 +256,34 @@ public class CsLinePOServiceImpl extends ServiceImpl i .collect(Collectors.toList()); } + @Override + public List getSimpleLine() { + List devIds = commGetDevIds(RequestUtil.getUserIndex()); + if(CollUtil.isNotEmpty(devIds)){ + List poList = this.lambdaQuery().select(CsLinePO::getLineId,CsLinePO::getName).in(CsLinePO::getDeviceId,devIds) + .eq(CsLinePO::getStatus, DataStateEnum.ENABLE.getCode()).list(); + return poList; + }else { + return Collections.emptyList(); + } + } + + private List commGetDevIds(String userId){ + UserVO userVO = userFeignClient.getUserById(userId).getData(); + List devIds; + if(userVO.getType().equals(UserType.SUPER_ADMINISTRATOR ) || userVO.getType().equals(UserType.ADMINISTRATOR )){ + devIds = csEquipmentDeliveryMapper.selectList(new LambdaQueryWrapper().eq(CsEquipmentDeliveryPO::getStatus,DataStateEnum.ENABLE)).stream().map(CsEquipmentDeliveryPO::getId).collect(Collectors.toList()); + }else { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.select(CsDeviceUserPO::getDeviceId) + .and(w->w.eq(CsDeviceUserPO::getPrimaryUserId,userId).or().eq(CsDeviceUserPO::getSubUserId,userId)) + .eq(CsDeviceUserPO::getStatus, DataStateEnum.ENABLE.getCode()); + List devList = this.csDeviceUserPOMapper.selectList(lambdaQueryWrapper); + devIds = devList.stream().map(CsDeviceUserPO::getDeviceId).distinct().collect(Collectors.toList()); + } + return devIds; + } + @Override public List getLineBySensitiveUser(List list) { return this.lambdaQuery() diff --git a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/event/F47Curve.java b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/event/F47Curve.java index 14278cf..1865c65 100644 --- a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/event/F47Curve.java +++ b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/event/F47Curve.java @@ -18,6 +18,9 @@ public class F47Curve { @ApiModelProperty(name = "eventId", value = "暂降id") private String eventId; + @ApiModelProperty(name = "lineName", value = "监测点名称") + private String lineName; + @ApiModelProperty(name = "time", value = "事件发生时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS",timezone = "GMT+8") private LocalDateTime time; diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CsEventPOServiceImpl.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CsEventPOServiceImpl.java index deecf24..3efcd1f 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CsEventPOServiceImpl.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CsEventPOServiceImpl.java @@ -178,8 +178,8 @@ public class CsEventPOServiceImpl extends ServiceImpl pageEvent(EventStatisticParam baseParam) { Page result = new Page<>(PageFactory.getPageNum(baseParam),PageFactory.getPageSize(baseParam)); - DateTime begin = DateUtil.parse(baseParam.getSearchBeginTime(), DatePattern.NORM_DATE_PATTERN); - DateTime end = DateUtil.parse(baseParam.getSearchEndTime(), DatePattern.NORM_DATE_PATTERN); + DateTime begin = DateUtil.beginOfDay(DateUtil.parse(baseParam.getSearchBeginTime(), DatePattern.NORM_DATE_PATTERN)); + DateTime end = DateUtil.endOfDay(DateUtil.parse(baseParam.getSearchEndTime(), DatePattern.NORM_DATE_PATTERN)); List EVENT_TAGS = Arrays.asList( EVT_SYS_DIPSTR.getCode(), diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/event/EventOverviewServiceImpl.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/event/EventOverviewServiceImpl.java index 55d52a9..72f5edc 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/event/EventOverviewServiceImpl.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/event/EventOverviewServiceImpl.java @@ -157,13 +157,21 @@ public class EventOverviewServiceImpl implements EventOverviewService { return Collections.emptyList(); } - List csEventPOList = csEventPOService.lambdaQuery().select(CsEventPO::getId,CsEventPO::getStartTime,CsEventPO::getTag,CsEventPO::getPersistTime,CsEventPO::getAmplitude) + List csEventPOList = csEventPOService.lambdaQuery().select(CsEventPO::getId,CsEventPO::getLineId,CsEventPO::getStartTime,CsEventPO::getTag,CsEventPO::getPersistTime,CsEventPO::getAmplitude) .between(CsEventPO::getStartTime, start, end) .eq(CsEventPO::getType, CsEventEnum.EVENT_TYPE.getCode()) .in(CsEventPO::getTag, EVENT_TAGS) .in(CsEventPO::getLineId,ids) .list(); + if(CollUtil.isEmpty(csEventPOList)){ + return Collections.emptyList(); + } + List monitorIds = csEventPOList.stream().map(CsEventPO::getLineId).distinct().collect(Collectors.toList()); + List csLinePOList = csLineFeignClient.queryLineById(monitorIds).getData(); + Map nameMap = csLinePOList.stream().collect(Collectors.toMap(CsLinePO::getLineId, CsLinePO::getName)); + + List f47CurveList = csEventPOList.stream().map(item->{ F47Curve f47Curve = new F47Curve(); f47Curve.setEventId(item.getId()); @@ -171,6 +179,7 @@ public class EventOverviewServiceImpl implements EventOverviewService { f47Curve.setTag(item.getTag()); f47Curve.setPersistTime(BigDecimal.valueOf(item.getPersistTime()).setScale(3, RoundingMode.HALF_UP)); f47Curve.setEventValue(BigDecimal.valueOf(item.getAmplitude())); + f47Curve.setLineName(nameMap.getOrDefault(item.getLineId(),"异常测点")); return f47Curve; }).collect(Collectors.toList()); return f47CurveList;