diff --git a/pqs-common/common-core/src/main/java/com/njcn/common/pojo/constant/PatternRegex.java b/pqs-common/common-core/src/main/java/com/njcn/common/pojo/constant/PatternRegex.java index 28bee6f12..bf9afa3b3 100644 --- a/pqs-common/common-core/src/main/java/com/njcn/common/pojo/constant/PatternRegex.java +++ b/pqs-common/common-core/src/main/java/com/njcn/common/pojo/constant/PatternRegex.java @@ -41,7 +41,7 @@ public interface PatternRegex { /** * 登录名只能输入3-16位的英文字母或数字 */ - String LOGIN_NAME_REGEX = "[a-zA-Z0-9]{3,16}"; + String LOGIN_NAME_REGEX = "[a-zA-Z0-9_]{3,16}"; /** * 手机号必须有11位,并且为数字,是正常的手机·号码开头 diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimVoltageD.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimVoltageD.java new file mode 100644 index 000000000..e736b5ec6 --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimVoltageD.java @@ -0,0 +1,269 @@ +package com.njcn.harmonic.pojo.po.dim; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; +import lombok.Data; + +import java.time.LocalDate; + +/** + *

+ * 母线不同电压等级指标数据-日表 + *

+ * + * @author xuyang + * @since 2023-11-27 + */ +@Data +@TableName("r_dim_voltage_d") +public class RDimVoltageD { + + private static final long serialVersionUID = 1L; + + /** + * 统计时间yyyy-mm-dd + */ + @MppMultiId + private LocalDate statisDate; + + /** + * 单位id + */ + @MppMultiId + private String orgId; + + /** + * 电压等级 + */ + @MppMultiId + private String voltageType; + + /** + * 电压(日平均值) + */ + private Double v; + + /** + * 三相电压不平衡(日95%概率大值) + */ + private Double vUnbalance; + + /** + * 长时间闪变(日最大值) + */ + private Double pst; + + /** + * 电压总谐波畸变率(日95%概率大值) + */ + private Double vThd; + + @TableField(value = "v_1") + private Double v1; + + @TableField(value = "v_2") + private Double v2; + + @TableField(value = "v_3") + private Double v3; + + @TableField(value = "v_4") + private Double v4; + + @TableField(value = "v_5") + private Double v5; + + @TableField(value = "v_6") + private Double v6; + + @TableField(value = "v_7") + private Double v7; + + @TableField(value = "v_8") + private Double v8; + + @TableField(value = "v_9") + private Double v9; + + @TableField(value = "v_10") + private Double v10; + + @TableField(value = "v_11") + private Double v11; + + @TableField(value = "v_12") + private Double v12; + + @TableField(value = "v_13") + private Double v13; + + @TableField(value = "v_14") + private Double v14; + + @TableField(value = "v_15") + private Double v15; + + @TableField(value = "v_16") + private Double v16; + + @TableField(value = "v_17") + private Double v17; + + @TableField(value = "v_18") + private Double v18; + + @TableField(value = "v_19") + private Double v19; + + @TableField(value = "v_20") + private Double v20; + + @TableField(value = "v_21") + private Double v21; + + @TableField(value = "v_22") + private Double v22; + + @TableField(value = "v_23") + private Double v23; + + @TableField(value = "v_24") + private Double v24; + + @TableField(value = "v_25") + private Double v25; + + @TableField(value = "v_26") + private Double v26; + + @TableField(value = "v_27") + private Double v27; + + @TableField(value = "v_28") + private Double v28; + + @TableField(value = "v_29") + private Double v29; + + @TableField(value = "v_30") + private Double v30; + + @TableField(value = "v_31") + private Double v31; + + @TableField(value = "v_32") + private Double v32; + + @TableField(value = "v_33") + private Double v33; + + @TableField(value = "v_34") + private Double v34; + + @TableField(value = "v_35") + private Double v35; + + @TableField(value = "v_36") + private Double v36; + + @TableField(value = "v_37") + private Double v37; + + @TableField(value = "v_38") + private Double v38; + + @TableField(value = "v_39") + private Double v39; + + @TableField(value = "v_40") + private Double v40; + + @TableField(value = "v_41") + private Double v41; + + @TableField(value = "v_42") + private Double v42; + + @TableField(value = "v_43") + private Double v43; + + @TableField(value = "v_44") + private Double v44; + + @TableField(value = "v_45") + private Double v45; + + @TableField(value = "v_46") + private Double v46; + + @TableField(value = "v_47") + private Double v47; + + @TableField(value = "v_48") + private Double v48; + + @TableField(value = "v_49") + private Double v49; + + @TableField(value = "v_50") + private Double v50; + + public RDimVoltageD() { + this.v = 3.1415926; + this.vUnbalance = 3.1415926; + this.pst = 3.1415926; + this.vThd = 3.1415926; + this.v1 = 3.1415926; + this.v2 = 3.1415926; + this.v3 = 3.1415926; + this.v4 = 3.1415926; + this.v5 = 3.1415926; + this.v6 = 3.1415926; + this.v7 = 3.1415926; + this.v8 = 3.1415926; + this.v9 = 3.1415926; + this.v10 = 3.1415926; + this.v11 = 3.1415926; + this.v12 = 3.1415926; + this.v13 = 3.1415926; + this.v14 = 3.1415926; + this.v15 = 3.1415926; + this.v16 = 3.1415926; + this.v17 = 3.1415926; + this.v18 = 3.1415926; + this.v19 = 3.1415926; + this.v20 = 3.1415926; + this.v21 = 3.1415926; + this.v22 = 3.1415926; + this.v23 = 3.1415926; + this.v24 = 3.1415926; + this.v25 = 3.1415926; + this.v26 = 3.1415926; + this.v27 = 3.1415926; + this.v28 = 3.1415926; + this.v29 = 3.1415926; + this.v30 = 3.1415926; + this.v31 = 3.1415926; + this.v32 = 3.1415926; + this.v33 = 3.1415926; + this.v34 = 3.1415926; + this.v35 = 3.1415926; + this.v36 = 3.1415926; + this.v37 = 3.1415926; + this.v38 = 3.1415926; + this.v39 = 3.1415926; + this.v40 = 3.1415926; + this.v41 = 3.1415926; + this.v42 = 3.1415926; + this.v43 = 3.1415926; + this.v44 = 3.1415926; + this.v45 = 3.1415926; + this.v46 = 3.1415926; + this.v47 = 3.1415926; + this.v48 = 3.1415926; + this.v49 = 3.1415926; + this.v50 = 3.1415926; + } + +} diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimVoltageM.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimVoltageM.java new file mode 100644 index 000000000..3b6f4ba2c --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimVoltageM.java @@ -0,0 +1,318 @@ +package com.njcn.harmonic.pojo.po.dim; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.njcn.db.bo.BaseEntity; +import java.io.Serializable; +import java.math.Double; +import java.time.LocalDate; + +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 区域母线**电压等级**指标标准差、平均值-月表 + *

+ * + * @author xuyang + * @since 2023-11-29 + */ +@Data +@TableName("r_dim_voltage_m") +public class RDimVoltageM extends BaseEntity { + + private static final long serialVersionUID = 1L; + + /** + * 统计时间yyyy-mm-dd + */ + private LocalDate statisDate; + + /** + * 单位id + */ + private String orgId; + + /** + * 电压等级 + */ + private String voltageType; + + /** + * 数据类型(avg:平均值 sd:标准差) + */ + private String dataType; + + /** + * 电压(日平均值) + */ + private Double v; + + /** + * 三相电压不平衡(日95%概率大值) + */ + private Double vUnbalance; + + /** + * 长时间闪变(日最大值) + */ + private Double pst; + + /** + * 电压总谐波畸变率(日95%概率大值) + */ + private Double vThd; + + /** + * 基波电压(日95%概率大值) + */ + private Double v1; + + /** + * 2次谐波电压(日95%概率大值) + */ + private Double v2; + + /** + * 3次谐波电压(日95%概率大值) + */ + private Double v3; + + /** + * 4次谐波电压(日95%概率大值) + */ + private Double v4; + + /** + * 5次谐波电压(日95%概率大值) + */ + private Double v5; + + /** + * 6次谐波电压(日95%概率大值) + */ + private Double v6; + + /** + * 7次谐波电压(日95%概率大值) + */ + private Double v7; + + /** + * 8次谐波电压(日95%概率大值) + */ + private Double v8; + + /** + * 9次谐波电压(日95%概率大值) + */ + private Double v9; + + /** + * 10次谐波电压(日95%概率大值) + */ + private Double v10; + + /** + * 11次谐波电压(日95%概率大值) + */ + private Double v11; + + /** + * 12次谐波电压(日95%概率大值) + */ + private Double v12; + + /** + * 13次谐波电压(日95%概率大值) + */ + private Double v13; + + /** + * 14次谐波电压(日95%概率大值) + */ + private Double v14; + + /** + * 15次谐波电压(日95%概率大值) + */ + private Double v15; + + /** + * 16次谐波电压(日95%概率大值) + */ + private Double v16; + + /** + * 17次谐波电压(日95%概率大值) + */ + private Double v17; + + /** + * 18次谐波电压(日95%概率大值) + */ + private Double v18; + + /** + * 19次谐波电压(日95%概率大值) + */ + private Double v19; + + /** + * 20次谐波电压(日95%概率大值) + */ + private Double v20; + + /** + * 21次谐波电压(日95%概率大值) + */ + private Double v21; + + /** + * 22次谐波电压(日95%概率大值) + */ + private Double v22; + + /** + * 23次谐波电压(日95%概率大值) + */ + private Double v23; + + /** + * 24次谐波电压(日95%概率大值) + */ + private Double v24; + + /** + * 25次谐波电压(日95%概率大值) + */ + private Double v25; + + /** + * 26次谐波电压(日95%概率大值) + */ + private Double v26; + + /** + * 27次谐波电压(日95%概率大值) + */ + private Double v27; + + /** + * 28次谐波电压(日95%概率大值) + */ + private Double v28; + + /** + * 29次谐波电压(日95%概率大值) + */ + private Double v29; + + /** + * 30次谐波电压(日95%概率大值) + */ + private Double v30; + + /** + * 31次谐波电压(日95%概率大值) + */ + private Double v31; + + /** + * 32次谐波电压(日95%概率大值) + */ + private Double v32; + + /** + * 33次谐波电压(日95%概率大值) + */ + private Double v33; + + /** + * 34次谐波电压(日95%概率大值) + */ + private Double v34; + + /** + * 35次谐波电压(日95%概率大值) + */ + private Double v35; + + /** + * 36次谐波电压(日95%概率大值) + */ + private Double v36; + + /** + * 37次谐波电压(日95%概率大值) + */ + private Double v37; + + /** + * 38次谐波电压(日95%概率大值) + */ + private Double v38; + + /** + * 39次谐波电压(日95%概率大值) + */ + private Double v39; + + /** + * 40次谐波电压(日95%概率大值) + */ + private Double v40; + + /** + * 41次谐波电压(日95%概率大值) + */ + private Double v41; + + /** + * 42次谐波电压(日95%概率大值) + */ + private Double v42; + + /** + * 43次谐波电压(日95%概率大值) + */ + private Double v43; + + /** + * 44次谐波电压(日95%概率大值) + */ + private Double v44; + + /** + * 45次谐波电压(日95%概率大值) + */ + private Double v45; + + /** + * 46次谐波电压(日95%概率大值) + */ + private Double v46; + + /** + * 47次谐波电压(日95%概率大值) + */ + private Double v47; + + /** + * 48次谐波电压(日95%概率大值) + */ + private Double v48; + + /** + * 49次谐波电压(日95%概率大值) + */ + private Double v49; + + /** + * 50次谐波电压(日95%概率大值) + */ + private Double v50; + + +} diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RBusbarVoltageD.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimVoltageY.java similarity index 94% rename from pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RBusbarVoltageD.java rename to pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimVoltageY.java index fb31b7f03..deeab5245 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RBusbarVoltageD.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/dim/RDimVoltageY.java @@ -12,15 +12,15 @@ import lombok.Setter; /** *

- * 母线不同电压等级指标数据-日表 + * 区域母线**电压等级**指标标准差、平均值-年表 *

* * @author xuyang - * @since 2023-11-27 + * @since 2023-11-29 */ @Data -@TableName("r_busbar_voltage_d") -public class RBusbarVoltageD { +@TableName("r_dim_voltage_y") +public class RDimVoltageY extends BaseEntity { private static final long serialVersionUID = 1L; @@ -30,15 +30,20 @@ public class RBusbarVoltageD { private LocalDate statisDate; /** - * 母线id + * 单位id */ - private String busbarId; + private String orgId; /** * 电压等级 */ private String voltageType; + /** + * 数据类型(avg:平均值 sd:标准差) + */ + private String dataType; + /** * 电压(日平均值) */ diff --git a/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/dto/LineDataDto.java b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/dto/LineDataDto.java new file mode 100644 index 000000000..3a10d1bca --- /dev/null +++ b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/dto/LineDataDto.java @@ -0,0 +1,129 @@ +package com.njcn.prepare.harmonic.pojo.dto; + +import lombok.Data; + +import java.time.LocalDate; + +/** + * 类的介绍: + * + * @author xuyang + * @version 1.0.0 + * @createTime 2023/11/29 9:36 + */ +@Data +public class LineDataDto { + + private LocalDate time; + + private String lineId; + + private Double rms; + + private Double vUnbalance; + + private Double pst; + + private Double vThd; + + private Double v1; + + private Double v2; + + private Double v3; + + private Double v4; + + private Double v5; + + private Double v6; + + private Double v7; + + private Double v8; + + private Double v9; + + private Double v10; + + private Double v11; + + private Double v12; + + private Double v13; + + private Double v14; + + private Double v15; + + private Double v16; + + private Double v17; + + private Double v18; + + private Double v19; + + private Double v20; + + private Double v21; + + private Double v22; + + private Double v23; + + private Double v24; + + private Double v25; + + private Double v26; + + private Double v27; + + private Double v28; + + private Double v29; + + private Double v30; + + private Double v31; + + private Double v32; + + private Double v33; + + private Double v34; + + private Double v35; + + private Double v36; + + private Double v37; + + private Double v38; + + private Double v39; + + private Double v40; + + private Double v41; + + private Double v42; + + private Double v43; + + private Double v44; + + private Double v45; + + private Double v46; + + private Double v47; + + private Double v48; + + private Double v49; + + private Double v50; + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/ExecutionCenter.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/ExecutionCenter.java index 54132e815..8b9e9ed13 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/ExecutionCenter.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/ExecutionCenter.java @@ -284,7 +284,7 @@ public class ExecutionCenter extends BaseController { public void generaTrixExecutor(@RequestBody BaseParam baseParam) { String methodDescribe = getMethodDescribe("generaTrixExecutor"); //手动判断参数是否合法, - CalculatedParam calculatedParam = judgeExecuteParam(baseParam); + CalculatedParam calculatedParam = judgeExecuteParam(baseParam); //母线索引 if (CollectionUtils.isEmpty(calculatedParam.getIdList())) { Dept dept = deptFeignClient.getRootDept().getData(); @@ -292,10 +292,7 @@ public class ExecutionCenter extends BaseController { deptGetLineParam.setDeptId(dept.getId()); deptGetLineParam.setSystemType(0); List busBarList = commTerminalGeneralClient.deptBusBar(deptGetLineParam).getData(); - DeptGetBusBarDTO dto = busBarList.stream().filter(u -> Objects.equals(u.getUnitId(),dept.getCode())).findAny().orElse(null); - if (Objects.nonNull(dto)){ - calculatedParam.setIdList(dto.getBusBarIds()); - } + calculatedParam.setIdList(busBarList); } LiteflowResponse liteflowResponse; if (baseParam.isRepair()) { diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/executor/GeneraTrixExecutor.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/executor/BusBarExecutor.java similarity index 63% rename from pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/executor/GeneraTrixExecutor.java rename to pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/executor/BusBarExecutor.java index 8dd098bcc..f4eaef982 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/executor/GeneraTrixExecutor.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/executor/BusBarExecutor.java @@ -1,7 +1,10 @@ package com.njcn.prepare.executor; +import com.njcn.device.biz.pojo.dto.DeptGetBusBarDTO; import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; -import com.njcn.prepare.harmonic.service.mysql.dim.IRBusbarVoltageDService; +import com.njcn.prepare.harmonic.service.mysql.dim.IRDimVoltageDService; +import com.njcn.prepare.harmonic.service.mysql.dim.IRDimVoltageMService; +import com.njcn.prepare.harmonic.service.mysql.dim.IRDimVoltageYService; import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.annotation.LiteflowMethod; import com.yomahub.liteflow.core.NodeComponent; @@ -10,17 +13,17 @@ import com.yomahub.liteflow.enums.NodeTypeEnum; import lombok.RequiredArgsConstructor; /** - * 类的介绍: + * pqs * * @author xuyang - * @version 1.0.0 - * @createTime 2023/11/27 10:28 + * @date 2023/11/27 */ @LiteflowComponent @RequiredArgsConstructor -public class GeneraTrixExecutor extends BaseExecutor{ - - private final IRBusbarVoltageDService irBusbarVoltageDService; +public class BusBarExecutor extends BaseExecutor{ + private final IRDimVoltageDService irDimVoltageDService; + private final IRDimVoltageMService irDimVoltageMService; + private final IRDimVoltageYService irDimVoltageYService; @LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "rBusbarVoltage", nodeType = NodeTypeEnum.COMMON) public boolean rBusbarVoltageAccess(NodeComponent bindCmp) { @@ -29,24 +32,23 @@ public class GeneraTrixExecutor extends BaseExecutor{ @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "rBusbarVoltage", nodeType = NodeTypeEnum.COMMON) public void rBusbarVoltageProcess(NodeComponent bindCmp) { String tag = bindCmp.getTag(); - CalculatedParam calculatedParam = bindCmp.getRequestData(); + CalculatedParam calculatedParam = bindCmp.getRequestData(); if (tag.equalsIgnoreCase("r_busbar_voltage_d")) { //日表 - irBusbarVoltageDService.busbarVoltageD(calculatedParam); + irDimVoltageDService.busbarVoltageD(calculatedParam); } else if (tag.equalsIgnoreCase("r_busbar_voltage_m")) { //数据补招不执行非日表算法 if (!calculatedParam.isRepair()) { //月表 - + irDimVoltageMService.busbarVoltageM(calculatedParam); } }else if (tag.equalsIgnoreCase("r_busbar_voltage_y")) { //数据补招不执行非日表算法 if (!calculatedParam.isRepair()) { //年表 - + irDimVoltageYService.busbarVoltageY(calculatedParam); } } } - } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RBusbarVoltageDMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RBusbarVoltageDMapper.java deleted file mode 100644 index e54c5f399..000000000 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RBusbarVoltageDMapper.java +++ /dev/null @@ -1,17 +0,0 @@ -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.RBusbarVoltageD; - -/** - *

- * 母线不同电压等级指标数据-日表 Mapper 接口 - *

- * - * @author xuyang - * @since 2023-11-27 - */ -public interface RBusbarVoltageDMapper extends MppBaseMapper { - -} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimVoltageDMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimVoltageDMapper.java new file mode 100644 index 000000000..2e567b5d0 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimVoltageDMapper.java @@ -0,0 +1,23 @@ +package com.njcn.prepare.harmonic.mapper.mysql.dim; + +import com.github.jeffreyning.mybatisplus.base.MppBaseMapper; +import com.njcn.harmonic.pojo.po.dim.RDimVoltageD; +import com.njcn.prepare.harmonic.pojo.dto.LineDataDto; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Set; + +/** + *

+ * 母线不同电压等级指标数据-日表 Mapper 接口 + *

+ * + * @author xuyang + * @since 2023-11-27 + */ +public interface RDimVoltageDMapper extends MppBaseMapper { + + List getLineData(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("collection") Set list); + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimVoltageMMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimVoltageMMapper.java new file mode 100644 index 000000000..49cb6b363 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimVoltageMMapper.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.RDimVoltageM; + +/** + *

+ * 区域母线**电压等级**指标标准差、平均值-月表 Mapper 接口 + *

+ * + * @author xuyang + * @since 2023-11-29 + */ +public interface RDimVoltageMMapper extends MppBaseMapper { + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimVoltageYMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimVoltageYMapper.java new file mode 100644 index 000000000..1bcc355f6 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/RDimVoltageYMapper.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.RDimVoltageY; + +/** + *

+ * 区域母线**电压等级**指标标准差、平均值-年表 Mapper 接口 + *

+ * + * @author xuyang + * @since 2023-11-29 + */ +public interface RDimVoltageYMapper extends MppBaseMapper { + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/mapping/RDimVoltageDMapper.xml b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/mapping/RDimVoltageDMapper.xml new file mode 100644 index 000000000..9e04f0c9c --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/dim/mapping/RDimVoltageDMapper.xml @@ -0,0 +1,132 @@ + + + + + + diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRBusbarVoltageDService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimVoltageDService.java similarity index 59% rename from pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRBusbarVoltageDService.java rename to pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimVoltageDService.java index 05f97bd6b..187f08be8 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRBusbarVoltageDService.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimVoltageDService.java @@ -1,7 +1,8 @@ package com.njcn.prepare.harmonic.service.mysql.dim; import com.baomidou.mybatisplus.extension.service.IService; -import com.njcn.harmonic.pojo.po.dim.RBusbarVoltageD; +import com.njcn.device.biz.pojo.dto.DeptGetBusBarDTO; +import com.njcn.harmonic.pojo.po.dim.RDimVoltageD; import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; /** @@ -12,11 +13,11 @@ import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; * @author xuyang * @since 2023-11-27 */ -public interface IRBusbarVoltageDService extends IService { +public interface IRDimVoltageDService extends IService { /** * 插入母线不同电压等级指标数据-日表 */ - void busbarVoltageD(CalculatedParam calculatedParam); + void busbarVoltageD(CalculatedParam calculatedParam); } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimVoltageMService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimVoltageMService.java new file mode 100644 index 000000000..0bde4f1da --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimVoltageMService.java @@ -0,0 +1,23 @@ +package com.njcn.prepare.harmonic.service.mysql.dim; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.device.biz.pojo.dto.DeptGetBusBarDTO; +import com.njcn.harmonic.pojo.po.dim.RDimVoltageM; +import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; + +/** + *

+ * 区域母线**电压等级**指标标准差、平均值-月表 服务类 + *

+ * + * @author xuyang + * @since 2023-11-29 + */ +public interface IRDimVoltageMService extends IService { + + /** + * 插入母线不同电压等级指标数据-月表 + */ + void busbarVoltageM(CalculatedParam calculatedParam); + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimVoltageYService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimVoltageYService.java new file mode 100644 index 000000000..c9967fc4e --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/IRDimVoltageYService.java @@ -0,0 +1,23 @@ +package com.njcn.prepare.harmonic.service.mysql.dim; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.device.biz.pojo.dto.DeptGetBusBarDTO; +import com.njcn.harmonic.pojo.po.dim.RDimVoltageY; +import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; + +/** + *

+ * 区域母线**电压等级**指标标准差、平均值-年表 服务类 + *

+ * + * @author xuyang + * @since 2023-11-29 + */ +public interface IRDimVoltageYService extends IService { + + /** + * 插入母线不同电压等级指标数据-年表 + */ + void busbarVoltageY(CalculatedParam calculatedParam); + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RBusbarVoltageDServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RBusbarVoltageDServiceImpl.java deleted file mode 100644 index f88255313..000000000 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RBusbarVoltageDServiceImpl.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.njcn.prepare.harmonic.service.mysql.dim.impl; - -import cn.hutool.core.date.DatePattern; -import cn.hutool.core.date.LocalDateTimeUtil; -import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; -import com.njcn.harmonic.pojo.po.dim.RBusbarVoltageD; -import com.njcn.prepare.harmonic.mapper.mysql.dim.RBusbarVoltageDMapper; -import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; -import com.njcn.prepare.harmonic.service.mysql.dim.IRBusbarVoltageDService; -import org.apache.commons.collections4.ListUtils; -import org.springframework.stereotype.Service; - -import java.time.LocalDateTime; -import java.util.List; - -/** - *

- * 母线不同电压等级指标数据-日表 服务实现类 - *

- * - * @author xuyang - * @since 2023-11-27 - */ -@Service -public class RBusbarVoltageDServiceImpl extends MppServiceImpl implements IRBusbarVoltageDService { - - @Override - public void busbarVoltageD(CalculatedParam calculatedParam) { - List busbarList = calculatedParam.getIdList(); - System.out.println("母线集合:" + busbarList); - System.out.println("个数:" + busbarList.size()); - //以尺寸1000分片 - List> pendingIds = ListUtils.partition(busbarList,1000); - LocalDateTime beginDay = LocalDateTimeUtil.beginOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)); - LocalDateTime endDay = LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)); - - } -} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimVoltageDServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimVoltageDServiceImpl.java new file mode 100644 index 000000000..53a868e1d --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimVoltageDServiceImpl.java @@ -0,0 +1,193 @@ +package com.njcn.prepare.harmonic.service.mysql.dim.impl; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.LocalDateTimeUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; +import com.njcn.device.biz.pojo.dto.DeptGetBusBarDTO; +import com.njcn.device.pms.pojo.po.GeneratrixWire; +import com.njcn.device.pms.pojo.po.Monitor; +import com.njcn.harmonic.pojo.po.dim.RDimVoltageD; +import com.njcn.prepare.harmonic.mapper.mysql.area.PmsMonitorPOMapper; +import com.njcn.prepare.harmonic.mapper.mysql.dim.GeneratrixWireMapper; +import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimVoltageDMapper; +import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; +import com.njcn.prepare.harmonic.pojo.dto.LineDataDto; +import com.njcn.prepare.harmonic.service.mysql.dim.IRDimVoltageDService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.time.LocalDate; +import java.util.*; +import java.util.stream.Collectors; + +/** + *

+ * 母线不同电压等级指标数据-日表 服务实现类 + *

+ * + * @author xuyang + * @since 2023-11-27 + */ +@Service +@RequiredArgsConstructor +@Slf4j +public class RDimVoltageDServiceImpl extends MppServiceImpl implements IRDimVoltageDService { + + private final PmsMonitorPOMapper pmsMonitorPOMapper; + + private final GeneratrixWireMapper generatrixWireMapper; + + @Override + public void busbarVoltageD(CalculatedParam calculatedParam) { + List result = new ArrayList<>(); + List deptList = calculatedParam.getIdList(); + String beginDay = LocalDateTimeUtil.format(LocalDateTimeUtil.beginOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN); + String endDay = LocalDateTimeUtil.format(LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN); + Set lineList = new HashSet<>(); + Set busBarList = new HashSet<>(); + //获取监测点集合 + deptList.forEach(item->{ + lineList.addAll(item.getBusBarAndMonitorIDs()); + busBarList.addAll(item.getBusBarIds()); + }); + if (CollectionUtil.isNotEmpty(lineList)){ + //获取监测点信息 + List list1 = getMonitorInfo(lineList); + //获取监测点数据 + List list2 = getLineData(beginDay,endDay,lineList); + //获取母线信息 + List list3 = getBusBarInfo(busBarList); + //循环区域信息,筛选符合条件的数据,做统计 + deptList.forEach(item->{ + List list = item.getBusBarIds(); + if (CollUtil.isNotEmpty(list)) { + RDimVoltageD rDimVoltageD = new RDimVoltageD(); + rDimVoltageD.setOrgId(item.getUnitId()); + rDimVoltageD.setStatisDate(LocalDate.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMATTER)); + //取母线并集 + List list4 = list3.stream().filter(obj -> list.contains(obj.getId())).collect(Collectors.toList()); + //根据母线电压等级分组 + Map> map1 = list4.stream().collect(Collectors.groupingBy(GeneratrixWire::getScale)); + //循环分组数据,获取母线下监测点数据 + map1.forEach((k, v) -> { + rDimVoltageD.setVoltageType(k); + //不同电压等级下,母线的id + List list5 = v.stream().map(GeneratrixWire::getId).collect(Collectors.toList()); + //获取这些母线下的监测点 + List list6 = list1.stream().filter(obj -> list5.contains(obj.getLineId())).collect(Collectors.toList()); + //获取监测点数据 + List list7 = list2.stream().filter(vo->list6.stream().map(Monitor::getId).collect(Collectors.toList()).contains(vo.getLineId())).collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(list7)){ + //赋值 + assignment(list7,rDimVoltageD); + } + }); + result.add(rDimVoltageD); + } + }); + } + if (CollectionUtil.isNotEmpty(result)){ + this.saveOrUpdateBatchByMultiId(result); + } + } + + /** + * 获取监测点信息 + * @param lineList 监测点集合 + * @return 监测点信息 + */ + public List getMonitorInfo(Set lineList) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.in(Monitor::getId,lineList).eq(Monitor::getStatus,1); + return pmsMonitorPOMapper.selectList(lambdaQueryWrapper); + } + + /** + * 获取母线信息 + * @param busBarList 监测点集合 + * @return 母线信息 + */ + public List getBusBarInfo(Set busBarList){ + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.in(GeneratrixWire::getId,busBarList).eq(GeneratrixWire::getStatus, 1); + return generatrixWireMapper.selectList(lambdaQueryWrapper); + } + + /** + * 获取监测点数据 + * @param startTime 开始时间 + * @param endTime 结束时间 + * @param lineList 监测点集合 + * @return 母线信息 + */ + public List getLineData(String startTime, String endTime, Set lineList){ + return this.baseMapper.getLineData(startTime,endTime,lineList); + } + + /** + * 给实体赋值 + * @param list7 数据集合 + * @param rDimVoltageD 对象 + */ + public void assignment(List list7, RDimVoltageD rDimVoltageD) { + rDimVoltageD.setV(list7.stream().mapToDouble(LineDataDto::getRms).average().orElse(0d)); + rDimVoltageD.setVUnbalance(list7.stream().mapToDouble(LineDataDto::getVUnbalance).average().orElse(0d)); + rDimVoltageD.setPst(list7.stream().mapToDouble(LineDataDto::getPst).average().orElse(0d)); + rDimVoltageD.setVThd(list7.stream().mapToDouble(LineDataDto::getVThd).average().orElse(0d)); + rDimVoltageD.setV1(list7.stream().mapToDouble(LineDataDto::getV1).average().orElse(0d)); + rDimVoltageD.setV2(list7.stream().mapToDouble(LineDataDto::getV2).average().orElse(0d)); + rDimVoltageD.setV3(list7.stream().mapToDouble(LineDataDto::getV3).average().orElse(0d)); + rDimVoltageD.setV4(list7.stream().mapToDouble(LineDataDto::getV4).average().orElse(0d)); + rDimVoltageD.setV5(list7.stream().mapToDouble(LineDataDto::getV5).average().orElse(0d)); + rDimVoltageD.setV6(list7.stream().mapToDouble(LineDataDto::getV6).average().orElse(0d)); + rDimVoltageD.setV7(list7.stream().mapToDouble(LineDataDto::getV7).average().orElse(0d)); + rDimVoltageD.setV8(list7.stream().mapToDouble(LineDataDto::getV8).average().orElse(0d)); + rDimVoltageD.setV9(list7.stream().mapToDouble(LineDataDto::getV9).average().orElse(0d)); + rDimVoltageD.setV10(list7.stream().mapToDouble(LineDataDto::getV10).average().orElse(0d)); + rDimVoltageD.setV11(list7.stream().mapToDouble(LineDataDto::getV11).average().orElse(0d)); + rDimVoltageD.setV12(list7.stream().mapToDouble(LineDataDto::getV12).average().orElse(0d)); + rDimVoltageD.setV13(list7.stream().mapToDouble(LineDataDto::getV13).average().orElse(0d)); + rDimVoltageD.setV14(list7.stream().mapToDouble(LineDataDto::getV14).average().orElse(0d)); + rDimVoltageD.setV15(list7.stream().mapToDouble(LineDataDto::getV15).average().orElse(0d)); + rDimVoltageD.setV16(list7.stream().mapToDouble(LineDataDto::getV16).average().orElse(0d)); + rDimVoltageD.setV17(list7.stream().mapToDouble(LineDataDto::getV17).average().orElse(0d)); + rDimVoltageD.setV18(list7.stream().mapToDouble(LineDataDto::getV18).average().orElse(0d)); + rDimVoltageD.setV19(list7.stream().mapToDouble(LineDataDto::getV19).average().orElse(0d)); + rDimVoltageD.setV20(list7.stream().mapToDouble(LineDataDto::getV20).average().orElse(0d)); + rDimVoltageD.setV21(list7.stream().mapToDouble(LineDataDto::getV21).average().orElse(0d)); + rDimVoltageD.setV22(list7.stream().mapToDouble(LineDataDto::getV22).average().orElse(0d)); + rDimVoltageD.setV23(list7.stream().mapToDouble(LineDataDto::getV23).average().orElse(0d)); + rDimVoltageD.setV24(list7.stream().mapToDouble(LineDataDto::getV24).average().orElse(0d)); + rDimVoltageD.setV25(list7.stream().mapToDouble(LineDataDto::getV25).average().orElse(0d)); + rDimVoltageD.setV26(list7.stream().mapToDouble(LineDataDto::getV26).average().orElse(0d)); + rDimVoltageD.setV27(list7.stream().mapToDouble(LineDataDto::getV27).average().orElse(0d)); + rDimVoltageD.setV28(list7.stream().mapToDouble(LineDataDto::getV28).average().orElse(0d)); + rDimVoltageD.setV29(list7.stream().mapToDouble(LineDataDto::getV29).average().orElse(0d)); + rDimVoltageD.setV30(list7.stream().mapToDouble(LineDataDto::getV30).average().orElse(0d)); + rDimVoltageD.setV31(list7.stream().mapToDouble(LineDataDto::getV31).average().orElse(0d)); + rDimVoltageD.setV32(list7.stream().mapToDouble(LineDataDto::getV32).average().orElse(0d)); + rDimVoltageD.setV33(list7.stream().mapToDouble(LineDataDto::getV33).average().orElse(0d)); + rDimVoltageD.setV34(list7.stream().mapToDouble(LineDataDto::getV34).average().orElse(0d)); + rDimVoltageD.setV35(list7.stream().mapToDouble(LineDataDto::getV35).average().orElse(0d)); + rDimVoltageD.setV36(list7.stream().mapToDouble(LineDataDto::getV36).average().orElse(0d)); + rDimVoltageD.setV37(list7.stream().mapToDouble(LineDataDto::getV37).average().orElse(0d)); + rDimVoltageD.setV38(list7.stream().mapToDouble(LineDataDto::getV38).average().orElse(0d)); + rDimVoltageD.setV39(list7.stream().mapToDouble(LineDataDto::getV39).average().orElse(0d)); + rDimVoltageD.setV40(list7.stream().mapToDouble(LineDataDto::getV40).average().orElse(0d)); + rDimVoltageD.setV41(list7.stream().mapToDouble(LineDataDto::getV41).average().orElse(0d)); + rDimVoltageD.setV42(list7.stream().mapToDouble(LineDataDto::getV42).average().orElse(0d)); + rDimVoltageD.setV43(list7.stream().mapToDouble(LineDataDto::getV43).average().orElse(0d)); + rDimVoltageD.setV44(list7.stream().mapToDouble(LineDataDto::getV44).average().orElse(0d)); + rDimVoltageD.setV45(list7.stream().mapToDouble(LineDataDto::getV45).average().orElse(0d)); + rDimVoltageD.setV46(list7.stream().mapToDouble(LineDataDto::getV46).average().orElse(0d)); + rDimVoltageD.setV47(list7.stream().mapToDouble(LineDataDto::getV47).average().orElse(0d)); + rDimVoltageD.setV48(list7.stream().mapToDouble(LineDataDto::getV48).average().orElse(0d)); + rDimVoltageD.setV49(list7.stream().mapToDouble(LineDataDto::getV49).average().orElse(0d)); + rDimVoltageD.setV50(list7.stream().mapToDouble(LineDataDto::getV50).average().orElse(0d)); + } + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimVoltageMServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimVoltageMServiceImpl.java new file mode 100644 index 000000000..a9eb0dd70 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimVoltageMServiceImpl.java @@ -0,0 +1,158 @@ +package com.njcn.prepare.harmonic.service.mysql.dim.impl; + +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.toolkit.CollectionUtils; +import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; +import com.njcn.device.biz.pojo.dto.DeptGetBusBarDTO; +import com.njcn.harmonic.pojo.po.dim.RDimVoltageD; +import com.njcn.harmonic.pojo.po.dim.RDimVoltageM; +import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimVoltageDMapper; +import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimVoltageMMapper; +import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; +import com.njcn.prepare.harmonic.pojo.dto.LineDataDto; +import com.njcn.prepare.harmonic.service.mysql.dim.IRDimVoltageMService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.ehcache.core.util.CollectionUtil; +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 xuyang + * @since 2023-11-29 + */ +@Service +@RequiredArgsConstructor +@Slf4j +public class RDimVoltageMServiceImpl extends MppServiceImpl implements IRDimVoltageMService { + + private final RDimVoltageDMapper rDimVoltageDMapper; + + @Override + public void busbarVoltageM(CalculatedParam calculatedParam) { + List result = new ArrayList<>(); + List list = calculatedParam.getIdList(); + DateTime startTime = DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate())); + DateTime endTime = DateUtil.endOfMonth(DateUtil.parse(calculatedParam.getDataDate())); + List deptList = list.stream().map(DeptGetBusBarDTO::getUnitId).collect(Collectors.toList()); + //获取日表数据 + Map> map = getDayData(startTime,endTime,deptList); + map.forEach((k,v)->{ + RDimVoltageM rDimVoltageM = new RDimVoltageM(); + rDimVoltageM.setOrgId(k); + rDimVoltageM.setStatisDate(LocalDateTimeUtil.parseDate(startTime.toString(DatePattern.NORM_DATE_PATTERN),DatePattern.NORM_DATE_FORMATTER)); + Map> map1 = v.stream().collect(Collectors.groupingBy(RDimVoltageD::getVoltageType)); + map1.forEach((k1,v1)->{ + rDimVoltageM.setVoltageType(k1); + //获取平均值 + getAvg(v1,rDimVoltageM); + result.add(rDimVoltageM); + //获取标准差 + getSd(v1,rDimVoltageM); + result.add(rDimVoltageM); + }); + }); + } + + /** + * 获取日表数据,按照单位分组 + * @param startTime 起始时间 + * @param endTime 结束时间 + * @param deptList 单位集合 + * @return + */ + public Map> getDayData(DateTime startTime, DateTime endTime, List deptList) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.in(RDimVoltageD::getOrgId,deptList).between(RDimVoltageD::getStatisDate,startTime,endTime); + List list = rDimVoltageDMapper.selectList(lambdaQueryWrapper); + return list.stream().collect(Collectors.groupingBy(RDimVoltageD::getOrgId)); + } + + /** + * 获取平均值 + * @param list 数据集合 + * @param rDimVoltageM 实体 + */ + public void getAvg(List list, RDimVoltageM rDimVoltageM) { + rDimVoltageM.setDataType("avg"); + rDimVoltageM.setV(list.stream().mapToDouble(RDimVoltageD::getV).average().orElse(0d)); + rDimVoltageM.setVUnbalance(list.stream().mapToDouble(RDimVoltageD::getVUnbalance).average().orElse(0d)); + rDimVoltageM.setPst(list.stream().mapToDouble(RDimVoltageD::getPst).average().orElse(0d)); + rDimVoltageM.setVThd(list.stream().mapToDouble(RDimVoltageD::getVThd).average().orElse(0d)); + rDimVoltageM.setV1(list.stream().mapToDouble(RDimVoltageD::getV1).average().orElse(0d)); + rDimVoltageM.setV2(list.stream().mapToDouble(RDimVoltageD::getV2).average().orElse(0d)); + rDimVoltageM.setV3(list.stream().mapToDouble(RDimVoltageD::getV3).average().orElse(0d)); + rDimVoltageM.setV4(list.stream().mapToDouble(RDimVoltageD::getV4).average().orElse(0d)); + rDimVoltageM.setV5(list.stream().mapToDouble(RDimVoltageD::getV5).average().orElse(0d)); + rDimVoltageM.setV6(list.stream().mapToDouble(RDimVoltageD::getV6).average().orElse(0d)); + rDimVoltageM.setV7(list.stream().mapToDouble(RDimVoltageD::getV7).average().orElse(0d)); + rDimVoltageM.setV8(list.stream().mapToDouble(RDimVoltageD::getV8).average().orElse(0d)); + rDimVoltageM.setV9(list.stream().mapToDouble(RDimVoltageD::getV9).average().orElse(0d)); + rDimVoltageM.setV10(list.stream().mapToDouble(RDimVoltageD::getV10).average().orElse(0d)); + rDimVoltageM.setV11(list.stream().mapToDouble(RDimVoltageD::getV11).average().orElse(0d)); + rDimVoltageM.setV12(list.stream().mapToDouble(RDimVoltageD::getV12).average().orElse(0d)); + rDimVoltageM.setV13(list.stream().mapToDouble(RDimVoltageD::getV13).average().orElse(0d)); + rDimVoltageM.setV14(list.stream().mapToDouble(RDimVoltageD::getV14).average().orElse(0d)); + rDimVoltageM.setV15(list.stream().mapToDouble(RDimVoltageD::getV15).average().orElse(0d)); + rDimVoltageM.setV16(list.stream().mapToDouble(RDimVoltageD::getV16).average().orElse(0d)); + rDimVoltageM.setV17(list.stream().mapToDouble(RDimVoltageD::getV17).average().orElse(0d)); + rDimVoltageM.setV18(list.stream().mapToDouble(RDimVoltageD::getV18).average().orElse(0d)); + rDimVoltageM.setV19(list.stream().mapToDouble(RDimVoltageD::getV19).average().orElse(0d)); + rDimVoltageM.setV20(list.stream().mapToDouble(RDimVoltageD::getV20).average().orElse(0d)); + rDimVoltageM.setV21(list.stream().mapToDouble(RDimVoltageD::getV21).average().orElse(0d)); + rDimVoltageM.setV22(list.stream().mapToDouble(RDimVoltageD::getV22).average().orElse(0d)); + rDimVoltageM.setV23(list.stream().mapToDouble(RDimVoltageD::getV23).average().orElse(0d)); + rDimVoltageM.setV24(list.stream().mapToDouble(RDimVoltageD::getV24).average().orElse(0d)); + rDimVoltageM.setV25(list.stream().mapToDouble(RDimVoltageD::getV25).average().orElse(0d)); + rDimVoltageM.setV26(list.stream().mapToDouble(RDimVoltageD::getV26).average().orElse(0d)); + rDimVoltageM.setV27(list.stream().mapToDouble(RDimVoltageD::getV27).average().orElse(0d)); + rDimVoltageM.setV28(list.stream().mapToDouble(RDimVoltageD::getV28).average().orElse(0d)); + rDimVoltageM.setV29(list.stream().mapToDouble(RDimVoltageD::getV29).average().orElse(0d)); + rDimVoltageM.setV30(list.stream().mapToDouble(RDimVoltageD::getV30).average().orElse(0d)); + rDimVoltageM.setV31(list.stream().mapToDouble(RDimVoltageD::getV31).average().orElse(0d)); + rDimVoltageM.setV32(list.stream().mapToDouble(RDimVoltageD::getV32).average().orElse(0d)); + rDimVoltageM.setV33(list.stream().mapToDouble(RDimVoltageD::getV33).average().orElse(0d)); + rDimVoltageM.setV34(list.stream().mapToDouble(RDimVoltageD::getV34).average().orElse(0d)); + rDimVoltageM.setV35(list.stream().mapToDouble(RDimVoltageD::getV35).average().orElse(0d)); + rDimVoltageM.setV36(list.stream().mapToDouble(RDimVoltageD::getV36).average().orElse(0d)); + rDimVoltageM.setV37(list.stream().mapToDouble(RDimVoltageD::getV37).average().orElse(0d)); + rDimVoltageM.setV38(list.stream().mapToDouble(RDimVoltageD::getV38).average().orElse(0d)); + rDimVoltageM.setV39(list.stream().mapToDouble(RDimVoltageD::getV39).average().orElse(0d)); + rDimVoltageM.setV40(list.stream().mapToDouble(RDimVoltageD::getV40).average().orElse(0d)); + rDimVoltageM.setV41(list.stream().mapToDouble(RDimVoltageD::getV41).average().orElse(0d)); + rDimVoltageM.setV42(list.stream().mapToDouble(RDimVoltageD::getV42).average().orElse(0d)); + rDimVoltageM.setV43(list.stream().mapToDouble(RDimVoltageD::getV43).average().orElse(0d)); + rDimVoltageM.setV44(list.stream().mapToDouble(RDimVoltageD::getV44).average().orElse(0d)); + rDimVoltageM.setV45(list.stream().mapToDouble(RDimVoltageD::getV45).average().orElse(0d)); + rDimVoltageM.setV46(list.stream().mapToDouble(RDimVoltageD::getV46).average().orElse(0d)); + rDimVoltageM.setV47(list.stream().mapToDouble(RDimVoltageD::getV47).average().orElse(0d)); + rDimVoltageM.setV48(list.stream().mapToDouble(RDimVoltageD::getV48).average().orElse(0d)); + rDimVoltageM.setV49(list.stream().mapToDouble(RDimVoltageD::getV49).average().orElse(0d)); + rDimVoltageM.setV50(list.stream().mapToDouble(RDimVoltageD::getV50).average().orElse(0d)); + + } + + /** + * 获取标准差 + * @param list 数据集合 + * @param rDimVoltageM 实体 + */ + public void getSd(List list, RDimVoltageM rDimVoltageM) { + rDimVoltageM.setDataType("sd"); + + } + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimVoltageYServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimVoltageYServiceImpl.java new file mode 100644 index 000000000..2d2f460c6 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/dim/impl/RDimVoltageYServiceImpl.java @@ -0,0 +1,26 @@ +package com.njcn.prepare.harmonic.service.mysql.dim.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.device.biz.pojo.dto.DeptGetBusBarDTO; +import com.njcn.harmonic.pojo.po.dim.RDimVoltageY; +import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimVoltageYMapper; +import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; +import com.njcn.prepare.harmonic.service.mysql.dim.IRDimVoltageYService; +import org.springframework.stereotype.Service; + +/** + *

+ * 区域母线**电压等级**指标标准差、平均值-年表 服务实现类 + *

+ * + * @author xuyang + * @since 2023-11-29 + */ +@Service +public class RDimVoltageYServiceImpl extends ServiceImpl implements IRDimVoltageYService { + + @Override + public void busbarVoltageY(CalculatedParam calculatedParam) { + + } +} diff --git a/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/UserServiceImpl.java b/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/UserServiceImpl.java index b7b67c9b5..62316940a 100644 --- a/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/UserServiceImpl.java +++ b/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/UserServiceImpl.java @@ -471,6 +471,8 @@ public class UserServiceImpl extends ServiceImpl implements IU user.setPwdValidity(LocalDateTime.now()); user.setLoginTime(LocalDateTime.now()); user.setState(UserState.ENABLE); + user.setLoginErrorTimes(0); + user.setFirstErrorTime(null); return this.updateById(user); }