From 73b24c8664c66857412c0065d4ee6ee487c61fd8 Mon Sep 17 00:00:00 2001 From: Jay <csj123456> Date: 星期四, 12 六月 2025 17:10:30 +0800 Subject: [PATCH] 增加测点异常历史表查询接口,新增查询测点数量接口 --- iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaPointBadHistoryDao.java | 29 ++ iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/controller/admin/ApiDataController.java | 16 + iailab-module-data/iailab-module-data-biz/src/main/resources/mapper/point/DaPointDao.xml | 20 ++ iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/api/point/DataPointApi.java | 10 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/impl/DaPointServiceImpl.java | 16 + iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/task/PointBadHistoryGenerateTask.java | 67 ++++++ iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/config/ScheduleJobListConfig.java | 1 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dto/DaPointBadHistoryDTO.java | 47 ++++ iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/vo/DaPointCountReqVO.java | 38 +++ iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/api/point/dto/ApiPointBadHistoryDTO.java | 47 ++++ iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/api/point/dto/ApiPointBadHistoryPageReqVO.java | 38 +++ iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/impl/DaPointBadHistoryServiceImpl.java | 36 +++ iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/vo/DaPointBadHistoryPageReqVO.java | 38 +++ iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/api/point/dto/ApiPointCountReqVO.java | 38 +++ iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/point/DataPointApiImpl.java | 22 ++ iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/DaPointBadHistoryService.java | 19 + iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/DaPointService.java | 9 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/entity/DaPointBadHistoryEntity.java | 67 ++++++ iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaPointDao.java | 3 19 files changed, 552 insertions(+), 9 deletions(-) diff --git a/iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/api/point/DataPointApi.java b/iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/api/point/DataPointApi.java index b271fb0..b412633 100644 --- a/iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/api/point/DataPointApi.java +++ b/iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/api/point/DataPointApi.java @@ -70,4 +70,12 @@ @PostMapping(PREFIX + "/query-math-point/current-value") @Operation(summary = "根据计算点编号查询测点集合") PageResult<ApiPointDTO> queryMathPointCurrentValue(@RequestBody ApiPointPageReqVO reqVO); -} + + @PostMapping(PREFIX + "/query-point-bad-history/page") + @Operation(summary = "查询测点异常历史分页") + PageResult<ApiPointBadHistoryDTO> queryPointBadHistoryPage(@RequestBody ApiPointBadHistoryPageReqVO reqVO); + + @PostMapping(PREFIX + "/query-point/count") + @Operation(summary = "获取点位个数") + String getPointTotalCount(@RequestBody ApiPointCountReqVO reqVO); +} \ No newline at end of file diff --git a/iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/api/point/dto/ApiPointBadHistoryDTO.java b/iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/api/point/dto/ApiPointBadHistoryDTO.java new file mode 100644 index 0000000..7e8e199 --- /dev/null +++ b/iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/api/point/dto/ApiPointBadHistoryDTO.java @@ -0,0 +1,47 @@ +package com.iailab.module.data.api.point.dto; + +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + + +/** + * @author Jay + */ +@Data +@Tag(name = "测点异常历史表") +public class ApiPointBadHistoryDTO implements Serializable { + private static final long serialVersionUID = 1L; + + @Schema(description = "id") + private String id; + + @Schema(description = "测点ID") + private String pointId; + + @Schema(description = "测点编码") + private String pointNo; + + @Schema(description = "测点名称") + private String pointName; + + @Schema(description = "测点Tag") + private String tagNo; + + @Schema(description = "异常值") + private BigDecimal badValue; + + @Schema(description = "异常值类型") + private String badValueType; + + @Schema(description = "采集时间") + private Date collectTime; + + @Schema(description = "创建时间") + private Date createTime; + +} \ No newline at end of file diff --git a/iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/api/point/dto/ApiPointBadHistoryPageReqVO.java b/iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/api/point/dto/ApiPointBadHistoryPageReqVO.java new file mode 100644 index 0000000..ef151ef --- /dev/null +++ b/iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/api/point/dto/ApiPointBadHistoryPageReqVO.java @@ -0,0 +1,38 @@ +package com.iailab.module.data.api.point.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.iailab.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.util.Date; + + +/** + * @author Jay + */ +@Schema(description = "数据平台 - 测点异常分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ApiPointBadHistoryPageReqVO extends PageParam { + + @Schema(description = "测点编码") + private String pointNo; + + @Schema(description = "测点名称") + private String pointName; + + @Schema(description = "测点Tag") + private String tagNo; + + @Schema(description = "开始时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date startTime; + + @Schema(description = "结束时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date endTime; +} \ No newline at end of file diff --git a/iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/api/point/dto/ApiPointCountReqVO.java b/iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/api/point/dto/ApiPointCountReqVO.java new file mode 100644 index 0000000..6fa21ba --- /dev/null +++ b/iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/api/point/dto/ApiPointCountReqVO.java @@ -0,0 +1,38 @@ +package com.iailab.module.data.api.point.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * @author Jay + */ +@Schema(description = "数据平台 - 测点数量查询 Request VO") +@Data +public class ApiPointCountReqVO implements Serializable { + private static final long serialVersionUID = 1L; + + @Schema(description = "测点类型") + private String pointType; + + @Schema(description = "数据类型") + private String dataType; + + @Schema(description = "是否启用") + private Integer isEnable; + + @Schema(description = "采集质量") + private String collectQuality; + + @Schema(description = "开始时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date startTime; + + @Schema(description = "结束时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date endTime; + +} \ No newline at end of file diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/controller/admin/ApiDataController.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/controller/admin/ApiDataController.java index c0f3c5b..f518b5b 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/controller/admin/ApiDataController.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/controller/admin/ApiDataController.java @@ -329,4 +329,20 @@ return success(indItemApi.queryIndItemValuePage(dto)); } + @PermitAll + @PostMapping("/query-point-bad-history/page") + @Operation(summary = "根据计算点编号查询测点集合") + public CommonResult<PageResult<ApiPointBadHistoryDTO>> queryPointBadHistoryPage(@RequestBody ApiPointBadHistoryPageReqVO reqVO) { + PageResult<ApiPointBadHistoryDTO> data = dataPointApi.queryPointBadHistoryPage(reqVO); + return success(data); + } + + @PermitAll + @PostMapping("/query-point/count") + @Operation(summary = "根据计算点编号查询测点集合") + public CommonResult<String> getPointTotalCount(@RequestBody ApiPointCountReqVO reqVO) { + String count = dataPointApi.getPointTotalCount(reqVO); + return success(count); + } + } diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/point/DataPointApiImpl.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/point/DataPointApiImpl.java index d276ce4..752dc19 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/point/DataPointApiImpl.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/point/DataPointApiImpl.java @@ -12,8 +12,12 @@ import com.iailab.module.data.point.dto.DaMathPointDTO; import com.iailab.module.data.point.dto.DaPointDTO; import com.iailab.module.data.point.dto.DaPointWriteValueDTO; +import com.iailab.module.data.point.entity.DaPointBadHistoryEntity; import com.iailab.module.data.point.service.DaMathPointService; +import com.iailab.module.data.point.service.DaPointBadHistoryService; import com.iailab.module.data.point.service.DaPointService; +import com.iailab.module.data.point.vo.DaPointBadHistoryPageReqVO; +import com.iailab.module.data.point.vo.DaPointCountReqVO; import com.iailab.module.data.point.vo.DaPointPageReqVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; @@ -23,7 +27,6 @@ import java.util.*; import java.util.stream.Collectors; -import java.util.stream.IntStream; /** * @author PanZhibao @@ -45,6 +48,9 @@ @Autowired private DaMathPointService daMathPointService; + + @Autowired + private DaPointBadHistoryService daPointBadHistoryService; @Override public ApiPointDTO getInfoById(String pointId) { @@ -247,4 +253,18 @@ }); return new PageResult<>(dataList, pageResult.getTotal()); } + + @Override + public PageResult<ApiPointBadHistoryDTO> queryPointBadHistoryPage(ApiPointBadHistoryPageReqVO reqVO) { + DaPointBadHistoryPageReqVO req = ConvertUtils.sourceToTarget(reqVO, DaPointBadHistoryPageReqVO.class); + PageResult<DaPointBadHistoryEntity> page = daPointBadHistoryService.queryPage(req); + List<ApiPointBadHistoryDTO> dataList = ConvertUtils.sourceToTarget(page.getList(), ApiPointBadHistoryDTO.class); + return new PageResult<>(dataList, page.getTotal()); + } + + @Override + public String getPointTotalCount(ApiPointCountReqVO reqVO) { + DaPointCountReqVO req = ConvertUtils.sourceToTarget(reqVO, DaPointCountReqVO.class); + return daPointService.getPointCount(req).toString(); + } } \ No newline at end of file diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/config/ScheduleJobListConfig.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/config/ScheduleJobListConfig.java index b72210f..2daf80f 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/config/ScheduleJobListConfig.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/config/ScheduleJobListConfig.java @@ -32,5 +32,6 @@ scheduleJobList.add("pointArchivingTaskNetShift"); scheduleJobList.add("pointArchivingTaskNetYear"); scheduleJobList.add("insertInfluxdbTask"); + scheduleJobList.add("pointBadHistoryGenerateTask"); } } diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/task/PointBadHistoryGenerateTask.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/task/PointBadHistoryGenerateTask.java new file mode 100644 index 0000000..2494bd5 --- /dev/null +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/task/PointBadHistoryGenerateTask.java @@ -0,0 +1,67 @@ +package com.iailab.module.data.job.task; + +import com.iailab.module.data.common.enums.CommonConstant; +import com.iailab.module.data.common.enums.DataQualityEnum; +import com.iailab.module.data.common.enums.IsEnableEnum; +import com.iailab.module.data.point.dto.DaPointBadHistoryDTO; +import com.iailab.module.data.point.dto.DaPointDTO; +import com.iailab.module.data.point.service.DaPointBadHistoryService; +import com.iailab.module.data.point.service.DaPointService; +import com.iailab.module.data.point.vo.DaPointPageReqVO; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.util.Calendar; +import java.util.List; + +/** + * Point采集器1min + * 0 0/1 * * * ? + * + * @author Jay + * @Description 测点异常历史 + */ +@Component("pointBadHistoryGenerateTask") +public class PointBadHistoryGenerateTask implements ITask { + private final Logger logger = LoggerFactory.getLogger(getClass()); + + @Resource + private DaPointService daPointService; + + @Resource + private DaPointBadHistoryService daPointBadHistoryService; + + @Override + public void run(String params) { + // 0 0/1 * * * ? + logger.info("PointBadHistoryGenerateTask定时任务正在执行,参数为:{}", params); + try { + Calendar calendar = Calendar.getInstance(); + calendar.set(Calendar.SECOND, 0); + calendar.set(Calendar.MILLISECOND, 0); + DaPointPageReqVO reqVO = new DaPointPageReqVO(); + reqVO.setIsEnable(IsEnableEnum.ENABLE.getCode()); + reqVO.setCollectQuality(DataQualityEnum.BAD.getCode()); + List<DaPointDTO> badPoints = daPointService.getList(reqVO); + badPoints.forEach(point -> { + DaPointBadHistoryDTO daPointBadHistoryDTO = new DaPointBadHistoryDTO(); + daPointBadHistoryDTO.setPointId(point.getId()); + daPointBadHistoryDTO.setPointNo(point.getPointNo()); + daPointBadHistoryDTO.setPointName(point.getPointName()); + daPointBadHistoryDTO.setTagNo(point.getTagNo()); + daPointBadHistoryDTO.setBadValue(CommonConstant.BAD_VALUE); + daPointBadHistoryDTO.setBadValueType("通讯异常"); + daPointBadHistoryDTO.setCollectTime(point.getCollectTime()); + daPointBadHistoryService.create(daPointBadHistoryDTO); + }); + logger.info("PointBadHistoryGenerateTask定时任务完成时间:" + LocalDateTime.now()); + } catch (Exception ex) { + ex.printStackTrace(); + logger.error("PointBadHistoryGenerateTask定时任务失败时间:" + LocalDateTime.now()); + } + + } +} diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaPointBadHistoryDao.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaPointBadHistoryDao.java new file mode 100644 index 0000000..c2b36b2 --- /dev/null +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaPointBadHistoryDao.java @@ -0,0 +1,29 @@ +package com.iailab.module.data.point.dao; + +import com.iailab.framework.common.pojo.PageResult; +import com.iailab.framework.mybatis.core.mapper.BaseMapperX; +import com.iailab.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.iailab.framework.tenant.core.db.dynamic.TenantDS; +import com.iailab.module.data.point.entity.DaPointBadHistoryEntity; +import com.iailab.module.data.point.vo.DaPointBadHistoryPageReqVO; +import org.apache.ibatis.annotations.Mapper; + + +/** + * @author Jay + */ +@TenantDS +@Mapper +public interface DaPointBadHistoryDao extends BaseMapperX<DaPointBadHistoryEntity> { + + default PageResult<DaPointBadHistoryEntity> selectPage(DaPointBadHistoryPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX<DaPointBadHistoryEntity>() + .likeIfPresent(DaPointBadHistoryEntity::getPointNo, reqVO.getPointNo()) + .likeIfPresent(DaPointBadHistoryEntity::getPointName, reqVO.getPointName()) + .likeIfPresent(DaPointBadHistoryEntity::getTagNo, reqVO.getTagNo()) + .geIfPresent(DaPointBadHistoryEntity::getCollectTime, reqVO.getStartTime()) + .leIfPresent(DaPointBadHistoryEntity::getCollectTime, reqVO.getEndTime()) + .orderByDesc(DaPointBadHistoryEntity::getCreateTime)); + } + +} diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaPointDao.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaPointDao.java index a3990f0..2c71f09 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaPointDao.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaPointDao.java @@ -5,6 +5,7 @@ import com.iailab.framework.tenant.core.db.dynamic.TenantDS; import com.iailab.module.data.point.dto.DaPointDTO; import com.iailab.module.data.point.entity.DaPointEntity; +import com.iailab.module.data.point.vo.DaPointCountReqVO; import com.iailab.module.data.point.vo.DaPointPageReqVO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -35,6 +36,8 @@ List<DaPointDTO> getExtremalPoint(Map<String, Object> params); + Long getPointCount(DaPointCountReqVO reqVO); + default IPage<DaPointDTO> selectPageList(DaPointPageReqVO reqVO) { return getPageList(getPage(reqVO), reqVO); } diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dto/DaPointBadHistoryDTO.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dto/DaPointBadHistoryDTO.java new file mode 100644 index 0000000..2633c5d --- /dev/null +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dto/DaPointBadHistoryDTO.java @@ -0,0 +1,47 @@ +package com.iailab.module.data.point.dto; + +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + + +/** + * @author Jay + */ +@Data +@Tag(name = "测点异常历史表") +public class DaPointBadHistoryDTO implements Serializable { + private static final long serialVersionUID = 1L; + + @Schema(description = "id") + private String id; + + @Schema(description = "测点ID") + private String pointId; + + @Schema(description = "测点编码") + private String pointNo; + + @Schema(description = "测点名称") + private String pointName; + + @Schema(description = "测点Tag") + private String tagNo; + + @Schema(description = "异常值") + private BigDecimal badValue; + + @Schema(description = "异常值类型") + private String badValueType; + + @Schema(description = "采集时间") + private Date collectTime; + + @Schema(description = "创建时间") + private Date createTime; + +} \ No newline at end of file diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/entity/DaPointBadHistoryEntity.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/entity/DaPointBadHistoryEntity.java new file mode 100644 index 0000000..38bf9e5 --- /dev/null +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/entity/DaPointBadHistoryEntity.java @@ -0,0 +1,67 @@ +package com.iailab.module.data.point.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + + +/** + * @author Jay + */ +@Data +@TableName("t_da_point_bad_history") +public class DaPointBadHistoryEntity implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId(type = IdType.ASSIGN_UUID) + private String id; + + /** + * 测点ID + */ + private String pointId; + + /** + * 测点编码 + */ + private String pointNo; + + /** + * 测点名称 + */ + private String pointName; + + /** + * 测点Tag + */ + private String tagNo; + + /** + * 异常值 + */ + private BigDecimal badValue; + + /** + * 异常值类型 + */ + private String badValueType; + + /** + * 采集时间 + */ + private Date collectTime; + + /** + * 创建时间 + */ + private Date createTime; + +} \ No newline at end of file diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/DaPointBadHistoryService.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/DaPointBadHistoryService.java new file mode 100644 index 0000000..f6442d6 --- /dev/null +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/DaPointBadHistoryService.java @@ -0,0 +1,19 @@ +package com.iailab.module.data.point.service; + +import com.iailab.framework.common.pojo.PageResult; +import com.iailab.framework.common.service.BaseService; +import com.iailab.module.data.point.dto.DaPointBadHistoryDTO; +import com.iailab.module.data.point.entity.DaPointBadHistoryEntity; +import com.iailab.module.data.point.vo.DaPointBadHistoryPageReqVO; + + +/** + * @author Jay + */ +public interface DaPointBadHistoryService extends BaseService<DaPointBadHistoryEntity> { + PageResult<DaPointBadHistoryEntity> queryPage(DaPointBadHistoryPageReqVO reqVO); + + void create(DaPointBadHistoryDTO daPointBadHistoryDTO); + + +} diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/DaPointService.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/DaPointService.java index 5374add..988eb1c 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/DaPointService.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/DaPointService.java @@ -3,10 +3,11 @@ import com.iailab.framework.common.pojo.PageResult; import com.iailab.module.data.api.point.dto.ApiPointDTO; import com.iailab.module.data.point.dto.DaPointDTO; -import com.iailab.module.data.point.vo.*; +import com.iailab.module.data.point.vo.DaPointCountReqVO; +import com.iailab.module.data.point.vo.DaPointPageReqVO; +import com.iailab.module.data.point.vo.PointImportExcelVO; +import com.iailab.module.data.point.vo.PointImportRespVO; -import java.util.HashMap; -import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -75,4 +76,6 @@ List<DaPointDTO> getMeasurePoint(DaPointPageReqVO reqVO); List<DaPointDTO> getMathPoint(DaPointPageReqVO reqVO); + + Long getPointCount(DaPointCountReqVO reqVO); } diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/impl/DaPointBadHistoryServiceImpl.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/impl/DaPointBadHistoryServiceImpl.java new file mode 100644 index 0000000..63e9dd4 --- /dev/null +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/impl/DaPointBadHistoryServiceImpl.java @@ -0,0 +1,36 @@ +package com.iailab.module.data.point.service.impl; + +import com.iailab.framework.common.pojo.PageResult; +import com.iailab.framework.common.service.impl.BaseServiceImpl; +import com.iailab.framework.common.util.object.BeanUtils; +import com.iailab.module.data.point.dao.DaPointBadHistoryDao; +import com.iailab.module.data.point.dto.DaPointBadHistoryDTO; +import com.iailab.module.data.point.entity.DaPointBadHistoryEntity; +import com.iailab.module.data.point.service.DaPointBadHistoryService; +import com.iailab.module.data.point.vo.DaPointBadHistoryPageReqVO; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.UUID; + + +/** + * @author Jay + */ +@Service +public class DaPointBadHistoryServiceImpl extends BaseServiceImpl<DaPointBadHistoryDao, DaPointBadHistoryEntity> implements DaPointBadHistoryService { + + + @Override + public PageResult<DaPointBadHistoryEntity> queryPage(DaPointBadHistoryPageReqVO reqVO) { + return baseDao.selectPage(reqVO); + } + + @Override + public void create(DaPointBadHistoryDTO daPointBadHistoryDTO) { + DaPointBadHistoryEntity entity = BeanUtils.toBean(daPointBadHistoryDTO, DaPointBadHistoryEntity.class); + entity.setId(UUID.randomUUID().toString()); + entity.setCreateTime(new Date()); + baseDao.insert(entity); + } +} \ No newline at end of file diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/impl/DaPointServiceImpl.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/impl/DaPointServiceImpl.java index b4f7fb8..9d5a09e 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/impl/DaPointServiceImpl.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/impl/DaPointServiceImpl.java @@ -2,12 +2,9 @@ import cn.hutool.core.collection.CollUtil; import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; import com.baomidou.dynamic.datasource.annotation.DSTransactional; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.iailab.framework.common.constant.Constant; import com.iailab.framework.common.pojo.PageResult; import com.iailab.framework.common.service.impl.BaseServiceImpl; import com.iailab.framework.common.util.object.BeanUtils; @@ -15,8 +12,8 @@ import com.iailab.module.data.api.point.dto.ApiPointDTO; import com.iailab.module.data.channel.common.service.ChannelSourceService; import com.iailab.module.data.common.enums.CommonConstant; -import com.iailab.module.data.common.enums.IsEnableEnum; import com.iailab.module.data.common.enums.IncreaseCodeEnum; +import com.iailab.module.data.common.enums.IsEnableEnum; import com.iailab.module.data.point.common.PointTypeEnum; import com.iailab.module.data.point.dao.DaPointDao; import com.iailab.module.data.point.dto.DaCumulatePointDTO; @@ -26,6 +23,7 @@ import com.iailab.module.data.point.entity.DaMeasurePointEntity; import com.iailab.module.data.point.entity.DaPointEntity; import com.iailab.module.data.point.service.*; +import com.iailab.module.data.point.vo.DaPointCountReqVO; import com.iailab.module.data.point.vo.DaPointPageReqVO; import com.iailab.module.data.point.vo.PointImportExcelVO; import com.iailab.module.data.point.vo.PointImportRespVO; @@ -324,6 +322,16 @@ } @Override + public Long getPointCount(DaPointCountReqVO reqVO ) { + if (StringUtils.isNotBlank(reqVO.getCollectQuality())){ + return daPointDao.getPointCount(reqVO); + } + QueryWrapper<DaPointEntity> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(reqVO.getIsEnable() != null, "is_enable", reqVO.getIsEnable()); + return daPointDao.selectCount(queryWrapper); + } + + @Override public List<DaPointDTO> getMathPoint(String freq) { Map<String, Object> params = new HashMap<>(); params.put("pointType", PointTypeEnum.CALCULATE_POINT.getCode()); diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/vo/DaPointBadHistoryPageReqVO.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/vo/DaPointBadHistoryPageReqVO.java new file mode 100644 index 0000000..d9e7c43 --- /dev/null +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/vo/DaPointBadHistoryPageReqVO.java @@ -0,0 +1,38 @@ +package com.iailab.module.data.point.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.iailab.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.util.Date; + + +/** + * @author Jay + */ +@Schema(description = "数据平台 - 测点异常分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class DaPointBadHistoryPageReqVO extends PageParam { + + @Schema(description = "测点编码") + private String pointNo; + + @Schema(description = "测点名称") + private String pointName; + + @Schema(description = "测点Tag") + private String tagNo; + + @Schema(description = "开始时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date startTime; + + @Schema(description = "结束时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date endTime; +} \ No newline at end of file diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/vo/DaPointCountReqVO.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/vo/DaPointCountReqVO.java new file mode 100644 index 0000000..58849dc --- /dev/null +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/vo/DaPointCountReqVO.java @@ -0,0 +1,38 @@ +package com.iailab.module.data.point.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * @author Jay + */ +@Schema(description = "数据平台 - 测点数量查询 Request VO") +@Data +public class DaPointCountReqVO implements Serializable { + private static final long serialVersionUID = 1L; + + @Schema(description = "测点类型") + private String pointType; + + @Schema(description = "数据类型") + private String dataType; + + @Schema(description = "是否启用") + private Integer isEnable; + + @Schema(description = "采集质量") + private String collectQuality; + + @Schema(description = "开始时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date startTime; + + @Schema(description = "结束时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date endTime; + +} \ No newline at end of file diff --git a/iailab-module-data/iailab-module-data-biz/src/main/resources/mapper/point/DaPointDao.xml b/iailab-module-data/iailab-module-data-biz/src/main/resources/mapper/point/DaPointDao.xml index bd170f0..1808b54 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/resources/mapper/point/DaPointDao.xml +++ b/iailab-module-data/iailab-module-data-biz/src/main/resources/mapper/point/DaPointDao.xml @@ -345,4 +345,24 @@ </where> </select> + <select id="getPointCount" resultType="long"> + select count(*) + from t_da_point t1 + left join t_da_point_collect_status t2 on t2.point_no = t1.point_no + <where> + <if test="isEnable != null "> + and t1.is_enable = #{isEnable} + </if> + <if test="collectQuality != null and collectQuality != ''"> + and t2.collect_quality = #{collectQuality} + </if> + <if test="startTime != null"> + and t2.collect_time >= #{startTime} + </if> + <if test="endTime != null"> + and t2.collect_time <= #{endTime} + </if> + </where> + </select> + </mapper> \ No newline at end of file -- Gitblit v1.9.3