diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/CsLineFeignClient.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/CsLineFeignClient.java index 7b30b3d..09759cc 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/CsLineFeignClient.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/CsLineFeignClient.java @@ -1,11 +1,7 @@ package com.njcn.csdevice.api; -import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.constant.ServerInfo; -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.csdevice.api.fallback.CsLineClientFallbackFactory; import com.njcn.csdevice.pojo.param.CsLineParam; import com.njcn.csdevice.pojo.po.CsLinePO; diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/IntegrityFeignClient.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/IntegrityFeignClient.java index f5226a6..8877c58 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/IntegrityFeignClient.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/IntegrityFeignClient.java @@ -3,11 +3,12 @@ package com.njcn.csdevice.api; import com.njcn.common.pojo.constant.ServerInfo; import com.njcn.common.pojo.response.HttpResult; import com.njcn.csdevice.api.fallback.IntegrityClientFallbackFactory; +import com.njcn.csdevice.param.IcdBzParam; import com.njcn.csdevice.pojo.po.RStatIntegrityD; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RequestBody; import java.util.List; @@ -18,6 +19,6 @@ import java.util.List; public interface IntegrityFeignClient { @PostMapping("/list") - HttpResult> list(@Validated @RequestParam("list") List list, @RequestParam("startTime") String startTime, @RequestParam("endTime") String endTime); + HttpResult> list(@RequestBody @Validated IcdBzParam param); } diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/OnlineRateFeignClient.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/OnlineRateFeignClient.java index 4786b92..78c8089 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/OnlineRateFeignClient.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/OnlineRateFeignClient.java @@ -3,11 +3,12 @@ package com.njcn.csdevice.api; import com.njcn.common.pojo.constant.ServerInfo; import com.njcn.common.pojo.response.HttpResult; import com.njcn.csdevice.api.fallback.onlineRateClientFallbackFactory; +import com.njcn.csdevice.param.IcdBzParam; import com.njcn.csdevice.pojo.po.RStatOnlineRateD; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RequestBody; import java.util.List; @@ -18,6 +19,6 @@ import java.util.List; public interface OnlineRateFeignClient { @PostMapping("/list") - HttpResult> list(@Validated @RequestParam("list") List list, @RequestParam("startTime") String startTime, @RequestParam("endTime") String endTime); + HttpResult> list(@RequestBody @Validated IcdBzParam param); } diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/IntegrityClientFallbackFactory.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/IntegrityClientFallbackFactory.java index 7c15fb0..d6560aa 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/IntegrityClientFallbackFactory.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/IntegrityClientFallbackFactory.java @@ -4,6 +4,7 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.exception.BusinessException; import com.njcn.common.pojo.response.HttpResult; import com.njcn.csdevice.api.IntegrityFeignClient; +import com.njcn.csdevice.param.IcdBzParam; import com.njcn.csdevice.pojo.po.RStatIntegrityD; import feign.hystrix.FallbackFactory; import lombok.extern.slf4j.Slf4j; @@ -26,9 +27,8 @@ public class IntegrityClientFallbackFactory implements FallbackFactory finalExceptionEnum = exceptionEnum; return new IntegrityFeignClient() { - @Override - public HttpResult> list(List list, String startTime, String endTime) { + public HttpResult> list(IcdBzParam param) { log.error("{}异常,降级处理,异常为:{}","查询数据异常",cause.toString()); throw new BusinessException(finalExceptionEnum); } diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/onlineRateClientFallbackFactory.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/onlineRateClientFallbackFactory.java index bc0edb3..d3f596b 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/onlineRateClientFallbackFactory.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/onlineRateClientFallbackFactory.java @@ -4,6 +4,7 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.exception.BusinessException; import com.njcn.common.pojo.response.HttpResult; import com.njcn.csdevice.api.OnlineRateFeignClient; +import com.njcn.csdevice.param.IcdBzParam; import com.njcn.csdevice.pojo.po.RStatOnlineRateD; import feign.hystrix.FallbackFactory; import lombok.extern.slf4j.Slf4j; @@ -28,7 +29,7 @@ public class onlineRateClientFallbackFactory implements FallbackFactory> list(List list, String startTime, String endTime) { + public HttpResult> list(IcdBzParam param) { log.error("{}异常,降级处理,异常为:{}","查询数据异常",cause.toString()); throw new BusinessException(finalExceptionEnum); } diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/CsEquipmentDeliveryAddParm.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/CsEquipmentDeliveryAddParm.java index 317edaf..afb2ee8 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/CsEquipmentDeliveryAddParm.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/CsEquipmentDeliveryAddParm.java @@ -97,4 +97,7 @@ public class CsEquipmentDeliveryAddParm implements Serializable { @ApiModelProperty(value="项目id") private String projectId; + @ApiModelProperty(value="日志等级(NORMAL、DEBUG、WARN、ERROR)") + private String devLogLevel; + } \ No newline at end of file diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/CsEquipmentDeliveryAuditParm.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/CsEquipmentDeliveryAuditParm.java index c3a6709..95ce8a7 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/CsEquipmentDeliveryAuditParm.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/CsEquipmentDeliveryAuditParm.java @@ -101,4 +101,7 @@ public class CsEquipmentDeliveryAuditParm { @ApiModelProperty(value="前置机进程号") private Integer nodeProcess; + + @ApiModelProperty(value="日志等级(NORMAL、DEBUG、WARN、ERROR)") + private String devLogLevel; } \ No newline at end of file diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/CsLedgerParam.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/CsLedgerParam.java index 53c5f81..6bf4e0d 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/CsLedgerParam.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/CsLedgerParam.java @@ -56,6 +56,8 @@ public class CsLedgerParam extends BaseEntity { @NotBlank(message = "台账表Id不能为空") @Pattern(regexp = PatternRegex.SYSTEM_ID, message = ValidMessage.ID_FORMAT_ERROR) private String id; + + private String pids; } diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/CsLineParam.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/CsLineParam.java index bbe6536..eba8d8b 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/CsLineParam.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/CsLineParam.java @@ -145,6 +145,14 @@ public class CsLineParam extends BaseEntity { */ private String position; + /** + * 日志等级(NORMAL、DEBUG、WARN、ERROR) + */ + private String lineLogLevel; + /** + * 是否是主要监测点(0: 不是 1:是) + */ + private Integer isImportant; } \ No newline at end of file diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsEquipmentDeliveryPO.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsEquipmentDeliveryPO.java index 1b1d16b..db47e39 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsEquipmentDeliveryPO.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsEquipmentDeliveryPO.java @@ -130,4 +130,10 @@ public class CsEquipmentDeliveryPO extends BaseEntity { @TableField(value = "node_process") private Integer nodeProcess; + /** + * 日志等级(NORMAL、DEBUG、WARN、ERROR) + */ + @TableField(value = "dev_log_level") + private String devLogLevel; + } \ No newline at end of file diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsLinePO.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsLinePO.java index 38baae7..4adda16 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsLinePO.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsLinePO.java @@ -165,4 +165,16 @@ public class CsLinePO extends BaseEntity { */ @TableField(value = "report_file_path") private String reportFilePath; + + /** + * 日志等级(NORMAL、DEBUG、WARN、ERROR) + */ + @TableField(value = "line_log_level") + private String lineLogLevel; + + /** + * 是否是主要监测点(0: 不是 1:是) + */ + @TableField(value = "is_important") + private Integer isImportant; } diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/DeviceInfo.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/DeviceInfo.java index 1cd0ed1..3173d8f 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/DeviceInfo.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/DeviceInfo.java @@ -6,7 +6,9 @@ import lombok.Data; import java.io.Serializable; import java.util.List; -//台账信息 +/** + * @author xy + */ //台账信息 @Data public class DeviceInfo implements Serializable { @@ -31,6 +33,9 @@ public class DeviceInfo implements Serializable { @ApiModelProperty("对时启动标志") private boolean rightTime; + @ApiModelProperty("终端日志等级") + private String devLogLevel; + @ApiModelProperty("监测点集合") private List monitorData; @@ -70,6 +75,9 @@ public class DeviceInfo implements Serializable { @ApiModelProperty("ct2") private Double ct2; + + @ApiModelProperty("监测点日志等级") + private String lineLogLevel; } } \ No newline at end of file diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/EngineeringProjectRelationVo.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/EngineeringProjectRelationVo.java index c89ab4b..92f0058 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/EngineeringProjectRelationVo.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/EngineeringProjectRelationVo.java @@ -20,8 +20,14 @@ public class EngineeringProjectRelationVo implements Serializable { @ApiModelProperty("工程名称") private String engineeringName; - @ApiModelProperty("区域") - private String engineeringArea; + @ApiModelProperty("省ID") + private String provinceId; + + @ApiModelProperty("市ID") + private String cityId; + + @ApiModelProperty("区域名称") + private String engineeringAreaName; @ApiModelProperty("工程备注") private String engineeringRemark; @@ -51,6 +57,9 @@ public class EngineeringProjectRelationVo implements Serializable { @ApiModelProperty("项目排序") private Integer projectSort; + @ApiModelProperty("拓扑图id") + private String topologyInfoId; + @ApiModelProperty("拓扑图信息") private String topologyInfo; diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/LineDetailDataVO.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/LineDetailDataVO.java index c791abf..d21a947 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/LineDetailDataVO.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/LineDetailDataVO.java @@ -132,4 +132,7 @@ public class LineDetailDataVO { @ApiModelProperty(name = "对象类型大类") private String bigObjType; + + @ApiModelProperty(name = "监测点数据类型 一次值:Primary 二次值:Secondary") + private String dataLevel; } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/data/RStatIntegrityDController.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/data/RStatIntegrityDController.java index 1fa9415..6b30ded 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/data/RStatIntegrityDController.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/data/RStatIntegrityDController.java @@ -6,6 +6,7 @@ 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.csdevice.param.IcdBzParam; import com.njcn.csdevice.pojo.po.RStatIntegrityD; import com.njcn.csdevice.service.IRStatIntegrityDService; import com.njcn.csharmonic.pojo.param.StatisticsDataParam; @@ -50,9 +51,9 @@ public class RStatIntegrityDController extends BaseController { @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/list") @ApiOperation("获取数据") - public HttpResult> list(@Validated @RequestParam("list") List list, @RequestParam("startTime") String startTime, @RequestParam("endTime") String endTime){ + public HttpResult> list(@RequestBody @Validated IcdBzParam param){ String methodDescribe = getMethodDescribe("list"); - List result = irStatIntegrityDService.getData(list,startTime,endTime); + List result = irStatIntegrityDService.getData(param.getLineList(),param.getStartTime(),param.getEndTime()); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/data/RStatOnlineRateDController.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/data/RStatOnlineRateDController.java index 3104af1..750242e 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/data/RStatOnlineRateDController.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/data/RStatOnlineRateDController.java @@ -6,6 +6,7 @@ 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.csdevice.param.IcdBzParam; import com.njcn.csdevice.pojo.po.RStatOnlineRateD; import com.njcn.csdevice.service.IRStatOnlineRateDService; import com.njcn.csharmonic.pojo.param.StatisticsDataParam; @@ -16,7 +17,10 @@ import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; +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.util.List; @@ -50,9 +54,9 @@ public class RStatOnlineRateDController extends BaseController { @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/list") @ApiOperation("获取数据") - public HttpResult> list(@Validated @RequestParam("list") List list, @RequestParam("startTime") String startTime, @RequestParam("endTime") String endTime){ + public HttpResult> list(@RequestBody @Validated IcdBzParam param){ String methodDescribe = getMethodDescribe("list"); - List result = rStatOnlineRateDService.getData(list,startTime,endTime); + List result = rStatOnlineRateDService.getData(param.getLineList(),param.getStartTime(),param.getEndTime()); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/AppTopologyDiagramService.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/AppTopologyDiagramService.java index ca3bebe..bec2f59 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/AppTopologyDiagramService.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/AppTopologyDiagramService.java @@ -56,4 +56,6 @@ public interface AppTopologyDiagramService extends IService queryTopologyDiagramPage(AppTopologyDiagramQueryPageParm appTopologyDiagramQueryPageParm); Boolean checkCanDelete(String id); + + AppTopologyDiagramPO getByProjectId(String projectId); } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/AppTopologyDiagramServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/AppTopologyDiagramServiceImpl.java index 37d0a5f..0d47f21 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/AppTopologyDiagramServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/AppTopologyDiagramServiceImpl.java @@ -1,6 +1,6 @@ package com.njcn.csdevice.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.Query; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -10,15 +10,18 @@ import com.google.common.base.Objects; import com.njcn.common.pojo.exception.BusinessException; import com.njcn.csdevice.constant.DataParam; import com.njcn.csdevice.enums.AlgorithmResponseEnum; -import com.njcn.csdevice.mapper.*; +import com.njcn.csdevice.mapper.AppLineTopologyDiagramMapper; +import com.njcn.csdevice.mapper.AppProjectMapper; +import com.njcn.csdevice.mapper.AppTopologyDiagramMapper; import com.njcn.csdevice.pojo.param.AppTopologyDiagramAddParm; import com.njcn.csdevice.pojo.param.AppTopologyDiagramAuditParm; import com.njcn.csdevice.pojo.param.AppTopologyDiagramQueryPageParm; import com.njcn.csdevice.pojo.param.AppTopologyDiagramQueryParm; -import com.njcn.csdevice.pojo.po.*; +import com.njcn.csdevice.pojo.po.AppLineTopologyDiagramPO; +import com.njcn.csdevice.pojo.po.AppProjectPO; +import com.njcn.csdevice.pojo.po.AppTopologyDiagramPO; import com.njcn.csdevice.pojo.vo.AppTopologyDiagramVO; import com.njcn.csdevice.pojo.vo.CsLineTopologyTemplateVO; -import com.njcn.csdevice.service.AppLineTopologyDiagramService; import com.njcn.csdevice.service.AppTopologyDiagramService; import com.njcn.csdevice.service.CsLineTopologyTemplateService; import com.njcn.oss.constant.OssPath; @@ -178,4 +181,11 @@ public class AppTopologyDiagramServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppTopologyDiagramPO::getProjectId,projectId).eq(AppTopologyDiagramPO::getStatus,"1"); + return this.getOne(queryWrapper); + } } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsGroupServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsGroupServiceImpl.java index 2b34cf5..d90d22e 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsGroupServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsGroupServiceImpl.java @@ -65,6 +65,11 @@ import java.math.BigDecimal; import java.math.RoundingMode; import java.text.DecimalFormat; import java.time.Instant; +import java.time.LocalDate; +import java.time.ZoneId; +import java.time.ZonedDateTime; +import java.time.format.DateTimeFormatter; +import java.time.temporal.ChronoUnit; import java.util.*; import java.util.concurrent.atomic.AtomicReference; import java.util.function.Function; @@ -102,6 +107,8 @@ public class CsGroupServiceImpl extends ServiceImpl impl private final InfluxDbParamUtil influxDbParamUtil; private final DictTreeFeignClient dictTreeFeignClient; private final DicDataFeignClient dicDataFeignClient; + private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + private static final ZoneId DEFAULT_ZONE = ZoneId.systemDefault(); private final String GRID_SIDE_DICT_CODE = "Grid_Side"; private final String LOAD_SIDE_DICT_CODE = "Load_Side"; @@ -302,9 +309,9 @@ public class CsGroupServiceImpl extends ServiceImpl impl //传1 则是趋势数据tab页面 if("1".equals(type)){ formatQueryParamList(commonStatisticalQueryParam); - List result = new ArrayList(); + List result = new ArrayList<>(); List data1 = equipmentFeignClient.queryDeviceById(Stream.of(commonStatisticalQueryParam.getDevId()).collect(Collectors.toList())).getData(); - List finalCsLinePOList = csLineFeignClient.queryLineById(Arrays.asList(commonStatisticalQueryParam.getLineId())).getData(); + List finalCsLinePOList = csLineFeignClient.queryLineById(Collections.singletonList(commonStatisticalQueryParam.getLineId())).getData(); CsDataSet csDataSet = csDataSetMapper.selectOne(new LambdaQueryWrapper().eq(CsDataSet::getId,finalCsLinePOList.get(0).getDataSetId())); if(Objects.isNull(csDataSet) || StrUtil.isBlank(csDataSet.getDataLevel())){ throw new BusinessException("当前测点数据集主要信息缺失,请联系管理员排查(测点表里面数据集id缺失)"); @@ -444,6 +451,21 @@ public class CsGroupServiceImpl extends ServiceImpl impl vo.setAnotherName(epdPqd.getShowName()); return vo; }).collect(Collectors.toList()); + + //长时闪变 + if (Objects.equals(epdPqd.getOtherName(), "plt")) { + List timeInstants = getTimeInstants(commonStatisticalQueryParam.getStartTime(), commonStatisticalQueryParam.getEndTime(), 2, ChronoUnit.HOURS, DEFAULT_ZONE); + collect1 = collect1.stream() + .filter(vo -> timeInstants.contains(vo.getTime())) + .collect(Collectors.toList()); + } + //短时闪变 || 电压波动 + else if (Objects.equals(epdPqd.getOtherName(), "pst") || Objects.equals(epdPqd.getOtherName(), "fluc")) { + List timeInstants = getTimeInstants(commonStatisticalQueryParam.getStartTime(), commonStatisticalQueryParam.getEndTime(), 10, ChronoUnit.MINUTES, DEFAULT_ZONE); + collect1 = collect1.stream() + .filter(vo -> timeInstants.contains(vo.getTime())) + .collect(Collectors.toList()); + } result.addAll(collect1); }); } @@ -561,6 +583,20 @@ public class CsGroupServiceImpl extends ServiceImpl impl return null; } + public static List getTimeInstants(String startDateStr, String endDateStr, long interval, ChronoUnit unit, ZoneId zone) { + List instants = new ArrayList<>(); + LocalDate startDate = LocalDate.parse(startDateStr, DATE_FORMATTER); + LocalDate endDate = LocalDate.parse(endDateStr, DATE_FORMATTER); + // 转换为指定时区的 ZonedDateTime + ZonedDateTime current = startDate.atStartOfDay(zone); + ZonedDateTime endDateTime = endDate.atTime(23, 59, 59).atZone(zone); + while (!current.isAfter(endDateTime)) { + instants.add(current.toInstant()); + current = current.plus(interval, unit); + } + return instants; + } + private void formatQueryParamList(CommonStatisticalQueryParam commonStatisticalQueryParam){ List list = new ArrayList<>(); if(commonStatisticalQueryParam.getList() != null && commonStatisticalQueryParam.getList().size() > 0){ @@ -934,6 +970,21 @@ public class CsGroupServiceImpl extends ServiceImpl impl vo.setAnotherName(epdPqd.getShowName()); return vo; }).collect(Collectors.toList()); + + //长时闪变 + if (Objects.equals(epdPqd.getOtherName(), "plt")) { + List timeInstants = getTimeInstants(trendDataQueryParam.getSearchBeginTime(), trendDataQueryParam.getSearchEndTime(), 2, ChronoUnit.HOURS, DEFAULT_ZONE); + collect1 = collect1.stream() + .filter(vo -> timeInstants.contains(vo.getTime())) + .collect(Collectors.toList()); + } + //短时闪变 || 电压波动 + else if (Objects.equals(epdPqd.getOtherName(), "pst") || Objects.equals(epdPqd.getOtherName(), "fluc")) { + List timeInstants = getTimeInstants(trendDataQueryParam.getSearchBeginTime(), trendDataQueryParam.getSearchEndTime(), 10, ChronoUnit.MINUTES, DEFAULT_ZONE); + collect1 = collect1.stream() + .filter(vo -> timeInstants.contains(vo.getTime())) + .collect(Collectors.toList()); + } result.addAll(collect1); } } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLedgerServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLedgerServiceImpl.java index 0906288..34d3343 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLedgerServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLedgerServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONArray; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -586,14 +587,17 @@ public class CsLedgerServiceImpl extends ServiceImpl i device.setEquipmentName(dev.getName()); device.setEquipmentId(devId); CsLedger project = this.findDataById(dev.getPid()); - device.setProjectId(project.getId()); - device.setProjectName(project.getName()); - CsLedger engineer = this.findDataById(project.getPid()); - device.setEngineeringid(engineer.getId()); - device.setEngineeringName(engineer.getName()); + if (ObjectUtil.isNotNull(project)) { + device.setProjectId(project.getId()); + device.setProjectName(project.getName()); + + CsLedger engineer = this.findDataById(project.getPid()); + if (ObjectUtil.isNotNull(engineer)) { + device.setEngineeringid(engineer.getId()); + device.setEngineeringName(engineer.getName()); + } + } } - - return device; } @Override 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 56c0355..e697ce9 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 @@ -11,7 +11,6 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; 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.exception.BusinessException; import com.njcn.common.utils.PubUtils; @@ -44,7 +43,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; -import java.time.LocalDateTime; import java.util.*; import java.util.stream.Collectors; @@ -208,7 +206,9 @@ public class CsLinePOServiceImpl extends ServiceImpl i .set(CsLinePO::getMonitorObj,param.getMonitorObj()) .set(CsLinePO::getGovern,param.getGovern()) .set(CsLinePO::getPosition,param.getPosition()) - .set(CsLinePO::getMonitorUser,param.getMonitorUser()); + .set(CsLinePO::getMonitorUser,param.getMonitorUser()) + .set(CsLinePO::getLineLogLevel,param.getLineLogLevel()) + .set(CsLinePO::getIsImportant,param.getIsImportant()); this.update(lambdaUpdateWrapper); //修改台账树中监测点的名称 @@ -274,7 +274,7 @@ public class CsLinePOServiceImpl extends ServiceImpl i public List getSimpleLine() { List devIds = commGetDevIds(RequestUtil.getUserIndex()); if(CollUtil.isNotEmpty(devIds)){ - List poList = this.lambdaQuery().select(CsLinePO::getLineId,CsLinePO::getName,CsLinePO::getMonitorUser).in(CsLinePO::getDeviceId,devIds) + List poList = this.lambdaQuery().in(CsLinePO::getDeviceId,devIds) .eq(CsLinePO::getStatus, DataStateEnum.ENABLE.getCode()).list(); return poList; }else { @@ -325,6 +325,9 @@ public class CsLinePOServiceImpl extends ServiceImpl i List lineList = poList.stream().map(CsLinePO::getLineId).collect(Collectors.toList()); lambdaQueryWrapper.in(CsLinePO::getLineId, lineList); } + if (ObjectUtil.isNotNull(param.getSearchValue())) { + lambdaQueryWrapper.and(par -> par.like(CsLinePO::getName, param.getSearchValue())); + } Page linePage = this.page(new Page<>(param.getPageNum(), param.getPageSize()), lambdaQueryWrapper); BeanUtil.copyProperties(linePage, result); List records = linePage.getRecords(); @@ -451,7 +454,11 @@ public class CsLinePOServiceImpl extends ServiceImpl i lineDetailDataVO.setShortCapacity(Objects.isNull(csLinePO.getShortCircuitCapacity())?0.0f:csLinePO.getShortCircuitCapacity().floatValue()); lineDetailDataVO.setStandardCapacity(Objects.isNull(csLinePO.getBasicCapacity())?0.0f:csLinePO.getBasicCapacity().floatValue()); lineDetailDataVO.setTimeInterval(csLinePO.getLineInterval()); - + //获取监测点数据类型 + CsDataSet dataSet = csDataSetService.getById(csLinePO.getDataSetId()); + if (ObjectUtil.isNotNull(dataSet)) { + lineDetailDataVO.setDataLevel(dataSet.getDataLevel()); + } return lineDetailDataVO; } } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/EngineeringProjectServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/EngineeringProjectServiceImpl.java index 015e304..4de65e9 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/EngineeringProjectServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/EngineeringProjectServiceImpl.java @@ -5,22 +5,19 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.common.pojo.exception.BusinessException; import com.njcn.csdevice.mapper.CsLedgerMapper; +import com.njcn.csdevice.mapper.CsTopologyDiagramTemplateMapper; import com.njcn.csdevice.pojo.param.*; -import com.njcn.csdevice.pojo.po.AppProjectPO; -import com.njcn.csdevice.pojo.po.AppTopologyDiagramPO; -import com.njcn.csdevice.pojo.po.CsEngineeringPO; -import com.njcn.csdevice.pojo.po.CsLedger; +import com.njcn.csdevice.pojo.po.*; import com.njcn.csdevice.pojo.vo.CsLedgerVO; import com.njcn.csdevice.pojo.vo.EngineeringProjectRelationVo; import com.njcn.csdevice.service.*; +import com.njcn.system.api.AreaFeignClient; +import com.njcn.system.pojo.po.Area; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; import java.util.stream.Collectors; /** @@ -40,6 +37,8 @@ public class EngineeringProjectServiceImpl implements IEngineeringProjectService private final ICsLedgerService csLedgerService; private final CsLedgerMapper csLedgerMapper; private final AppTopologyDiagramService appTopologyDiagramService; + private final AreaFeignClient areaFeignClient; + private final CsTopologyDiagramTemplateMapper csTopologyDiagramTemplateMapper; @Override @Transactional(rollbackFor = Exception.class) @@ -94,6 +93,7 @@ public class EngineeringProjectServiceImpl implements IEngineeringProjectService } @Override + @Transactional(rollbackFor = Exception.class) public boolean addProject(AppProjectAddParm param) { boolean result = false; //新增项目信息 @@ -109,29 +109,61 @@ public class EngineeringProjectServiceImpl implements IEngineeringProjectService if (ObjectUtil.isNotNull(po1) && ObjectUtil.isNotNull(po2)) { result = true; } + //新增项目拓扑图 + if (CollectionUtil.isNotEmpty(param.getTopoIds())) { + CsTopologyDiagramTemplate csTopologyDiagramTemplate = csTopologyDiagramTemplateMapper.selectById(param.getTopoIds().get(0)); + AppTopologyDiagramPO po3 = new AppTopologyDiagramPO(); + po3.setFilePath (csTopologyDiagramTemplate.getFilePath()); + po3.setProjectId (po1.getId()); + po3.setName (csTopologyDiagramTemplate.getName()); + po3.setStatus ("1"); + po3.setTopoId(param.getTopoIds().get(0)); + appTopologyDiagramService.save(po3); + } return result; } @Override + @Transactional(rollbackFor = Exception.class) public boolean updateProject(AppProjectAuditParm param) { //修改工程信息 AppProjectPO po1 = appProjectService.updateData(param); //修改cs_ledger数据 CsLedgerParam.Update csLedgerParam = new CsLedgerParam.Update(); csLedgerParam.setId(po1.getId()); + csLedgerParam.setPid(param.getEngineeringId()); + csLedgerParam.setPids("0," + param.getEngineeringId()); csLedgerParam.setName(param.getName()); - csLedgerParam.setSort(param.getSort()); csLedgerParam.setRemark(param.getDescription()); + csLedgerParam.setSort(param.getSort()); csLedgerService.updateLedgerTree(csLedgerParam); + //修改项目拓扑图 + AppTopologyDiagramPO po2 = appTopologyDiagramService.getByProjectId(param.getId()); + if (ObjectUtil.isNotNull(po2)) { + CsTopologyDiagramTemplate csTopologyDiagramTemplate = csTopologyDiagramTemplateMapper.selectById(param.getTopoIds().get(0)); + po2.setId(po2.getId()); + po2.setFilePath (csTopologyDiagramTemplate.getFilePath()); + po2.setName (csTopologyDiagramTemplate.getName()); + po2.setStatus ("1"); + po2.setTopoId(param.getTopoIds().get(0)); + appTopologyDiagramService.updateById(po2); + } return true; } @Override + @Transactional(rollbackFor = Exception.class) public boolean deleteProject(String id) { //删除项目信息 appProjectService.delete(id); //删除台账信息 csLedgerService.deleteLedgerTree(id); + //删除项目拓扑图 + AppTopologyDiagramPO po2 = appTopologyDiagramService.getByProjectId(id); + if (ObjectUtil.isNotNull(po2)) { + po2.setStatus("0"); + appTopologyDiagramService.updateById(po2); + } return true; } @@ -163,11 +195,15 @@ public class EngineeringProjectServiceImpl implements IEngineeringProjectService EngineeringProjectRelationVo temp = new EngineeringProjectRelationVo(); temp.setEngineeringId(item.getId()); temp.setEngineeringName(item.getName()); - temp.setEngineeringArea(item.getProvince()+item.getCity()); + temp.setProvinceId(item.getProvince()); + temp.setCityId(item.getCity()); + Area area1 = areaFeignClient.selectIdArea(item.getProvince()).getData(); + Area area2 = areaFeignClient.selectIdArea(item.getCity()).getData(); + temp.setEngineeringAreaName((ObjectUtil.isNotNull(area1)?area1.getName():"") + (ObjectUtil.isNotNull(area2)?area2.getName():"")); temp.setEngineeringRemark(item.getDescription()); temp.setEngineeringSort(item.getSort()); - List projectList = allList.stream().filter(item2->item2.getPid().equals(item.getId())).collect(Collectors.toList()); + List projectList = allList.stream().filter(item2->item2.getPid().equals(item.getId())).sorted(Comparator.comparing(CsLedgerVO::getSort)).collect(Collectors.toList()); if (CollectionUtil.isNotEmpty(projectList)) { List projectInfoList = new ArrayList<>(); projectList.forEach(item2->{ @@ -178,6 +214,7 @@ public class EngineeringProjectServiceImpl implements IEngineeringProjectService projectInfo.setProjectArea(po.getArea()); projectInfo.setProjectRemark(po.getDescription()); projectInfo.setProjectSort(po.getSort()); + projectInfo.setTopologyInfoId(Objects.isNull(map3.get(po.getId()))?null:map3.get(po.getId()).getTopoId()); projectInfo.setTopologyInfo(Objects.isNull(map3.get(po.getId()))?null:map3.get(po.getId()).getFilePath()); projectInfoList.add(projectInfo); }); diff --git a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/param/EventStatisticParam.java b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/param/EventStatisticParam.java index 8572a3c..0d17ba0 100644 --- a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/param/EventStatisticParam.java +++ b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/param/EventStatisticParam.java @@ -20,6 +20,12 @@ public class EventStatisticParam extends BaseParam { @ApiModelProperty("监测点id") private String lineId; + /** + * 暂态事件类型 + */ + @ApiModelProperty("暂态事件类型 0:全部 1:暂降 2:中断 3:暂升") + private Integer eventType; + /** * 安装位置 */ diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/PqSensitiveUserController.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/PqSensitiveUserController.java index 29f5a1a..e0b7930 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/PqSensitiveUserController.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/PqSensitiveUserController.java @@ -59,6 +59,17 @@ public class PqSensitiveUserController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe); } + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getListByUser") + @ApiOperation("根据当前用户获取敏感负荷用户列表") + @ApiImplicitParam(name = "param", value = "查询参数", required = true) + public HttpResult> getListByUser(@RequestBody BaseParam param) { + String methodDescribe = getMethodDescribe("getListByUser"); + List result = pqSensitiveUserService.getListByUser(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/getListByIds") @ApiOperation("根据id集合获取敏感负荷用户列表") diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/WordExportModelController.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/WordExportModelController.java index db4aaed..b98a2ea 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/WordExportModelController.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/WordExportModelController.java @@ -87,7 +87,7 @@ public class WordExportModelController extends BaseController { deviceUnitCommDTO = BeanUtil.copyProperties(pqsDeviceUnit, DeviceUnitCommDTO.class); - monitorHarmonicReportService.exportWorld(response, startTime, endTime, type, lineIndex, name, reportNumber, crmName, isUrl, file, harmLineDetailDataCommDTO, overLimitInfoCommDTO,deviceUnitCommDTO); + monitorHarmonicReportService.exportWorld(response, startTime, endTime, type, lineIndex, name, reportNumber, crmName, isUrl, file, harmLineDetailDataCommDTO, overLimitInfoCommDTO,deviceUnitCommDTO,lineDto.getDataLevel()); } diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/mapper/mapping/CsEventUserPOMapper.xml b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/mapper/mapping/CsEventUserPOMapper.xml index 4de6c0b..3cc9329 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/mapper/mapping/CsEventUserPOMapper.xml +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/mapper/mapping/CsEventUserPOMapper.xml @@ -125,15 +125,10 @@ select DISTINCT b.id id, b.device_id deviceId,b.line_id lineId,b.code code, b.start_time startTime,b.tag tag ,b.wave_path wavePath,b.instant_pics,b.rms_pics , b.type type,b.level level,b.location location,b.cl_did clDid - ,d.name lineName - from cs_event b - - inner join cs_line d on d.line_id=b.line_id - + left join cs_line d on d.line_id=b.line_id where 1=1 - AND DATE(b.start_time) <= DATE(#{csEventUserQueryPage.endTime}) diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/IPqSensitiveUserService.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/IPqSensitiveUserService.java index aa67596..3a7ec9d 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/IPqSensitiveUserService.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/IPqSensitiveUserService.java @@ -7,6 +7,8 @@ import com.njcn.csharmonic.pojo.po.PqSensitiveUser; import com.njcn.csharmonic.pojo.vo.PqSensitiveUserVo; import com.njcn.web.pojo.param.BaseParam; +import java.util.List; + /** *

* 服务类 @@ -19,6 +21,8 @@ public interface IPqSensitiveUserService extends IService { Page getList(BaseParam param); + List getListByUser(BaseParam param); + boolean save(PqSensitiveUserParam pqSensitiveUserParam); boolean update(PqSensitiveUserParam.UpdatePqSensitiveUserParam pqSensitiveUserParam); 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 3f841f1..a9946f1 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 @@ -192,24 +192,50 @@ public class CsEventPOServiceImpl extends ServiceImpl result = new Page<>(PageFactory.getPageNum(baseParam),PageFactory.getPageSize(baseParam)); DateTime begin = DateUtil.beginOfDay(DateUtil.parse(baseParam.getSearchBeginTime(), DatePattern.NORM_DATE_PATTERN)); DateTime end = DateUtil.endOfDay(DateUtil.parse(baseParam.getSearchEndTime(), DatePattern.NORM_DATE_PATTERN)); + //暂态类型 + final List EVENT_TAGS; + if (Objects.isNull(baseParam.getEventType())) { + EVENT_TAGS = Arrays.asList( + EVT_SYS_DIPSTR.getCode(), + EVT_SYS_INTRSTR.getCode(), + EVT_SYS_SWLSTR.getCode() + ); + } else { + switch (baseParam.getEventType()) { + case 1: + EVENT_TAGS = Collections.singletonList(EVT_SYS_DIPSTR.getCode()); + break; + case 2: + EVENT_TAGS = Collections.singletonList(EVT_SYS_INTRSTR.getCode()); + break; + case 3: + EVENT_TAGS = Collections.singletonList(EVT_SYS_SWLSTR.getCode()); + break; + default: + EVENT_TAGS = Arrays.asList( + EVT_SYS_DIPSTR.getCode(), + EVT_SYS_INTRSTR.getCode(), + EVT_SYS_SWLSTR.getCode() + ); + } + } - List EVENT_TAGS = Arrays.asList( - EVT_SYS_DIPSTR.getCode(), - EVT_SYS_INTRSTR.getCode(), - EVT_SYS_SWLSTR.getCode() - ); + //监测点 + List csLinePOList = csLineFeignClient.getSimpleLine().getData(); + if (CollUtil.isEmpty(csLinePOList)) { + return result; + } + List lineIds = csLinePOList.stream().map(CsLinePO::getLineId).distinct().collect(Collectors.toList()); LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(StrUtil.isNotBlank(baseParam.getLineId()),CsEventPO::getLineId,baseParam.getLineId()) .eq(CsEventPO::getType, CsEventEnum.EVENT_TYPE.getCode()) .in(CsEventPO::getTag, EVENT_TAGS) + .in(CsEventPO::getLineId,lineIds) .between(CsEventPO::getStartTime,begin,end) .orderByDesc(CsEventPO::getStartTime); Page page = this.page(new Page<>(PageFactory.getPageNum(baseParam),PageFactory.getPageSize(baseParam)),lambdaQueryWrapper); if(CollUtil.isNotEmpty(page.getRecords())){ - - List ids = page.getRecords().stream().map(CsEventPO::getLineId).distinct().collect(Collectors.toList()); - List csLinePOList = csLineFeignClient.queryLineById(ids).getData(); Map linePOMap = csLinePOList.stream().collect(Collectors.toMap(CsLinePO::getLineId, CsLinePO::getName)); List dataGroupEventVOList = BeanUtil.copyToList(page.getRecords(),DataGroupEventVO.class); @@ -402,7 +428,7 @@ public class CsEventPOServiceImpl extends ServiceImpl getListByUser(BaseParam param) { + List result = new ArrayList<>(); + //现根据用户获取监测点 + List poList = csLineFeignClient.getSimpleLine().getData(); + //获取敏感用户集合 + List monitorUsers = poList.stream() + .map(CsLinePO::getMonitorUser) + .filter(Objects::nonNull) + .distinct() + .collect(Collectors.toList()); + if (CollectionUtil.isEmpty(monitorUsers)) { + return result; + } + //根据敏感用户进行监测点分组 + Map> map = poList.stream() + .filter(po -> po.getMonitorUser() != null) + .collect(Collectors.groupingBy(CsLinePO::getMonitorUser)); + //查询敏感用户信息集合 + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.in(PqSensitiveUser::getId,monitorUsers).orderByAsc(PqSensitiveUser::getSort); + if (StrUtil.isNotBlank(param.getSearchValue())) { + lambdaQueryWrapper.like(PqSensitiveUser::getName, param.getSearchValue()); + } + List sensitiveUserList = this.list(lambdaQueryWrapper); + sensitiveUserList.forEach(item->{ + PqSensitiveUserVo vo = new PqSensitiveUserVo(); + BeanUtil.copyProperties(item,vo); + if (map.containsKey(item.getId())) { + vo.setIsMonitor("是"); + List list = map.get(item.getId()); + boolean hasGoverned = list.stream().anyMatch(item2 -> item2.getGovern() == 1); + vo.setIsGovern(hasGoverned ? "是" : "否"); + } else { + vo.setIsMonitor("否"); + vo.setIsGovern("否"); + } + result.add(vo); + }); + return result; + } + @Override public boolean save(PqSensitiveUserParam pqSensitiveUserParam) { checkParam(pqSensitiveUserParam,false); diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/RStatLimitRateDServiceImpl.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/RStatLimitRateDServiceImpl.java index 40122fb..189fe5e 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/RStatLimitRateDServiceImpl.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/RStatLimitRateDServiceImpl.java @@ -159,11 +159,11 @@ public class RStatLimitRateDServiceImpl extends ServiceImpl po.getIsImportant() != null && po.getIsImportant() == 1).map(CsLinePO::getLineId).collect(Collectors.toList()); } else { List poList = csLineFeignClient.getSimpleLine().getData(); if (CollUtil.isNotEmpty(poList)) { - keywordsLineIds = poList.stream().map(CsLinePO::getLineId).collect(Collectors.toList()); + keywordsLineIds = poList.stream().filter(po -> po.getIsImportant() != null && po.getIsImportant() == 1).map(CsLinePO::getLineId).collect(Collectors.toList()); } } if (CollUtil.isEmpty(keywordsLineIds)) { diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/RStatLimitRateDetailDServiceImpl.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/RStatLimitRateDetailDServiceImpl.java index c47d794..f5d9d00 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/RStatLimitRateDetailDServiceImpl.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/RStatLimitRateDetailDServiceImpl.java @@ -51,7 +51,7 @@ public class RStatLimitRateDetailDServiceImpl extends ServiceImpl> extentPeriodList = new ArrayList<>(); static { - indexMap.put("flicker", "闪变"); + indexMap.put("flicker", "长时闪变"); indexMap.put("uharm", "谐波电压"); indexMap.put("iharm", "谐波电流"); indexMap.put("ubalance", "三相电压不平衡度"); @@ -296,19 +296,15 @@ public class RStatLimitRateDetailDServiceImpl extends ServiceImpl dayEntry : entries.entrySet()) { String key = dayEntry.getKey(); - if (key.endsWith("Overtime") && key.startsWith(indexCode)) { + if (shouldProcess(key, indexCode)) { double extentValue = 0; Object data = dayEntry.getValue(); - // 有数据有越限 - if (ObjectUtil.isNotEmpty(data)) { + if (ObjectUtil.isNotEmpty(data) && overlimitJSON != null) { float maxValue = parseMaxValueFromJsonArray(data); - if (overlimitJSON != null) { - String itemKey = StrUtil.sub(key, 0, key.length() - 8); - double limitValue = overlimitJSON.getDouble(itemKey); - if (limitValue != 0) { - extentValue = calculatePercentage(maxValue - limitValue, limitValue); - - } + String itemKey = StrUtil.sub(key, 0, key.length() - 8); + double limitValue = overlimitJSON.getDouble(itemKey); + if (limitValue != 0) { + extentValue = calculatePercentage(maxValue - limitValue, limitValue); } } extentValuesList.add(extentValue); @@ -327,6 +323,9 @@ public class RStatLimitRateDetailDServiceImpl extends ServiceImpl start && extentValue <= end) { times++; } + if ((i == extentPeriodList.size() - 1) && extentValue > 100.0) { + times++; + } } grade.put(i, times); extentGrades.add(grade); @@ -337,6 +336,11 @@ public class RStatLimitRateDetailDServiceImpl extends ServiceImpl limitTimeProbabilityData(LimitProbabilityQueryParam param) { diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/StatisticsDataDataServiceImpl.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/StatisticsDataDataServiceImpl.java index 47f76ab..847f3e7 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/StatisticsDataDataServiceImpl.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/StatisticsDataDataServiceImpl.java @@ -4,12 +4,12 @@ import cn.hutool.core.collection.CollectionUtil; import com.njcn.access.api.CsLineLatestDataFeignClient; import com.njcn.access.pojo.po.CsLineLatestData; import com.njcn.csdevice.api.*; +import com.njcn.csdevice.param.IcdBzParam; import com.njcn.csdevice.pojo.dto.DevDetailDTO; import com.njcn.csdevice.pojo.po.CsEquipmentDeliveryPO; import com.njcn.csdevice.pojo.po.CsLinePO; import com.njcn.csdevice.pojo.po.RStatIntegrityD; import com.njcn.csdevice.pojo.po.RStatOnlineRateD; -import com.njcn.csdevice.pojo.vo.CsLedgerVO; import com.njcn.csharmonic.pojo.param.StatisticsDataParam; import com.njcn.csharmonic.pojo.vo.DataVo; import com.njcn.csharmonic.pojo.vo.HalfMonthReportVO; @@ -110,9 +110,17 @@ public class StatisticsDataDataServiceImpl implements IStatisticsDataDataService List lineList = csLineList.stream().map(CsLinePO::getLineId).collect(Collectors.toList()); List deviceList = csLineList.stream().map(CsLinePO::getDeviceId).collect(Collectors.toList()); //获取监测点数据完整性 - List list1 = integrityFeignClient.list(lineList,param.getStartTime(),param.getEndTime()).getData(); + IcdBzParam param1 = new IcdBzParam(); + param1.setLineList(lineList); + param1.setStartTime(param.getStartTime()); + param1.setEndTime(param.getEndTime()); + List list1 = integrityFeignClient.list(param1).getData(); //获取终端在线率 - List list2 = onlineRateFeignClient.list(deviceList,param.getStartTime(),param.getEndTime()).getData(); + IcdBzParam param2 = new IcdBzParam(); + param2.setLineList(deviceList); + param2.setStartTime(param.getStartTime()); + param2.setEndTime(param.getEndTime()); + List list2 = onlineRateFeignClient.list(param2).getData(); //获取监测点最新数据时间 List list3 = csLineLatestDataFeignClient.listData().getData(); equipmentDeliveryList.forEach(dev->{