From fda83a1bd9f10ab5ac2efc0e2657088d217e8115 Mon Sep 17 00:00:00 2001 From: xy <748613696@qq.com> Date: Fri, 4 Jul 2025 08:50:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=AE=9A=E6=97=B6=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=92=8C=E6=B2=BB=E7=90=86=E6=95=B0=E6=8D=AE=E6=9C=80?= =?UTF-8?q?=E6=96=B0=E6=97=B6=E9=97=B4=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/njcn/csdevice/job/DayDataJob.java | 62 ++++++++++++++++++ .../impl/CsEquipmentDeliveryServiceImpl.java | 11 +--- .../csharmonic/pojo/po/CsLineLatestData.java | 40 ++++++++++++ .../CsLineLatestDataController.java | 64 +++++++++++++++++++ .../mapper/CsLineLatestDataMapper.java | 16 +++++ .../service/ICsLineLatestDataService.java | 18 ++++++ .../impl/CsLineLatestDataServiceImpl.java | 24 +++++++ 7 files changed, 225 insertions(+), 10 deletions(-) create mode 100644 cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/job/DayDataJob.java create mode 100644 cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/po/CsLineLatestData.java create mode 100644 cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/CsLineLatestDataController.java create mode 100644 cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/mapper/CsLineLatestDataMapper.java create mode 100644 cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/ICsLineLatestDataService.java create mode 100644 cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CsLineLatestDataServiceImpl.java diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/job/DayDataJob.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/job/DayDataJob.java new file mode 100644 index 0000000..19b1a2e --- /dev/null +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/job/DayDataJob.java @@ -0,0 +1,62 @@ +package com.njcn.csdevice.job; + +import cn.hutool.core.date.DatePattern; +import com.njcn.csdevice.service.IRStatIntegrityDService; +import com.njcn.csdevice.service.IRStatOnlineRateDService; +import com.njcn.csharmonic.pojo.param.StatisticsDataParam; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +/** + * @author xy + */ +@Component +@EnableScheduling +@RequiredArgsConstructor +@Slf4j +public class DayDataJob { + + private final IRStatIntegrityDService statIntegrityDService; + private final IRStatOnlineRateDService statOnlineRateDService; + + /** + * 每天1点计算治理设备的完整性 + * + * @date 2025/7/1 + */ + @Scheduled(cron = "0 0 1 * * ?") + public void lineIntegrityJob() { + StatisticsDataParam param = new StatisticsDataParam(); + LocalDate yesterday = LocalDate.now().minusDays(1); + LocalDateTime start = yesterday.atStartOfDay(); + LocalDateTime end = yesterday.atTime(23, 59, 59); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN); + param.setStartTime(start.format(formatter)); + param.setEndTime(end.format(formatter)); + statIntegrityDService.addData(param); + } + + /** + * 每天2点计算治理设备的在线率 + * + * @date 2025/7/1 + */ + @Scheduled(cron = "0 0 2 * * ?") + public void devOnlineRateJob() { + StatisticsDataParam param = new StatisticsDataParam(); + LocalDate yesterday = LocalDate.now().minusDays(1); + LocalDateTime start = yesterday.atStartOfDay(); + LocalDateTime end = yesterday.atTime(23, 59, 59); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN); + param.setStartTime(start.format(formatter)); + param.setEndTime(end.format(formatter)); + statOnlineRateDService.addData(param); + } +} diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsEquipmentDeliveryServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsEquipmentDeliveryServiceImpl.java index 56af2d3..8f3b68d 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsEquipmentDeliveryServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsEquipmentDeliveryServiceImpl.java @@ -391,17 +391,7 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl dataSet = new ArrayList<>(); //治理监测点 if (Objects.equals(code, DicDataEnum.OUTPUT_SIDE.getCode())){ - // select - // t1.id - // from - // cs_dev_model_relation t0 - // left join cs_dev_model t1 on - // t0.model_id = t1.id - // where - // t0.status="1" and - // t0.dev_id = #{devId} and t1.`type` = #{type} modelId = csDevModelRelationService.getModelByType(deviceId,0); - //select * from cs_data_set where pid = modelId and clDev = 0 dataSet = csDataSetService.findDataSetByModelId(modelId,0); } //电网侧监测点 @@ -447,6 +437,7 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl + * 治理设备模块运行状态记录表 + *

+ * + * @author xy + * @since 2025-07-03 + */ +@Getter +@Setter +@TableName("cs_line_latest_data") +public class CsLineLatestData implements Serializable{ + + private static final long serialVersionUID = 1L; + + /** + * 监测点id + */ + @MppMultiId(value = "line_id") + private String lineId; + + /** + * 最新数据时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime timeId; + + +} diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/CsLineLatestDataController.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/CsLineLatestDataController.java new file mode 100644 index 0000000..56edf7d --- /dev/null +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/CsLineLatestDataController.java @@ -0,0 +1,64 @@ +package com.njcn.csharmonic.controller; + + +import com.njcn.common.pojo.annotation.OperateInfo; +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.csharmonic.param.CsEventUserQueryParam; +import com.njcn.csharmonic.pojo.po.CsLineLatestData; +import com.njcn.csharmonic.service.ICsLineLatestDataService; +import com.njcn.web.controller.BaseController; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +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; + +/** + *

+ * 治理设备模块运行状态记录表 前端控制器 + *

+ * + * @author xy + * @since 2025-07-03 + */ +@Slf4j +@RestController +@RequestMapping("/csLineLatestData") +@Api(tags = "暂降事件") +@AllArgsConstructor +public class CsLineLatestDataController extends BaseController { + + private final ICsLineLatestDataService csLineLatestDataService; + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/add") + @ApiOperation("新增") + @ApiImplicitParam(name = "csLineLatestData", value = "实体", required = true) + public HttpResult addData(@RequestBody CsLineLatestData csLineLatestData) { + String methodDescribe = getMethodDescribe("addData"); + csLineLatestDataService.addData(csLineLatestData); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } + + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/list") + @ApiOperation("查询") + @ApiImplicitParam(name = "csEventUserQueryParam", value = "暂降事件查询参数", required = true) + public HttpResult> listData(@RequestBody CsEventUserQueryParam csEventUserQueryParam) { + String methodDescribe = getMethodDescribe("queryEventList"); + List list = csLineLatestDataService.list(); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + +} + diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/mapper/CsLineLatestDataMapper.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/mapper/CsLineLatestDataMapper.java new file mode 100644 index 0000000..73d3d30 --- /dev/null +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/mapper/CsLineLatestDataMapper.java @@ -0,0 +1,16 @@ +package com.njcn.csharmonic.mapper; + +import com.github.jeffreyning.mybatisplus.base.MppBaseMapper; +import com.njcn.csharmonic.pojo.po.CsLineLatestData; + +/** + *

+ * 治理设备模块运行状态记录表 Mapper 接口 + *

+ * + * @author xy + * @since 2025-07-03 + */ +public interface CsLineLatestDataMapper extends MppBaseMapper { + +} diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/ICsLineLatestDataService.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/ICsLineLatestDataService.java new file mode 100644 index 0000000..addba0e --- /dev/null +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/ICsLineLatestDataService.java @@ -0,0 +1,18 @@ +package com.njcn.csharmonic.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.csharmonic.pojo.po.CsLineLatestData; + +/** + *

+ * 治理设备模块运行状态记录表 服务类 + *

+ * + * @author xy + * @since 2025-07-03 + */ +public interface ICsLineLatestDataService extends IService { + + void addData(CsLineLatestData csLineLatestData); + +} diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CsLineLatestDataServiceImpl.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CsLineLatestDataServiceImpl.java new file mode 100644 index 0000000..67911af --- /dev/null +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CsLineLatestDataServiceImpl.java @@ -0,0 +1,24 @@ +package com.njcn.csharmonic.service.impl; + +import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; +import com.njcn.csharmonic.mapper.CsLineLatestDataMapper; +import com.njcn.csharmonic.pojo.po.CsLineLatestData; +import com.njcn.csharmonic.service.ICsLineLatestDataService; +import org.springframework.stereotype.Service; + +/** + *

+ * 治理设备模块运行状态记录表 服务实现类 + *

+ * + * @author xy + * @since 2025-07-03 + */ +@Service +public class CsLineLatestDataServiceImpl extends MppServiceImpl implements ICsLineLatestDataService { + + @Override + public void addData(CsLineLatestData csLineLatestData) { + + } +}