diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpVThd.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpVThd.java index bf7c7ae41..b69f27cca 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpVThd.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpVThd.java @@ -2,6 +2,7 @@ package com.njcn.harmonic.pojo.po; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; @@ -35,6 +36,7 @@ public class RMpVThd implements Serializable { */ @TableField(value = "measurement_point_id") @ApiModelProperty(value="监测点ID") + @MppMultiId private String measurementPointId; /** @@ -42,6 +44,7 @@ public class RMpVThd implements Serializable { */ @TableField(value = "data_type") @ApiModelProperty(value="排名类型,字典表(1年 2季度 3月份 4周 5日)") + @MppMultiId private String dataType; /** @@ -49,6 +52,7 @@ public class RMpVThd implements Serializable { */ @TableField(value = "data_date") @ApiModelProperty(value="时间") + @MppMultiId private Date dataDate; /** diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/line/HarmonicOverLimitController.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/line/HarmonicOverLimitController.java index d1e2e7cb4..eac80da55 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/line/HarmonicOverLimitController.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/line/HarmonicOverLimitController.java @@ -7,10 +7,7 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; import com.njcn.prepare.harmonic.pojo.param.LineParam; -import com.njcn.prepare.harmonic.service.mysql.line.IRMpPartHarmonicDetailDService; -import com.njcn.prepare.harmonic.service.mysql.line.IRMpPartHarmonicDetailMService; -import com.njcn.prepare.harmonic.service.mysql.line.IRMpSurplusHarmonicDetailDService; -import com.njcn.prepare.harmonic.service.mysql.line.IRMpSurplusHarmonicDetailMService; +import com.njcn.prepare.harmonic.service.mysql.line.*; import com.njcn.web.controller.BaseController; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -46,6 +43,8 @@ public class HarmonicOverLimitController extends BaseController { private final IRMpSurplusHarmonicDetailMService mpSurplusHarmonicDetailMService; + private final IRMpVThdService mpVThdService; + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD) @PostMapping("/harmonicDetailDay1") @ApiOperation("监测点稳态指标超标明细日表1") @@ -86,4 +85,14 @@ public class HarmonicOverLimitController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); } + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD) + @PostMapping("/harmonicThdDay") + @ApiOperation("谐波畸变率日表") + @ApiImplicitParam(name = "lineParam", value = "算法通用查询参数", required = true) + public HttpResult harmonicThdDay(@RequestBody @Validated LineParam lineParam) { + String methodDescribe = getMethodDescribe("harmonicThdDay"); + mpVThdService.insertHarmonicVThdDay(lineParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } + } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/RMpVThdMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/RMpVThdMapper.java index dd2fa9f23..3ce90b327 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/RMpVThdMapper.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/RMpVThdMapper.java @@ -1,9 +1,11 @@ package com.njcn.prepare.harmonic.mapper.mysql.line; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.github.jeffreyning.mybatisplus.base.MppBaseMapper; import com.njcn.harmonic.pojo.po.RMpVThd; import org.apache.ibatis.annotations.Param; +import java.util.List; import java.util.Map; /** @@ -14,7 +16,13 @@ import java.util.Map; * @author xiaoyao * @since 2022-11-07 */ -public interface RMpVThdMapper extends BaseMapper { +public interface RMpVThdMapper extends MppBaseMapper { int insertRate(@Param("item") Map item); + + /** + * 从r_stat_data_v_d中获取畸变率的最大值 + * phasic_type = A、B、C && value_type = CP95 + */ + List getVThdData(@Param("time") String time, @Param("lineList")List lineList); } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/mapping/RMpVThdMapper.xml b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/mapping/RMpVThdMapper.xml index abc83aa77..f9b0c82d6 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/mapping/RMpVThdMapper.xml +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/mapping/RMpVThdMapper.xml @@ -8,4 +8,24 @@ ON DUPLICATE KEY UPDATE v_thd = #{item.vThd} + diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/RMpVThdServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/RMpVThdServiceImpl.java new file mode 100644 index 000000000..f8cc9fb6c --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/RMpVThdServiceImpl.java @@ -0,0 +1,51 @@ +package com.njcn.prepare.harmonic.service.mysql.Impl.line; + + +import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; +import com.njcn.harmonic.pojo.po.RMpSurplusHarmonicDetailD; +import com.njcn.harmonic.pojo.po.RMpVThd; + +import com.njcn.prepare.harmonic.mapper.mysql.line.RMpVThdMapper; +import com.njcn.prepare.harmonic.pojo.param.LineParam; +import com.njcn.prepare.harmonic.service.mysql.line.IRMpVThdService; +import com.njcn.prepare.harmonic.utils.PublicUtil; +import lombok.extern.slf4j.Slf4j; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; + +/** + * 类的介绍: + * + * @author xuyang + * @version 1.0.0 + * @createTime 2023/4/24 17:58 + */ +@Service +@Slf4j +public class RMpVThdServiceImpl extends MppServiceImpl implements IRMpVThdService { + + @Override + @Transactional(rollbackFor = {Exception.class}) + @Async("asyncExecutor") + public void insertHarmonicVThdDay(LineParam lineParam) { + log.info(LocalDateTime.now()+"===>监测点谐波畸变率开始执行"); + List result = new ArrayList<>(); + if (Objects.equals(lineParam.getType(),5)){ + result = this.baseMapper.getVThdData(lineParam.getDataDate(),lineParam.getLineIds()); + } else if (Objects.equals(lineParam.getType(),3)){ + int year = Integer.parseInt(lineParam.getDataDate().split("-")[0]); + int month = Integer.parseInt(lineParam.getDataDate().split("-")[1]); + List dayList = PublicUtil.getDayByMonth(year,month); + for (String item : dayList) { + result.addAll(this.baseMapper.getVThdData(item,lineParam.getLineIds())); + } + } + this.saveOrUpdateBatchByMultiId(result,50); + } +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/line/IRMpVThdService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/line/IRMpVThdService.java new file mode 100644 index 000000000..cff6ae6a7 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/line/IRMpVThdService.java @@ -0,0 +1,8 @@ +package com.njcn.prepare.harmonic.service.mysql.line; + +import com.njcn.prepare.harmonic.pojo.param.LineParam; + +public interface IRMpVThdService { + + void insertHarmonicVThdDay(LineParam lineParam); +}