diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimMonitorRateD.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimMonitorRateD.java new file mode 100644 index 000000000..6cf02aec3 --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimMonitorRateD.java @@ -0,0 +1,40 @@ +package com.njcn.harmonic.pojo.po.dim; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; +import com.njcn.db.bo.BaseEntity; +import java.io.Serializable; +import java.time.LocalDate; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * + *

+ * + * @author cdf + * @since 2023-11-23 + */ +@Getter +@Setter +@TableName("r_dim_monitor_rate_d") +public class RDimMonitorRateD{ + + private static final long serialVersionUID = 1L; + + @MppMultiId + private String orgId; + + @MppMultiId + private LocalDate statisDate; + + /** + * 母线监测率(%) + */ + private Float busMonitorRate; + + private Float stationMonitorRate; + + +} diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimMonitorRateM.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimMonitorRateM.java new file mode 100644 index 000000000..c7eb1389c --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimMonitorRateM.java @@ -0,0 +1,39 @@ +package com.njcn.harmonic.pojo.po.dim; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; +import com.njcn.db.bo.BaseEntity; + +import java.time.LocalDate; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * + *

+ * + * @author cdf + * @since 2023-11-23 + */ +@Getter +@Setter +@TableName("r_dim_monitor_rate_m") +public class RDimMonitorRateM { + + private static final long serialVersionUID = 1L; + + @MppMultiId + private String orgId; + @MppMultiId + private LocalDate statisDate; + + /** + * 母线监测率(%) + */ + private Float busMonitorRate; + + private Float stationMonitorRate; + + +} diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimMonitorRateY.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimMonitorRateY.java new file mode 100644 index 000000000..3e35b60d5 --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimMonitorRateY.java @@ -0,0 +1,38 @@ +package com.njcn.harmonic.pojo.po.dim; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; +import com.njcn.db.bo.BaseEntity; +import java.io.Serializable; +import java.time.LocalDate; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * + *

+ * + * @author cdf + * @since 2023-11-23 + */ +@Getter +@Setter +@TableName("r_dim_monitor_rate_y") +public class RDimMonitorRateY{ + + private static final long serialVersionUID = 1L; + @MppMultiId + private String orgId; + @MppMultiId + private LocalDate statisDate; + + /** + * 母线监测率(%) + */ + private Float busMonitorRate; + + private Float stationMonitorRate; + + +} diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimObjRateD.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimObjRateD.java new file mode 100644 index 000000000..0125d534b --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimObjRateD.java @@ -0,0 +1,42 @@ +package com.njcn.harmonic.pojo.po.dim; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; +import com.njcn.db.bo.BaseEntity; +import java.io.Serializable; +import java.time.LocalDate; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * + *

+ * + * @author cdf + * @since 2023-11-23 + */ +@Getter +@Setter +@TableName("r_dim_obj_rate_d") +public class RDimObjRateD{ + + private static final long serialVersionUID = 1L; + @MppMultiId + private String orgId; + @MppMultiId + private LocalDate statisDate; + + /** + * 源荷对象类别 + */ + @MppMultiId + private String objType; + + /** + * **源荷对象监测率(%) + */ + private Float objMonitorRate; + + +} diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimObjRateM.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimObjRateM.java new file mode 100644 index 000000000..95d28e7c9 --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimObjRateM.java @@ -0,0 +1,42 @@ +package com.njcn.harmonic.pojo.po.dim; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; +import com.njcn.db.bo.BaseEntity; +import java.io.Serializable; +import java.time.LocalDate; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * + *

+ * + * @author cdf + * @since 2023-11-23 + */ +@Getter +@Setter +@TableName("r_dim_obj_rate_m") +public class RDimObjRateM{ + + private static final long serialVersionUID = 1L; + @MppMultiId + private String orgId; + @MppMultiId + private LocalDate statisDate; + + /** + * 源荷对象类别 + */ + @MppMultiId + private String objType; + + /** + * **源荷对象监测率(%) + */ + private Float objMonitorRate; + + +} diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimObjRateY.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimObjRateY.java new file mode 100644 index 000000000..4b25667af --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimObjRateY.java @@ -0,0 +1,42 @@ +package com.njcn.harmonic.pojo.po.dim; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; +import com.njcn.db.bo.BaseEntity; +import java.io.Serializable; +import java.time.LocalDate; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * + *

+ * + * @author cdf + * @since 2023-11-23 + */ +@Getter +@Setter +@TableName("r_dim_obj_rate_y") +public class RDimObjRateY{ + + private static final long serialVersionUID = 1L; + @MppMultiId + private String orgId; + @MppMultiId + private LocalDate statisDate; + + /** + * 源荷对象类别 + */ + @MppMultiId + private String objType; + + /** + * **源荷对象监测率(%) + */ + private Float objMonitorRate; + + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/dim/IRDimBusGlobalDController.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/dim/IRDimBusGlobalDController.java index 1655a92a7..bbc3c58c0 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/dim/IRDimBusGlobalDController.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/dim/IRDimBusGlobalDController.java @@ -5,10 +5,15 @@ 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.device.biz.commApi.CommTerminalGeneralClient; +import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO; import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO; +import com.njcn.device.biz.pojo.param.DeptGetLineParam; import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; import com.njcn.prepare.harmonic.pojo.param.DeviceAbnormaStatisticsParam; -import com.njcn.prepare.harmonic.service.mysql.dim.IRDimBusGlobalDService; +import com.njcn.prepare.harmonic.service.mysql.dim.*; +import com.njcn.user.api.DeptFeignClient; +import com.njcn.user.pojo.po.Dept; import com.njcn.web.controller.BaseController; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -20,6 +25,9 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.time.LocalDate; +import java.util.List; + /** * pqs * @@ -36,6 +44,22 @@ public class IRDimBusGlobalDController extends BaseController { private final IRDimBusGlobalDService irDimBusGlobalDService; + private final IRDimMonitorRateDService irDimMonitorRateDService; + + private final IRDimMonitorRateMService irDimMonitorRateMService; + + private final IRDimObjRateDService irDimObjRateDService; + + private final IRDimObjRateMService irDimObjRateMService; + + private final IRDimObjRateYService irDimObjRateYService; + + private final IRDimMonitorRateYService irDimMonitorRateYService; + + private final CommTerminalGeneralClient commTerminalGeneralClient; + + private final DeptFeignClient deptFeignClient; + @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/dayDimGlobal") @ApiOperation("母线变电站每日运行情况统计") @@ -48,4 +72,56 @@ public class IRDimBusGlobalDController extends BaseController { + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/monitorRate") + @ApiOperation("母线变电站监测率统计") + @ApiImplicitParam(name = "calculatedParam", value = "参数", required = true) + public HttpResult monitorRate(@RequestBody CalculatedParam calculatedParam) { + String methodDescribe = getMethodDescribe("monitorRate"); + + Dept data = deptFeignClient.getRootDept().getData(); + DeptGetLineParam deptGetLineParam = new DeptGetLineParam(); + deptGetLineParam.setDeptId(data.getId()); + deptGetLineParam.setSystemType(0); + List dept = commTerminalGeneralClient.deptGetLineList(deptGetLineParam).getData(); + calculatedParam.setIdList(dept); + calculatedParam.setDataDate("2023-11-22"); + + irDimMonitorRateDService.monitorRateDay(calculatedParam); + + + irDimMonitorRateMService.monitorRateMonth(calculatedParam); + + + irDimMonitorRateYService.monitorRateYear(calculatedParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } + + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/objMonitorRate") + @ApiOperation("源荷类型监测率统计") + @ApiImplicitParam(name = "calculatedParam", value = "参数", required = true) + public HttpResult objMonitorRate(@RequestBody CalculatedParam calculatedParam) { + String methodDescribe = getMethodDescribe("objMonitorRate"); + + Dept data = deptFeignClient.getRootDept().getData(); + DeptGetLineParam deptGetLineParam = new DeptGetLineParam(); + deptGetLineParam.setDeptId(data.getId()); + deptGetLineParam.setSystemType(0); + List dept = commTerminalGeneralClient.deptGetLineList(deptGetLineParam).getData(); + calculatedParam.setIdList(dept); + + + irDimObjRateDService.objMonitorRateDay(calculatedParam); + + + irDimObjRateMService.objMonitorRateMonth(calculatedParam); + + + irDimObjRateYService.objMonitorRateYear(calculatedParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } + + } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimMonitorRateDMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimMonitorRateDMapper.java new file mode 100644 index 000000000..46528e9db --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimMonitorRateDMapper.java @@ -0,0 +1,17 @@ +package com.njcn.prepare.harmonic.mapper.mysql.dim; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.github.jeffreyning.mybatisplus.base.MppBaseMapper; +import com.njcn.harmonic.pojo.po.dim.RDimMonitorRateD; + +/** + *

+ * Mapper 接口 + *

+ * + * @author cdf + * @since 2023-11-23 + */ +public interface RDimMonitorRateDMapper extends MppBaseMapper { + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimMonitorRateMMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimMonitorRateMMapper.java new file mode 100644 index 000000000..398f67c08 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimMonitorRateMMapper.java @@ -0,0 +1,17 @@ +package com.njcn.prepare.harmonic.mapper.mysql.dim; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.github.jeffreyning.mybatisplus.base.MppBaseMapper; +import com.njcn.harmonic.pojo.po.dim.RDimMonitorRateM; + +/** + *

+ * Mapper 接口 + *

+ * + * @author cdf + * @since 2023-11-23 + */ +public interface RDimMonitorRateMMapper extends MppBaseMapper { + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimMonitorRateYMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimMonitorRateYMapper.java new file mode 100644 index 000000000..50128f369 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimMonitorRateYMapper.java @@ -0,0 +1,17 @@ +package com.njcn.prepare.harmonic.mapper.mysql.dim; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.github.jeffreyning.mybatisplus.base.MppBaseMapper; +import com.njcn.harmonic.pojo.po.dim.RDimMonitorRateY; + +/** + *

+ * Mapper 接口 + *

+ * + * @author cdf + * @since 2023-11-23 + */ +public interface RDimMonitorRateYMapper extends MppBaseMapper { + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimObjRateDMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimObjRateDMapper.java new file mode 100644 index 000000000..8361fcff7 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimObjRateDMapper.java @@ -0,0 +1,17 @@ +package com.njcn.prepare.harmonic.mapper.mysql.dim; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.github.jeffreyning.mybatisplus.base.MppBaseMapper; +import com.njcn.harmonic.pojo.po.dim.RDimObjRateD; + +/** + *

+ * Mapper 接口 + *

+ * + * @author cdf + * @since 2023-11-23 + */ +public interface RDimObjRateDMapper extends MppBaseMapper { + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimObjRateMMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimObjRateMMapper.java new file mode 100644 index 000000000..932f9dc52 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimObjRateMMapper.java @@ -0,0 +1,17 @@ +package com.njcn.prepare.harmonic.mapper.mysql.dim; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.github.jeffreyning.mybatisplus.base.MppBaseMapper; +import com.njcn.harmonic.pojo.po.dim.RDimObjRateM; + +/** + *

+ * Mapper 接口 + *

+ * + * @author cdf + * @since 2023-11-23 + */ +public interface RDimObjRateMMapper extends MppBaseMapper { + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimObjRateYMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimObjRateYMapper.java new file mode 100644 index 000000000..cc33db625 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimObjRateYMapper.java @@ -0,0 +1,17 @@ +package com.njcn.prepare.harmonic.mapper.mysql.dim; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.github.jeffreyning.mybatisplus.base.MppBaseMapper; +import com.njcn.harmonic.pojo.po.dim.RDimObjRateY; + +/** + *

+ * Mapper 接口 + *

+ * + * @author cdf + * @since 2023-11-23 + */ +public interface RDimObjRateYMapper extends MppBaseMapper { + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimBusGlobalDService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimBusGlobalDService.java index 5c7fb9645..a526ade28 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimBusGlobalDService.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimBusGlobalDService.java @@ -25,4 +25,6 @@ public interface IRDimBusGlobalDService extends IMppService { void globalCalBusBarYear(CalculatedParam calculatedParam); + + } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimMonitorRateDService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimMonitorRateDService.java new file mode 100644 index 000000000..2bb131fdf --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimMonitorRateDService.java @@ -0,0 +1,27 @@ +package com.njcn.prepare.harmonic.service.mysql.dim; + + +import com.baomidou.mybatisplus.extension.service.IService; +import com.github.jeffreyning.mybatisplus.service.IMppService; +import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO; +import com.njcn.harmonic.pojo.po.dim.RDimMonitorRateD; +import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; + +/** + *

+ * 服务类 + *

+ * + * @author cdf + * @since 2023-11-23 + */ +public interface IRDimMonitorRateDService extends IMppService { + + /** + * 母线,电站监测率 + * @author cdf + * @date 2023/11/23 + */ + void monitorRateDay(CalculatedParam calculatedParam); + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimMonitorRateMService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimMonitorRateMService.java new file mode 100644 index 000000000..18f032b6c --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimMonitorRateMService.java @@ -0,0 +1,25 @@ +package com.njcn.prepare.harmonic.service.mysql.dim; + + +import com.baomidou.mybatisplus.extension.service.IService; +import com.github.jeffreyning.mybatisplus.service.IMppService; +import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO; +import com.njcn.harmonic.pojo.po.dim.RDimMonitorRateM; +import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; + +/** + *

+ * 服务类 + *

+ * + * @author cdf + * @since 2023-11-23 + */ +public interface IRDimMonitorRateMService extends IMppService { + /** + * 母线,电站监测率 + * @author cdf + * @date 2023/11/23 + */ + void monitorRateMonth(CalculatedParam calculatedParam); +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimMonitorRateYService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimMonitorRateYService.java new file mode 100644 index 000000000..658dd933b --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimMonitorRateYService.java @@ -0,0 +1,22 @@ +package com.njcn.prepare.harmonic.service.mysql.dim; + + +import com.baomidou.mybatisplus.extension.service.IService; +import com.github.jeffreyning.mybatisplus.service.IMppService; +import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO; +import com.njcn.harmonic.pojo.po.dim.RDimMonitorRateY; +import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; + +/** + *

+ * 服务类 + *

+ * + * @author cdf + * @since 2023-11-23 + */ +public interface IRDimMonitorRateYService extends IMppService { + + void monitorRateYear(CalculatedParam calculatedParam); + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimObjGlobalDService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimObjGlobalDService.java index cbd6b317c..a97abae16 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimObjGlobalDService.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimObjGlobalDService.java @@ -1,7 +1,9 @@ package com.njcn.prepare.harmonic.service.mysql.dim; import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO; import com.njcn.harmonic.pojo.po.dim.RDimObjGlobalD; +import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; /** *

diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimObjRateDService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimObjRateDService.java new file mode 100644 index 000000000..de3d9e52f --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimObjRateDService.java @@ -0,0 +1,25 @@ +package com.njcn.prepare.harmonic.service.mysql.dim; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.github.jeffreyning.mybatisplus.service.IMppService; +import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO; +import com.njcn.harmonic.pojo.po.dim.RDimObjRateD; +import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; + +/** + *

+ * 服务类 + *

+ * + * @author cdf + * @since 2023-11-23 + */ +public interface IRDimObjRateDService extends IMppService { + + /** + * 源荷对象监测率 + * @author cdf + * @date 2023/11/23 + */ + void objMonitorRateDay(CalculatedParam calculatedParam); +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimObjRateMService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimObjRateMService.java new file mode 100644 index 000000000..3bb2872e6 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimObjRateMService.java @@ -0,0 +1,25 @@ +package com.njcn.prepare.harmonic.service.mysql.dim; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.github.jeffreyning.mybatisplus.service.IMppService; +import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO; +import com.njcn.harmonic.pojo.po.dim.RDimObjRateM; +import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; + +/** + *

+ * 服务类 + *

+ * + * @author cdf + * @since 2023-11-23 + */ +public interface IRDimObjRateMService extends IMppService { + + /** + * 源荷对象监测率 + * @author cdf + * @date 2023/11/23 + */ + void objMonitorRateMonth(CalculatedParam calculatedParam); +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimObjRateYService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimObjRateYService.java new file mode 100644 index 000000000..a7422d8a5 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimObjRateYService.java @@ -0,0 +1,25 @@ +package com.njcn.prepare.harmonic.service.mysql.dim; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.github.jeffreyning.mybatisplus.service.IMppService; +import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO; +import com.njcn.harmonic.pojo.po.dim.RDimObjRateY; +import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; + +/** + *

+ * 服务类 + *

+ * + * @author cdf + * @since 2023-11-23 + */ +public interface IRDimObjRateYService extends IMppService { + + /** + * 源荷对象监测率 + * @author cdf + * @date 2023/11/23 + */ + void objMonitorRateYear(CalculatedParam calculatedParam); +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusGlobalDServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusGlobalDServiceImpl.java index 82ae1b983..425851644 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusGlobalDServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimBusGlobalDServiceImpl.java @@ -21,14 +21,18 @@ import com.njcn.device.pms.pojo.po.Monitor; import com.njcn.harmonic.pojo.po.RMpEventDetailDPO; import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO; import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalD; +import com.njcn.harmonic.pojo.po.dim.RDimMonitorRateD; import com.njcn.prepare.harmonic.mapper.mysql.area.PmsMonitorPOMapper; +import com.njcn.prepare.harmonic.mapper.mysql.area.ROperatingIndexDPOMapper; import com.njcn.prepare.harmonic.mapper.mysql.day.RStatIntegrityDMapper; import com.njcn.prepare.harmonic.mapper.mysql.day.RStatLimitTargetDMapper; import com.njcn.prepare.harmonic.mapper.mysql.dim.GeneratrixWireMapper; import com.njcn.prepare.harmonic.mapper.mysql.dim.PmsCountLedgerMapper; import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimBusGlobalDMapper; import com.njcn.prepare.harmonic.mapper.mysql.line.RMpEventDetailDMapper; +import com.njcn.prepare.harmonic.mapper.mysql.line.ROperatingMonitorDMapper; import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; +import com.njcn.prepare.harmonic.pojo.mysql.ROperatingMonitorDPO; import com.njcn.prepare.harmonic.service.mysql.dim.IRDimBusGlobalDService; import com.njcn.user.api.DeptFeignClient; import com.njcn.user.pojo.po.Dept; @@ -75,6 +79,9 @@ public class RDimBusGlobalDServiceImpl extends MppServiceImpl dayDataList = this.list(lambdaQueryWrapper); if (CollUtil.isNotEmpty(dayDataList)) { - Map deptMap = calculatedParam.getIdList().stream().collect(Collectors.toMap(DeptGetChildrenDTO::getDeptId,Function.identity())); + Map deptMap = calculatedParam.getIdList().stream().collect(Collectors.toMap(DeptGetChildrenDTO::getDeptId, Function.identity())); Map> map = dayDataList.stream().collect(Collectors.groupingBy(RDimBusGlobalD::getOrgId)); map.forEach((key, val) -> { @@ -248,4 +255,6 @@ public class RDimBusGlobalDServiceImpl extends MppServiceImpl + * 服务实现类 + *

+ * + * @author cdf + * @since 2023-11-23 + */ +@Service +@RequiredArgsConstructor +public class RDimMonitorRateDServiceImpl extends MppServiceImpl implements IRDimMonitorRateDService { + + private final PmsCountLedgerMapper pmsCountLedgerMapper; + + private final ROperatingMonitorDMapper rOperatingMonitorDMapper; + + private final PmsMonitorPOMapper pmsMonitorPOMapper; + + @Override + public void monitorRateDay(CalculatedParam calculatedParam) { + List poList = new ArrayList<>(); + LocalDate date = LocalDate.parse(calculatedParam.getDataDate()); + + List pmsMidLedgerList = pmsCountLedgerMapper.newDateData(); + Map map = pmsMidLedgerList.stream().collect(Collectors.toMap(PmsCountLedger::getSection, Function.identity())); + + List deptList = calculatedParam.getIdList(); + for (DeptGetChildrenDTO dto : deptList) { + Float busMonitorRate = 0f; + Float stationMonitorRate = 0f; + RDimMonitorRateD rDimMonitorRateD = new RDimMonitorRateD(); + rDimMonitorRateD.setOrgId(dto.getDeptId()); + rDimMonitorRateD.setStatisDate(date); + + List monitorIds = dto.getLineIds(); + if (CollUtil.isEmpty(monitorIds)) { + rDimMonitorRateD.setBusMonitorRate(busMonitorRate); + rDimMonitorRateD.setStationMonitorRate(stationMonitorRate); + poList.add(rDimMonitorRateD); + continue; + } + + if (map.containsKey(dto.getDeptId())) { + PmsCountLedger pmsCountLedger = map.get(dto.getDeptId()); + Integer stationNum = pmsCountLedger.getSubCount(); + Integer busBarNum = pmsCountLedger.getSubvCount(); + + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(ROperatingMonitorDPO::getDataDate, date).in(ROperatingMonitorDPO::getMeasurementPointId, monitorIds); + List rOperatingMonitorDPOList = rOperatingMonitorDMapper.selectList(lambdaQueryWrapper); + + + List goodList = rOperatingMonitorDPOList.stream().filter(item -> item.getIsUnusual() == 0 && item.getIndexIntegrityRate().floatValue() >= 0.95).collect(Collectors.toList()); + List ids = goodList.stream().map(ROperatingMonitorDPO::getMeasurementPointId).distinct().collect(Collectors.toList()); + if (CollUtil.isNotEmpty(ids)) { + + List monitorList = pmsMonitorPOMapper.selectList(new LambdaQueryWrapper().in(Monitor::getId, ids)); + + if (busBarNum > 0) { + long count = monitorList.stream().map(Monitor::getLineId).distinct().count(); + if (count > 0) { + busMonitorRate = (float) count / busBarNum; + } + } + if (stationNum > 0) { + long count = monitorList.stream().map(Monitor::getPowerrId).distinct().count(); + if (count > 0) { + stationMonitorRate = (float) count / stationNum; + } + } + } + + } else { + rDimMonitorRateD.setBusMonitorRate(busMonitorRate); + rDimMonitorRateD.setStationMonitorRate(stationMonitorRate); + poList.add(rDimMonitorRateD); + continue; + } + rDimMonitorRateD.setBusMonitorRate(busMonitorRate); + rDimMonitorRateD.setStationMonitorRate(stationMonitorRate); + poList.add(rDimMonitorRateD); + } + + if (CollUtil.isNotEmpty(poList)) { + this.saveOrUpdateBatchByMultiId(poList,100); + } + + + } +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimMonitorRateMServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimMonitorRateMServiceImpl.java new file mode 100644 index 000000000..fedbc6459 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimMonitorRateMServiceImpl.java @@ -0,0 +1,63 @@ +package com.njcn.prepare.harmonic.service.mysql.dim.impl; + + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.date.LocalDateTimeUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; +import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO; +import com.njcn.harmonic.pojo.po.dim.RDimMonitorRateD; +import com.njcn.harmonic.pojo.po.dim.RDimMonitorRateM; +import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimMonitorRateMMapper; +import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; +import com.njcn.prepare.harmonic.service.mysql.dim.IRDimMonitorRateDService; +import com.njcn.prepare.harmonic.service.mysql.dim.IRDimMonitorRateMService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +/** + *

+ * 服务实现类 + *

+ * + * @author cdf + * @since 2023-11-23 + */ +@Service +@RequiredArgsConstructor +public class RDimMonitorRateMServiceImpl extends MppServiceImpl implements IRDimMonitorRateMService { + + private final IRDimMonitorRateDService irDimMonitorRateDService; + + @Override + public void monitorRateMonth(CalculatedParam calculatedParam) { + List poList = new ArrayList<>(); + DateTime start = DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate())); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().between(RDimMonitorRateD::getStatisDate,start,DateUtil.endOfMonth(DateUtil.parse(calculatedParam.getDataDate(),DatePattern.NORM_DATE_FORMAT))); + queryWrapper.select("Org_Id as orgId,avg(Bus_Monitor_Rate) as busMonitorRate,avg(Station_Monitor_Rate) as stationMonitorRate").groupBy("Org_Id"); + List rDimMonitorRateDList = irDimMonitorRateDService.list(queryWrapper); + + if(CollUtil.isNotEmpty(rDimMonitorRateDList)){ + for(RDimMonitorRateD rDimMonitorRateD : rDimMonitorRateDList){ + RDimMonitorRateM rDimMonitorRateM = new RDimMonitorRateM(); + rDimMonitorRateM.setBusMonitorRate(rDimMonitorRateD.getBusMonitorRate()); + rDimMonitorRateM.setStationMonitorRate(rDimMonitorRateD.getStationMonitorRate()); + rDimMonitorRateM.setOrgId(rDimMonitorRateD.getOrgId()); + rDimMonitorRateM.setStatisDate(LocalDate.parse(DateUtil.format(start,DatePattern.NORM_DATE_PATTERN))); + poList.add(rDimMonitorRateM); + } + this.saveOrUpdateBatchByMultiId(poList,100); + } + + } +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimMonitorRateYServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimMonitorRateYServiceImpl.java new file mode 100644 index 000000000..2b6900064 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimMonitorRateYServiceImpl.java @@ -0,0 +1,63 @@ +package com.njcn.prepare.harmonic.service.mysql.dim.impl; + + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; +import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO; +import com.njcn.harmonic.pojo.po.dim.RDimMonitorRateD; +import com.njcn.harmonic.pojo.po.dim.RDimMonitorRateM; +import com.njcn.harmonic.pojo.po.dim.RDimMonitorRateY; +import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimMonitorRateYMapper; +import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; +import com.njcn.prepare.harmonic.service.mysql.dim.IRDimMonitorRateDService; +import com.njcn.prepare.harmonic.service.mysql.dim.IRDimMonitorRateMService; +import com.njcn.prepare.harmonic.service.mysql.dim.IRDimMonitorRateYService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +/** + *

+ * 服务实现类 + *

+ * + * @author cdf + * @since 2023-11-23 + */ +@Service +@RequiredArgsConstructor +public class RDimMonitorRateYServiceImpl extends MppServiceImpl implements IRDimMonitorRateYService { + + private final IRDimMonitorRateMService irDimMonitorRateMService; + + @Override + public void monitorRateYear(CalculatedParam calculatedParam) { + List poList = new ArrayList<>(); + DateTime start = DateUtil.beginOfYear(DateUtil.parse(calculatedParam.getDataDate(),DatePattern.NORM_DATE_FORMAT)); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().between(RDimMonitorRateM::getStatisDate,start,DateUtil.endOfYear(DateUtil.parse(calculatedParam.getDataDate(),DatePattern.NORM_DATE_FORMAT))); + queryWrapper.select("Org_Id as orgId,avg(Bus_Monitor_Rate) as busMonitorRate,avg(Station_Monitor_Rate) as stationMonitorRate").groupBy("Org_Id"); + List rDimMonitorRateMDList = irDimMonitorRateMService.list(queryWrapper); + + if(CollUtil.isNotEmpty(rDimMonitorRateMDList)){ + for(RDimMonitorRateM rDimMonitorRateM : rDimMonitorRateMDList){ + RDimMonitorRateY rDimMonitorRateY = new RDimMonitorRateY(); + rDimMonitorRateY.setBusMonitorRate(rDimMonitorRateM.getBusMonitorRate()); + rDimMonitorRateY.setStationMonitorRate(rDimMonitorRateM.getStationMonitorRate()); + rDimMonitorRateY.setOrgId(rDimMonitorRateM.getOrgId()); + rDimMonitorRateY.setStatisDate(LocalDate.parse(DateUtil.format(start,DatePattern.NORM_DATE_PATTERN))); + poList.add(rDimMonitorRateY); + } + this.saveOrUpdateBatchByMultiId(poList,100); + } + } +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimObjRateDServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimObjRateDServiceImpl.java new file mode 100644 index 000000000..f723bfa0c --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimObjRateDServiceImpl.java @@ -0,0 +1,115 @@ +package com.njcn.prepare.harmonic.service.mysql.dim.impl; + + +import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; +import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO; +import com.njcn.device.pms.pojo.po.Monitor; +import com.njcn.harmonic.pojo.po.dim.RDimMonitorRateD; +import com.njcn.harmonic.pojo.po.dim.RDimObjRateD; +import com.njcn.prepare.harmonic.mapper.mysql.area.PmsMonitorPOMapper; +import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimObjRateDMapper; +import com.njcn.prepare.harmonic.mapper.mysql.line.ROperatingMonitorDMapper; +import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; +import com.njcn.prepare.harmonic.pojo.mysql.ROperatingMonitorDPO; +import com.njcn.prepare.harmonic.service.mysql.dim.IRDimObjRateDService; +import com.njcn.system.api.DicDataFeignClient; +import com.njcn.system.enums.DicDataEnum; +import com.njcn.system.enums.DicDataTypeEnum; +import com.njcn.system.pojo.po.DictData; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + *

+ * 服务实现类 + *

+ * + * @author cdf + * @since 2023-11-23 + */ +@Service +@RequiredArgsConstructor +public class RDimObjRateDServiceImpl extends MppServiceImpl implements IRDimObjRateDService { + + private final DicDataFeignClient dicDataFeignClient; + + private final ROperatingMonitorDMapper rOperatingMonitorDMapper; + + private final PmsMonitorPOMapper pmsMonitorPOMapper; + + + @Override + public void objMonitorRateDay(CalculatedParam calculatedParam) { + List poList = new ArrayList<>(); + LocalDate date = LocalDate.parse(calculatedParam.getDataDate()); + + List dictDataList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.MONITORING_LABELS.getCode()).getData(); + dictDataList = dictDataList.stream().filter(item -> item.getCode().equals(DicDataEnum.ONSHORE_WIND.getCode()) || item.getCode().equals(DicDataEnum.POWER_STATION.getCode()) || item.getCode().equals(DicDataEnum.POWER_STATION.getCode()) || item.getCode().equals(DicDataEnum.ONSHORE_WIND.getCode())).collect(Collectors.toList()); + + List deptList = calculatedParam.getIdList(); + for (DeptGetChildrenDTO dto : deptList) { + List monitorIds = dto.getLineIds(); + + if (CollUtil.isEmpty(monitorIds)) { + for (DictData dictData : dictDataList) { + RDimObjRateD rDimObjRateD = new RDimObjRateD(); + rDimObjRateD.setOrgId(dto.getDeptId()); + rDimObjRateD.setStatisDate(date); + rDimObjRateD.setObjType(dictData.getId()); + rDimObjRateD.setObjMonitorRate(0f); + poList.add(rDimObjRateD); + } + continue; + } + + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(ROperatingMonitorDPO::getDataDate, date) + .in(ROperatingMonitorDPO::getMeasurementPointId, monitorIds) + .eq(ROperatingMonitorDPO::getIsUnusual, 1).ge(ROperatingMonitorDPO::getIndexIntegrityRate, 0.95); + List rOperatingMonitorDPOList = rOperatingMonitorDMapper.selectList(lambdaQueryWrapper); + + if (CollUtil.isNotEmpty(rOperatingMonitorDPOList)) { + List ids = rOperatingMonitorDPOList.stream().map(ROperatingMonitorDPO::getMeasurementPointId).collect(Collectors.toList()); + + LambdaQueryWrapper monitorLambdaQueryWrapper = new LambdaQueryWrapper<>(); + monitorLambdaQueryWrapper.in(Monitor::getId, ids); + List monitorList = pmsMonitorPOMapper.selectList(monitorLambdaQueryWrapper); + Map> map = monitorList.stream().collect(Collectors.groupingBy(Monitor::getMonitorTag)); + + for (DictData dictData : dictDataList) { + RDimObjRateD rDimObjRateD = new RDimObjRateD(); + rDimObjRateD.setOrgId(dto.getDeptId()); + rDimObjRateD.setStatisDate(date); + rDimObjRateD.setObjType(dictData.getId()); + if(map.containsKey(dictData.getId())){ + List temList = map.get(dictData.getId()); + rDimObjRateD.setObjMonitorRate((float)temList.size()/100); + }else { + rDimObjRateD.setObjMonitorRate(0f); + } + poList.add(rDimObjRateD); + } + }else { + for (DictData dictData : dictDataList) { + RDimObjRateD rDimObjRateD = new RDimObjRateD(); + rDimObjRateD.setOrgId(dto.getDeptId()); + rDimObjRateD.setStatisDate(date); + rDimObjRateD.setObjType(dictData.getId()); + rDimObjRateD.setObjMonitorRate(0f); + poList.add(rDimObjRateD); + } + } + + } + this.saveOrUpdateBatchByMultiId(poList,100); + } +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimObjRateMServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimObjRateMServiceImpl.java new file mode 100644 index 000000000..2aab3070a --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimObjRateMServiceImpl.java @@ -0,0 +1,62 @@ +package com.njcn.prepare.harmonic.service.mysql.dim.impl; + + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; +import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO; +import com.njcn.harmonic.pojo.po.dim.RDimMonitorRateD; +import com.njcn.harmonic.pojo.po.dim.RDimMonitorRateM; +import com.njcn.harmonic.pojo.po.dim.RDimObjRateD; +import com.njcn.harmonic.pojo.po.dim.RDimObjRateM; +import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimObjRateMMapper; +import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; +import com.njcn.prepare.harmonic.service.mysql.dim.IRDimObjRateDService; +import com.njcn.prepare.harmonic.service.mysql.dim.IRDimObjRateMService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +/** + *

+ * 服务实现类 + *

+ * + * @author cdf + * @since 2023-11-23 + */ +@Service +@RequiredArgsConstructor +public class RDimObjRateMServiceImpl extends MppServiceImpl implements IRDimObjRateMService { + + private final IRDimObjRateDService irDimObjRateService; + + @Override + public void objMonitorRateMonth(CalculatedParam calculatedParam) { + List poList = new ArrayList<>(); + DateTime start = DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate())); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().between(RDimObjRateD::getStatisDate,start,DateUtil.endOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMAT))); + queryWrapper.select("Org_Id as orgId,Obj_type as objType,avg(Obj_Monitor_Rate) as objMonitorRate").groupBy("Org_Id","Obj_type"); + List rDimObjRateDList = irDimObjRateService.list(queryWrapper); + + if(CollUtil.isNotEmpty(rDimObjRateDList)){ + for(RDimObjRateD rDimObjRateD : rDimObjRateDList){ + RDimObjRateM rDimMonitorRateM = new RDimObjRateM(); + rDimMonitorRateM.setObjType(rDimObjRateD.getObjType()); + rDimMonitorRateM.setObjMonitorRate(rDimObjRateD.getObjMonitorRate()); + rDimMonitorRateM.setOrgId(rDimObjRateD.getOrgId()); + rDimMonitorRateM.setStatisDate(LocalDate.parse(DateUtil.format(start,DatePattern.NORM_DATE_PATTERN))); + poList.add(rDimMonitorRateM); + } + this.saveOrUpdateBatchByMultiId(poList,100); + } + } +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimObjRateYServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimObjRateYServiceImpl.java new file mode 100644 index 000000000..2de897405 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimObjRateYServiceImpl.java @@ -0,0 +1,62 @@ +package com.njcn.prepare.harmonic.service.mysql.dim.impl; + + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; +import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO; +import com.njcn.harmonic.pojo.po.dim.RDimObjRateD; +import com.njcn.harmonic.pojo.po.dim.RDimObjRateM; +import com.njcn.harmonic.pojo.po.dim.RDimObjRateY; +import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimObjRateYMapper; +import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; +import com.njcn.prepare.harmonic.service.mysql.dim.IRDimObjRateDService; +import com.njcn.prepare.harmonic.service.mysql.dim.IRDimObjRateMService; +import com.njcn.prepare.harmonic.service.mysql.dim.IRDimObjRateYService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +/** + *

+ * 服务实现类 + *

+ * + * @author cdf + * @since 2023-11-23 + */ +@Service +@RequiredArgsConstructor +public class RDimObjRateYServiceImpl extends MppServiceImpl implements IRDimObjRateYService { + + private final IRDimObjRateMService irDimObjRateMService; + + @Override + public void objMonitorRateYear(CalculatedParam calculatedParam) { + List poList = new ArrayList<>(); + DateTime start = DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate())); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().between(RDimObjRateM::getStatisDate,start,DateUtil.endOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMAT))); + queryWrapper.select("Org_Id as orgId,Obj_type as objType,avg(Obj_Monitor_Rate) as objMonitorRate").groupBy("Org_Id","Obj_type"); + List rDimObjRateDList = irDimObjRateMService.list(queryWrapper); + + if(CollUtil.isNotEmpty(rDimObjRateDList)){ + for(RDimObjRateM rDimObjRateM : rDimObjRateDList){ + RDimObjRateY rDimObjRateY = new RDimObjRateY(); + rDimObjRateY.setObjMonitorRate(rDimObjRateM.getObjMonitorRate()); + rDimObjRateY.setObjType(rDimObjRateM.getObjType()); + rDimObjRateY.setOrgId(rDimObjRateM.getOrgId()); + rDimObjRateY.setStatisDate(LocalDate.parse(DateUtil.format(start,DatePattern.NORM_DATE_PATTERN))); + poList.add(rDimObjRateY); + } + this.saveOrUpdateBatchByMultiId(poList,100); + } + } +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimStationBaseDServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimStationBaseDServiceImpl.java index dcf11bdd3..7f01c73ff 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimStationBaseDServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimStationBaseDServiceImpl.java @@ -55,6 +55,8 @@ public class RDimStationBaseDServiceImpl extends ServiceImpl calculatedParam) { List poList = new ArrayList<>(); @@ -62,7 +64,7 @@ public class RDimStationBaseDServiceImpl extends ServiceImpl