diff --git a/pqs-common/common-mq/src/main/java/com/njcn/mq/message/AppEventMessage.java b/pqs-common/common-mq/src/main/java/com/njcn/mq/message/AppEventMessage.java index 74db14224..726e2f779 100644 --- a/pqs-common/common-mq/src/main/java/com/njcn/mq/message/AppEventMessage.java +++ b/pqs-common/common-mq/src/main/java/com/njcn/mq/message/AppEventMessage.java @@ -1,6 +1,5 @@ package com.njcn.mq.message; -import com.google.gson.annotations.SerializedName; import com.njcn.middle.rocket.domain.BaseMessage; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -65,6 +64,60 @@ public class AppEventMessage extends BaseMessage { private String code; private List param; + + @ApiModelProperty("工程名称") + private String prjName; + + @ApiModelProperty("装置启动时间") + private Long prjTimeStart; + + @ApiModelProperty("装置结束时间") + private Long prjTimeEnd; + + @ApiModelProperty("装置数据路径") + private String prjDataPath; + + @ApiModelProperty("装置型号") + private String devType; + + @ApiModelProperty("装置mac地址") + private String devMac; + + @ApiModelProperty("装置程序版本") + private String appVersion; + + @ApiModelProperty("逻辑子设备id") + private Integer clDid; + + @ApiModelProperty("统计间隔") + private Integer statCycle; + + @ApiModelProperty("电压等级") + private Float volGrade; + + @ApiModelProperty("电压接线方式(0-星型, 1-角型, 2-V型)") + private Integer volConType; + + @ApiModelProperty("电流接线方式(0-正常, 1-合成IB, 2-合成IC)") + private Integer curConSel; + + @ApiModelProperty("PT变比") + private Integer ptRatio; + + @ApiModelProperty("ct变比") + private Integer ctRatio; + + @ApiModelProperty("基准短路容量") + private Float capacitySscb; + + @ApiModelProperty("最小短路容量") + private Float capacitySscmin; + + @ApiModelProperty("供电设备容量") + private Float capacitySt; + + @ApiModelProperty("用户协议容量") + private Float capacitySi; } @Data diff --git a/pqs-device/device-boot/src/main/resources/bootstrap.yml b/pqs-device/device-boot/src/main/resources/bootstrap.yml index 79a68cedc..eb04f7505 100644 --- a/pqs-device/device-boot/src/main/resources/bootstrap.yml +++ b/pqs-device/device-boot/src/main/resources/bootstrap.yml @@ -57,7 +57,7 @@ mybatis-plus: type-aliases-package: com.njcn.device.pq.pojo,com.njcn.device.pms.pojo,com.njcn.device.biz.pojo.dto #是否是冀北设备台账树 -isJb: true +isJb: false mqtt: client-id: @artifactId@${random.value} diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/DistributionMonitorMapper.xml b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/DistributionMonitorMapper.xml index 9732aafa8..3cb1e6a2b 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/DistributionMonitorMapper.xml +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/DistributionMonitorMapper.xml @@ -524,7 +524,7 @@ #{item} - and pms_power_client.name like CONCAT('%', #{param.userName}, '%') + and pms_power_client.name like CONCAT('%', #{param.userName}, '%') or pms_power_client.id like CONCAT('%', #{param.userName}, '%') ) t where 1 = 1 diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/ledgerManger/impl/PwUserMonitorDataServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/ledgerManger/impl/PwUserMonitorDataServiceImpl.java index 36bdad095..a835af42a 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/ledgerManger/impl/PwUserMonitorDataServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/ledgerManger/impl/PwUserMonitorDataServiceImpl.java @@ -66,7 +66,7 @@ public class PwUserMonitorDataServiceImpl implements PwUserMonitorDataService { page.getRecords().forEach(item->{ if(map.containsKey(item.getLineIndex())){ PwUserMonitorDataVO pwUserMonitorDataVO = map.get(item.getLineIndex()); - pwUserMonitorDataVO.setIntegrityRate(item.getIntegrityData()); + pwUserMonitorDataVO.setIntegrityRate(item.getIntegrityData() > 100 ?100:item.getIntegrityData()); voList.add(pwUserMonitorDataVO); } }); diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/MonitorServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/MonitorServiceImpl.java index 4d019121f..48055a0f3 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/MonitorServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/MonitorServiceImpl.java @@ -306,7 +306,8 @@ public class MonitorServiceImpl extends ServiceImpl impl public List getPmsCalMonitorList(List monitorIds) { List monitorList = new ArrayList<>(); LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.select(Monitor::getId,Monitor::getStatisticalInterval,Monitor::getTerminalId).eq(Monitor::getStatus, DataStateEnum.ENABLE.getCode()); + lambdaQueryWrapper.select(Monitor::getId,Monitor::getStatisticalInterval,Monitor::getTerminalId) + .in(Monitor::getId,monitorIds).eq(Monitor::getStatus, DataStateEnum.ENABLE.getCode()); List monitors = monitorMapper.selectList(lambdaQueryWrapper); for(Monitor monitor : monitors){ diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/YwZtSubstation.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/YwZtSubstation.java new file mode 100644 index 000000000..8f40c2ce8 --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/YwZtSubstation.java @@ -0,0 +1,116 @@ +package com.njcn.device.pq.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.njcn.db.bo.BaseEntity; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * + *

+ * + * @author wr + * @since 2024-08-07 + */ +@Getter +@Setter +@TableName("pq_ywzt_substation") +public class YwZtSubstation{ + + private static final long serialVersionUID = 1L; + + /** + * 变电站序号 + */ + @TableId + private String id; + + /** + * 数据类型zf01:变电站 zf05:电厂 + */ + private String type; + + /** + * 所属地市 + */ + private String orgId; + + /** + * 运维单位 + */ + private String operationName; + + /** + * 电站名称 + */ + private String name; + + /** + * 电压等级Id,字典表 + */ + private String scale; + + /** + * 电压等级名称 + */ + private String scaleName; + + /** + * 维护班组 + */ + private String maintenanceName; + + /** + * 设备状态 + */ + private String runStatus; + + /** + * 设备编码 + */ + private String deviceCoding; + + /** + * 投运日期 + */ + private LocalDateTime runTime; + + /** + * 经度 + */ + private BigDecimal lng; + + /** + * 纬度 + */ + private BigDecimal lat; + + + /** + * 创建用户 + */ + private String createBy; + + + /** + * 创建时间 + */ + private LocalDateTime createTime; + + /** + * 更新用户 + */ + private String updateBy; + + /** + * 更新时间 + */ + private LocalDateTime updateTime; + +} diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/TerminalBaseController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/TerminalBaseController.java index e63ed6dec..8301a1087 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/TerminalBaseController.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/TerminalBaseController.java @@ -191,7 +191,8 @@ public class TerminalBaseController extends BaseController { @DeleteMapping("delTerminal") public HttpResult delTerminal(@RequestParam("id") String id) { String methodDescribe = getMethodDescribe("delTerminal"); - terminalBaseService.delTerminal(id); + System.out.println(id); +// terminalBaseService.delTerminal(id); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/YwZtSubstationController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/YwZtSubstationController.java new file mode 100644 index 000000000..72cc37533 --- /dev/null +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/YwZtSubstationController.java @@ -0,0 +1,55 @@ +package com.njcn.device.pq.controller; + +import com.njcn.common.pojo.annotation.OperateInfo; +import com.njcn.common.pojo.enums.common.LogEnum; +import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.common.utils.HttpResultUtil; +import com.njcn.device.pq.pojo.po.YwZtSubstation; +import com.njcn.device.pq.service.IYwZtSubstationService; +import com.njcn.web.controller.BaseController; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + + +/** + * @version 1.0.0 + * @author: chenchao + * @date: 2022/06/23 11:36 + */ +@Validated +@Slf4j +@RestController +@RequestMapping("/ywZt") +@Api(tags = "业务中台数据管理") +@AllArgsConstructor +public class YwZtSubstationController extends BaseController { + + private final IYwZtSubstationService ywZtSubstationService; + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @GetMapping("/addYwZtSubstation") + @ApiOperation("业务中台变电站表同步") + public HttpResult syncYwZtSubstation(){ + String methodDescribe = getMethodDescribe("syncYwZtSubstation"); + Boolean b = ywZtSubstationService.syncYwZtSubstation(); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, b, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @GetMapping("/getYwZtSubstation") + @ApiOperation("获取业务中台变电站") + public HttpResult> getYwZtSubstation(@RequestParam(required =false )String orgId){ + String methodDescribe = getMethodDescribe("getYwZtSubstation"); + List ywZtSubstation = ywZtSubstationService.getYwZtSubstation(orgId); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, ywZtSubstation, methodDescribe); + } + + +} diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/SubstationMapper.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/SubstationMapper.java index 3b79ada5c..f10781c69 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/SubstationMapper.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/SubstationMapper.java @@ -35,4 +35,7 @@ public interface SubstationMapper extends BaseMapper { List test(); + + //仅供测试冀北电网台账使用 + List subTest(); } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/YwZtSubstationMapper.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/YwZtSubstationMapper.java new file mode 100644 index 000000000..540e53617 --- /dev/null +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/YwZtSubstationMapper.java @@ -0,0 +1,16 @@ +package com.njcn.device.pq.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.device.pq.pojo.po.YwZtSubstation; + +/** + *

+ * Mapper 接口 + *

+ * + * @author wr + * @since 2024-08-07 + */ +public interface YwZtSubstationMapper extends BaseMapper { + +} diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/SubstationMapper.xml b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/SubstationMapper.xml index 38bd31bae..db27dcf0b 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/SubstationMapper.xml +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/SubstationMapper.xml @@ -57,4 +57,48 @@ line.Id = sub.Id + diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/YwZtSubstationMapper.xml b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/YwZtSubstationMapper.xml new file mode 100644 index 000000000..a21457d22 --- /dev/null +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/YwZtSubstationMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/IYwZtSubstationService.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/IYwZtSubstationService.java new file mode 100644 index 000000000..9e1a4938b --- /dev/null +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/IYwZtSubstationService.java @@ -0,0 +1,22 @@ +package com.njcn.device.pq.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.device.pq.pojo.po.YwZtSubstation; + +import java.util.List; + +/** + *

+ * 服务类 + *

+ * + * @author wr + * @since 2024-08-07 + */ +public interface IYwZtSubstationService extends IService { + + + Boolean syncYwZtSubstation(); + + List getYwZtSubstation(String orgId); +} diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalTreeServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalTreeServiceImpl.java index 32921f08b..e3853bcd9 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalTreeServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalTreeServiceImpl.java @@ -284,6 +284,12 @@ public class TerminalTreeServiceImpl implements TerminalTreeService { @Override public List getJbTerminalTree() { + /** + * 1.先根据监测点电网侧电站,查询是否存在变电站信息 + * 1.1 如果存在,则根据根据电网标识(Power_Flag),来进行判断是电网侧还是非电网侧 + * 1.2 不存在,则根据监测点的线路号,进行判断是电网侧还是非电网侧并以当前监测点所对应的变电站为主层级 + * 2.变电站下不存在监测点信息进行筛查出来,然后进行匹配添加 + */ List taiZhang = new ArrayList<>(); List allList = lineMapper.getAllList(); List projectList = allList.stream().filter(item -> item.getLevel().equals(LineBaseEnum.PROJECT_LEVEL.getCode())).sorted(Comparator.comparing(TerminalTree::getSort)).collect(Collectors.toList()); @@ -324,67 +330,138 @@ public class TerminalTreeServiceImpl implements TerminalTreeService { List subInfoList = new ArrayList<>(); lineObjNameMap.forEach((key, value)->{ - List valueList = new ArrayList<>(); - //电网侧监测点 - TerminalTree powerTree=new TerminalTree(); - powerTree.setName("电网侧"); - List powerFlag = value.stream().filter(x -> x.getPowerFlag().equals(LineBaseEnum.POWER_FLAG.getCode())).collect(Collectors.toList()); - List subChildren = getRecursionChildren(powerFlag, collect1); - powerTree.setChildren(new ArrayList<>()); - - //非电网侧监测点 - TerminalTree notPowerTree=new TerminalTree(); - notPowerTree.setName("非电网侧"); - List powerFlagNot = value.stream().filter(x -> x.getPowerFlag().equals(LineBaseEnum.POWER_FLAG_NOT.getCode())).collect(Collectors.toList()); - List notSubChildren = getRecursionChildren(powerFlagNot, collect1); - notPowerTree.setChildren(new ArrayList<>()); - valueList.add(powerTree); - valueList.add(notPowerTree); + final List subVLine = collect1; //获取变电信息 List collect = subList.stream().filter(x -> x.getName().equals(key)).collect(Collectors.toList()); + + //电网侧监测点 + List powerFlag = value.stream().filter(x -> x.getPowerFlag().equals(LineBaseEnum.POWER_FLAG.getCode())).collect(Collectors.toList()); + if(CollUtil.isEmpty(collect)){ + //解决变电站下没有监测点显示问题(变电站-》终端-》母线) + powerFlag.addAll(collect); + } + List subChildren = getRecursionChildren(powerFlag, subVLine); + + //非电网侧监测点 + List powerFlagNot = value.stream().filter(x -> x.getPowerFlag().equals(LineBaseEnum.POWER_FLAG_NOT.getCode())).collect(Collectors.toList()); + List notSubChildren = getRecursionChildren(powerFlagNot,subVLine); + if(CollUtil.isNotEmpty(collect)){ + List valueList = new ArrayList<>(); TerminalTree sub=new TerminalTree(); sub.setId(collect.get(0).getId()); sub.setName(collect.get(0).getName()); sub.setPid(collect.get(0).getPid()); sub.setChildren(valueList); + + TerminalTree powerTree=new TerminalTree(); + powerTree.setName("电网侧"); + powerTree.setId(collect.get(0).getId()); powerTree.setChildren(subChildren); + valueList.add(powerTree); + + + TerminalTree notPowerTree=new TerminalTree(); + notPowerTree.setName("非电网侧"); notPowerTree.setChildren(notSubChildren); + valueList.add(notPowerTree); subInfoList.add(sub); }else{ //电网侧变电站能否找到 for (TerminalTree child : subChildren) { + List valueList = new ArrayList<>(); List exist = subInfoList.stream().filter(x -> x.getId().equals(child.getId())).collect(Collectors.toList()); if(CollUtil.isNotEmpty(exist)){ //电网侧 - exist.get(0).getChildren().get(0).getChildren().addAll(child.getChildren()); + List children =new ArrayList<>(); + children.addAll(exist.get(0).getChildren().get(0).getChildren()); + children.add(child); + exist.get(0).getChildren().get(0).setChildren(children); }else{ TerminalTree sub=new TerminalTree(); sub.setId(child.getId()); sub.setName(child.getName()); sub.setPid(child.getPid()); - valueList.get(0).setChildren(Arrays.asList(child)); + + TerminalTree powerTree=new TerminalTree(); + powerTree.setName("电网侧"); + powerTree.setId(child.getId()); + powerTree.setChildren(Arrays.asList(child)); + valueList.add(powerTree); + + TerminalTree notPowerTree = new TerminalTree(); + notPowerTree.setName("非电网侧"); + notPowerTree.setChildren(new ArrayList<>()); + valueList.add(notPowerTree); + sub.setChildren(valueList); subInfoList.add(sub); } } for (TerminalTree child : notSubChildren) { + List valueList = new ArrayList<>(); List exist = subInfoList.stream().filter(x -> x.getId().equals(child.getId())).collect(Collectors.toList()); - if(CollUtil.isNotEmpty(exist)){ + if (CollUtil.isNotEmpty(exist)) { //非电网侧 - exist.get(1).getChildren().get(0).getChildren().addAll(child.getChildren()); - }else{ - TerminalTree sub=new TerminalTree(); + List children =new ArrayList<>(); + children.addAll(exist.get(0).getChildren().get(1).getChildren()); + children.add(child); + exist.get(0).getChildren().get(1).setChildren(children); + } else { + TerminalTree sub = new TerminalTree(); sub.setId(child.getId()); sub.setName(child.getName()); sub.setPid(child.getPid()); - valueList.get(1).setChildren(Arrays.asList(child)); + + TerminalTree powerTree = new TerminalTree(); + powerTree.setName("电网侧"); + powerTree.setId(child.getId()); + powerTree.setChildren(new ArrayList<>()); + valueList.add(powerTree); + + TerminalTree notPowerTree = new TerminalTree(); + notPowerTree.setName("非电网侧"); + notPowerTree.setChildren(Arrays.asList(child)); + valueList.add(notPowerTree); + sub.setChildren(valueList); subInfoList.add(sub); } } + } }); + //todo 变电站层级处理不存在下面信息的监测点信息(默认信息就是给他当成电网侧) + List dw = new ArrayList<>(); + dw.addAll(subInfoList.stream().collect(Collectors.toList())); + dw.addAll(subInfoList.stream().flatMap(x -> x.getChildren().get(0).getChildren().stream()).collect(Collectors.toList())); + dw.addAll(subInfoList.stream().flatMap(x -> x.getChildren().get(1).getChildren().stream()).collect(Collectors.toList())); + List collect = subList.stream().filter(x -> !dw.stream().map(TerminalTree::getId).collect(Collectors.toList()).contains(x.getId())) + .distinct().collect(Collectors.toList()); + + for (TerminalTree notSub : collect) { + + TerminalTree notSub1 = findParents(collect1, notSub); + List valueList = new ArrayList<>(); + TerminalTree sub = new TerminalTree(); + sub.setId(notSub.getId()); + sub.setName(notSub.getName()); + sub.setPid(notSub.getPid()); + + TerminalTree powerTree = new TerminalTree(); + powerTree.setId(notSub.getId()); + powerTree.setName("电网侧"); + powerTree.setChildren(Arrays.asList(notSub1)); + valueList.add(powerTree); + + TerminalTree notPowerTree = new TerminalTree(); + notPowerTree.setName("非电网侧"); + notPowerTree.setChildren(new ArrayList<>()); + valueList.add(notPowerTree); + + sub.setChildren(valueList); + subInfoList.add(sub); + } gdList.forEach(gd -> gd.setChildren(getChildren(gd, subInfoList))); provinceList.forEach(province -> province.setChildren(getChildren(province, gdList))); @@ -428,26 +505,19 @@ public class TerminalTreeServiceImpl implements TerminalTreeService { findParentsRecursive(lineTree, all,aa); aa.add(lineTree); } - List distinctList = aa.stream().distinct().collect(Collectors.toList()); + List distinctList =new ArrayList<>(); + distinctList.addAll(aa.stream().distinct().collect(Collectors.toList())); + aa.addAll(all); + List lines = aa.stream().distinct().sorted(Comparator.comparing(TerminalTree::getSort)).collect(Collectors.toList()); List collect = distinctList.stream().filter(x -> x.getLevel() == LineBaseEnum.SUB_LEVEL.getCode()).collect(Collectors.toList()); if(CollUtil.isNotEmpty(collect)){ for (TerminalTree tree : collect) { - info.add(findParents(distinctList,tree)); + info.add(findParents(lines,tree)); } } return info; } - private TerminalTree findParents(List all,TerminalTree subTree) { - List collect = all.stream().filter(allItem -> allItem.getPid().equals(subTree.getId())).collect(Collectors.toList()); - if (CollUtil.isNotEmpty(collect)) { - collect.forEach(treeMap -> { - subTree.setChildren(collect); - findParents( all,treeMap); - }); - } - return subTree; - } private static void findParentsRecursive(TerminalTree tree, List all,List newParents) { if (tree.getLevel() == LineBaseEnum.SUB_LEVEL.getCode()) { @@ -461,6 +531,18 @@ public class TerminalTreeServiceImpl implements TerminalTreeService { }); } } + + private TerminalTree findParents(List all,TerminalTree subTree) { + List collect = all.stream().filter(allItem -> allItem.getPid().equals(subTree.getId())).collect(Collectors.toList()); + if (CollUtil.isNotEmpty(collect)) { + collect.forEach(treeMap -> { + subTree.setChildren(collect); + findParents( all,treeMap); + }); + } + return subTree; + } + /** * 未绑定监测点树 * diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/YwZtSubstationServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/YwZtSubstationServiceImpl.java new file mode 100644 index 000000000..186b0c5da --- /dev/null +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/YwZtSubstationServiceImpl.java @@ -0,0 +1,116 @@ +package com.njcn.device.pq.service.impl; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.njcn.device.pq.mapper.SubstationMapper; +import com.njcn.device.pq.mapper.YwZtSubstationMapper; +import com.njcn.device.pq.pojo.po.Substation; +import com.njcn.device.pq.pojo.po.YwZtSubstation; +import com.njcn.device.pq.service.ISubstationService; +import com.njcn.device.pq.service.IYwZtSubstationService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.user.api.DeptFeignClient; +import com.njcn.user.pojo.dto.DeptDTO; +import com.njcn.web.utils.WebUtil; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + *

+ * 服务实现类 + *

+ * + * @author wr + * @since 2024-08-07 + */ +@Service +@RequiredArgsConstructor +public class YwZtSubstationServiceImpl extends ServiceImpl implements IYwZtSubstationService { + + + private final SubstationMapper substationMapper; + private final ISubstationService substationService; + private final DeptFeignClient deptFeignClient; + + + + @Override + public Boolean syncYwZtSubstation() { + List test = substationMapper.test(); + //数据库经纬度 + Map collect1 = test.stream().collect(Collectors.toMap(Substation::getScale, Function.identity())); + //中台变电站信息 + List ztSubs = this.list(); + + //匹配不到数据 + List loseInfo=new ArrayList<>(); + //匹配成功数据 + List info=new ArrayList<>(); + + collect1.forEach((key,value)->{ + key=key.substring(key.indexOf("V")+1); + String dzmc = getDzmc(key); + List ztNormalSubs = ztSubs.stream().filter( + x -> dzmc.indexOf(getDzmc(x.getName())) != -1 || getDzmc(x.getName()).indexOf(dzmc) != -1 + ).collect(Collectors.toList()); + if(CollUtil.isNotEmpty(ztNormalSubs)) { + if(ztNormalSubs.size()>1){ + List collect = ztNormalSubs.stream().filter( + x -> dzmc.equals(getDzmc(x.getName())) + ).collect(Collectors.toList()); + if(CollUtil.isNotEmpty(collect)){ + value.setLng(collect.get(0).getLng()); + value.setScale(null); + value.setLat(collect.get(0).getLat()); + info.add(value); + } + }else{ + value.setLng(ztNormalSubs.get(0).getLng()); + value.setScale(null); + value.setLat(ztNormalSubs.get(0).getLat()); + info.add(value); + } + }else{ + loseInfo.add(value); + } + }); + List collect = loseInfo.stream().filter(x->x.getLat().doubleValue()==0.0).map(Substation::getScale).collect(Collectors.toList()); + System.out.println(collect); + System.out.println(info); + return substationService.updateBatchById(info); + } + + @Override + public List getYwZtSubstation(String orgId) { + //获取变电站信息 + List orgIds = new ArrayList<>(); + if(StrUtil.isNotBlank(orgId)){ + List deptDTOList = deptFeignClient.getDeptDescendantIndexes(orgId, WebUtil.filterDeptType()).getData(); + orgIds= deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList()); + } + return this.list(new LambdaQueryWrapper().in(CollUtil.isNotEmpty(orgIds),YwZtSubstation::getOrgId,orgIds)); + } + + public String getDzmc(String dzmc) { + if(StrUtil.isNotBlank(dzmc)) { + dzmc = dzmc.replace("变电站", "") + .replace("火电厂", "") + .replace("供电所", "") + .replace("风光储", "") + .replace("风电场", "") + .replace("光伏电站", "") + .replace("光储电站", "") + .replace("开关站", "") + .replace("桥接站", ""); + } + return dzmc; + } + +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/upload/RUploadCommPointBusController.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/upload/RUploadCommPointBusController.java index 6c667a7ee..270732feb 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/upload/RUploadCommPointBusController.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/upload/RUploadCommPointBusController.java @@ -7,11 +7,9 @@ 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.common.utils.LogUtil; import com.njcn.harmonic.pojo.param.UploadDataParam; import com.njcn.harmonic.pojo.po.upload.RUploadCommPointBus; -import com.njcn.harmonic.pojo.vo.upload.UploadPointStatisticalDataVo; -import com.njcn.harmonic.service.upload.IRUploadCommPointBusService; +import com.njcn.harmonic.service.upload.RUploadCommPointBusService; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; @@ -36,7 +34,7 @@ import com.njcn.web.controller.BaseController; @RequiredArgsConstructor public class RUploadCommPointBusController extends BaseController { - private final IRUploadCommPointBusService irUploadCommPointBusService; + private final RUploadCommPointBusService RUploadCommPointBusService; @OperateInfo(info = LogEnum.BUSINESS_COMMON) @@ -45,7 +43,7 @@ public class RUploadCommPointBusController extends BaseController { @ApiImplicitParam(name = "param", value = "实体参数", required = true) public HttpResult> getCommPointBusPage(@RequestBody @Validated UploadDataParam param) { String methodDescribe = getMethodDescribe("getCommPointBusPage"); - Page page = irUploadCommPointBusService.getCommPointBusPage(param); + Page page = RUploadCommPointBusService.getCommPointBusPage(param); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe); } @@ -56,7 +54,7 @@ public class RUploadCommPointBusController extends BaseController { @ApiImplicitParam(name = "param", value = "实体参数", required = true) public HttpResult upGwCommPoint(@RequestBody UploadDataParam param) { String methodDescribe = getMethodDescribe("upGwCommPoint"); - irUploadCommPointBusService.upGw(param); + RUploadCommPointBusService.upGw(param); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe); } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatLimitServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatLimitServiceImpl.java index ed69d3051..78a72f542 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatLimitServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatLimitServiceImpl.java @@ -466,11 +466,11 @@ public class RStatLimitServiceImpl implements RStatLimitService { monitorLimitRateVO.setUbalanceOvertime(BigDecimal.valueOf(3.14159)); monitorLimitRateVO.setVoltageDevOvertime(BigDecimal.valueOf(3.14159)); }else { - monitorLimitRateVO.setFlickerOvertime(BigDecimal.valueOf((double) item.getFlickerOvertime()/item.getFlickerAllTime()*100).setScale(2, RoundingMode.HALF_UP)); - monitorLimitRateVO.setFreqDevOvertime(BigDecimal.valueOf((double) item.getFreqDevOvertime()/item.getAllTime()*100).setScale(2, RoundingMode.HALF_UP)); - monitorLimitRateVO.setUaberranceOvertime(BigDecimal.valueOf((double) item.getUaberranceOvertime()/item.getAllTime()*100).setScale(2, RoundingMode.HALF_UP)); - monitorLimitRateVO.setUbalanceOvertime(BigDecimal.valueOf((double) item.getUbalanceOvertime()/item.getAllTime()*100).setScale(2, RoundingMode.HALF_UP)); - monitorLimitRateVO.setVoltageDevOvertime(BigDecimal.valueOf((double) item.getVoltageDevOvertime()/item.getAllTime()*100).setScale(2, RoundingMode.HALF_UP)); + monitorLimitRateVO.setFlickerOvertime(calculatePercentage(item.getFlickerOvertime(),item.getFlickerAllTime())); + monitorLimitRateVO.setFreqDevOvertime(calculatePercentage(item.getFreqDevOvertime(),item.getAllTime())); + monitorLimitRateVO.setUaberranceOvertime(calculatePercentage(item.getUaberranceOvertime(),item.getAllTime())); + monitorLimitRateVO.setUbalanceOvertime(calculatePercentage(item.getUbalanceOvertime(),item.getAllTime())); + monitorLimitRateVO.setVoltageDevOvertime(calculatePercentage(item.getVoltageDevOvertime(),item.getAllTime())); } setUharmOvertimeRatios(item,monitorLimitRateVO); resultList.add(monitorLimitRateVO); @@ -480,6 +480,32 @@ public class RStatLimitServiceImpl implements RStatLimitService { return pageResult; } + + /** + * 计算百分比,结果不超过100 + * + * @param flickerOvertime 闪烁超时时间 + * @param flickerAllTime 总闪烁时间 + * @return 计算的百分比(如果结果超过100,则返回100) + */ + public BigDecimal calculatePercentage(Integer flickerOvertime, Integer flickerAllTime) { + // 检查参数是否为null + if (flickerOvertime == null || flickerAllTime == null) { + throw new IllegalArgumentException("方法遇到不合法参数"); + } + // 将Integer转换为BigDecimal进行计算 + BigDecimal overtime = BigDecimal.valueOf(flickerOvertime); + BigDecimal allTime = BigDecimal.valueOf(flickerAllTime); + + // 计算百分比 + BigDecimal percentage = overtime.divide(allTime, 10, RoundingMode.HALF_UP) + .multiply(BigDecimal.valueOf(100)) + .setScale(2, RoundingMode.HALF_UP); + + // 如果百分比超过100,则调整为100 + return percentage.compareTo(BigDecimal.valueOf(100)) > 0 ? BigDecimal.valueOf(100) : percentage; + } + @Override public List pwMonitorLimitDataRange(PwUserMonitorParam pwUserMonitorParam) { List result = new ArrayList<>(); @@ -637,6 +663,7 @@ public class RStatLimitServiceImpl implements RStatLimitService { } else { BigDecimal ratio = BigDecimal.valueOf((double) uharmOvertime / allTime*100) .setScale(2, RoundingMode.HALF_UP); + ratio = ratio.compareTo(BigDecimal.valueOf(100)) > 0 ? BigDecimal.valueOf(100) : ratio; monitorLimitRateVO.getClass().getMethod(setterName, BigDecimal.class) .invoke(monitorLimitRateVO, ratio); } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/IRUploadCommPointBusService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/RUploadCommPointBusService.java similarity index 66% rename from pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/IRUploadCommPointBusService.java rename to pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/RUploadCommPointBusService.java index 0fa1f6add..00cda69ba 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/IRUploadCommPointBusService.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/RUploadCommPointBusService.java @@ -3,20 +3,17 @@ package com.njcn.harmonic.service.upload; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; -import com.njcn.common.pojo.response.HttpResult; import com.njcn.harmonic.pojo.param.UploadDataParam; import com.njcn.harmonic.pojo.po.upload.RUploadCommPointBus; import org.springframework.stereotype.Service; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.RequestBody; /** *

* 公共连接点母线电能质量统计 服务类 *

*/ -@Service -public interface IRUploadCommPointBusService extends IService { + +public interface RUploadCommPointBusService extends IService { Page getCommPointBusPage(UploadDataParam param); diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/RUploadCommPointBusServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/RUploadCommPointBusServiceImpl.java index c60b372c6..fd14ce7d8 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/RUploadCommPointBusServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/RUploadCommPointBusServiceImpl.java @@ -6,7 +6,6 @@ import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; -import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -15,7 +14,7 @@ import com.njcn.common.pojo.exception.BusinessException; import com.njcn.harmonic.mapper.upload.RUploadCommPointBusMapper; import com.njcn.harmonic.pojo.param.UploadDataParam; import com.njcn.harmonic.pojo.po.upload.RUploadCommPointBus; -import com.njcn.harmonic.service.upload.IRUploadCommPointBusService; +import com.njcn.harmonic.service.upload.RUploadCommPointBusService; import com.njcn.system.enums.DicDataEnum; import com.njcn.web.enums.GWSendEnum; import com.njcn.web.factory.PageFactory; @@ -37,7 +36,7 @@ import java.util.stream.Stream; * @since 2024-08-15 */ @Service -public class RUploadCommPointBusServiceImpl extends ServiceImpl implements IRUploadCommPointBusService { +public class RUploadCommPointBusServiceImpl extends ServiceImpl implements RUploadCommPointBusService { @Override public Page getCommPointBusPage(UploadDataParam param) { diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/impl/RUploadEvaluationDataDServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/impl/RUploadEvaluationDataDServiceImpl.java index 545292b29..beb50f30b 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/impl/RUploadEvaluationDataDServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/impl/RUploadEvaluationDataDServiceImpl.java @@ -124,7 +124,10 @@ public class RUploadEvaluationDataDServiceImpl extends MppServiceImpl list = calculatedParam.getIdList(); list.forEach(item -> { - if (Objects.equals(Integer.parseInt(UploadEnum.NJCN_DEPT_LEVEL_1.getCode()), item.getDeptLevel())) { + if (Objects.equals(Integer.parseInt(UploadEnum.NJCN_DEPT_LEVEL_1.getCode()), item.getDeptLevel()) + //县数据 + || Objects.equals(Integer.parseInt(UploadEnum.NJCN_DEPT_LEVEL_4.getCode()),item.getDeptLevel()) + ) { return; } diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/QuitRunningDeviceServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/QuitRunningDeviceServiceImpl.java index 96d743472..e4a11ba0e 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/QuitRunningDeviceServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/QuitRunningDeviceServiceImpl.java @@ -156,6 +156,7 @@ public class QuitRunningDeviceServiceImpl extends ServiceImpl mapDetail = new HashMap<>(); QueryWrapper quitRunningDeviceVOQueryWrapper = new QueryWrapper<>(); + quitRunningDeviceVOQueryWrapper.eq("supervision_quit_running_device.state", DataStateEnum.ENABLE.getCode()); if (Objects.nonNull(quitRunningDeviceQueryParam)) { //判断监测点/设备的选择 // if (Objects.nonNull(quitRunningDeviceQueryParam.getDeviceType()) && Objects.nonNull(quitRunningDeviceQueryParam.getDeviceId())) { diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportPOServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportPOServiceImpl.java index 86d58b695..2515315ee 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportPOServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportPOServiceImpl.java @@ -798,7 +798,7 @@ public class UserReportPOServiceImpl extends ServiceImpl delete = list.stream().filter(x -> "delete_info".equals(x)).collect(Collectors.toList()); //如果为空则需要判断信息,先判断全部数据是否都是自己创建的,然后判断是否是都是带提交数据 if (CollUtil.isEmpty(delete)) { - long count = list.stream().filter(x -> !userId.equals(x)).count(); + long count = createBy.stream().filter(x -> !userId.equals(x)).count(); if (count > 0) { throw new BusinessException(SupervisionResponseEnum.NO_POWER); } else { diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/api/EpdFeignClient.java b/pqs-system/system-api/src/main/java/com/njcn/system/api/EpdFeignClient.java index b710285e4..6d28c002a 100644 --- a/pqs-system/system-api/src/main/java/com/njcn/system/api/EpdFeignClient.java +++ b/pqs-system/system-api/src/main/java/com/njcn/system/api/EpdFeignClient.java @@ -6,8 +6,8 @@ import com.njcn.system.api.fallback.EpdFeignClientFallbackFactory; import com.njcn.system.pojo.dto.EpdDTO; import com.njcn.system.pojo.param.EleEpdPqdParam; import com.njcn.system.pojo.po.EleEpdPqd; +import com.njcn.system.pojo.vo.EleEpdPqdListVO; import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; @@ -58,4 +58,9 @@ public interface EpdFeignClient { @PostMapping("/findListByShowName") HttpResult> findListByShowName(@RequestParam("name") String name); + @PostMapping("/selectByClassId") + HttpResult> selectByClassId(@RequestParam("classId") String classId); + + @PostMapping("/selectAll") + HttpResult> selectAll(); } diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/api/fallback/EpdFeignClientFallbackFactory.java b/pqs-system/system-api/src/main/java/com/njcn/system/api/fallback/EpdFeignClientFallbackFactory.java index c3d7f688d..671d93a90 100644 --- a/pqs-system/system-api/src/main/java/com/njcn/system/api/fallback/EpdFeignClientFallbackFactory.java +++ b/pqs-system/system-api/src/main/java/com/njcn/system/api/fallback/EpdFeignClientFallbackFactory.java @@ -7,6 +7,7 @@ import com.njcn.system.api.EpdFeignClient; import com.njcn.system.pojo.dto.EpdDTO; import com.njcn.system.pojo.param.EleEpdPqdParam; import com.njcn.system.pojo.po.EleEpdPqd; +import com.njcn.system.pojo.vo.EleEpdPqdListVO; import com.njcn.system.utils.SystemEnumUtil; import feign.hystrix.FallbackFactory; import lombok.extern.slf4j.Slf4j; @@ -106,6 +107,18 @@ public class EpdFeignClientFallbackFactory implements FallbackFactory> selectByClassId(String classId) { + log.error("{}异常,降级处理,异常为:{}","根据数据分类查询字典信息集合",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + + @Override + public HttpResult> selectAll() { + log.error("{}异常,降级处理,异常为:{}","根据数据分类查询字典信息集合",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } }; } } diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/controller/EleEpdPqdController.java b/pqs-system/system-boot/src/main/java/com/njcn/system/controller/EleEpdPqdController.java index afb9abfc6..17caa75c3 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/controller/EleEpdPqdController.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/controller/EleEpdPqdController.java @@ -164,6 +164,16 @@ public class EleEpdPqdController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, eleEpdPqds, methodDescribe); } + @PostMapping("/selectByClassId") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("根据数据分类查询字典数据") + public HttpResult> selectByClassId(@RequestParam("classId") @Validated String classId){ + String methodDescribe = getMethodDescribe("selectByClassId"); + LogUtil.njcnDebug(log, "{},根据数据分类查询字典数据:", methodDescribe); + List eleEpdPqds = eleEpdPqdService.selectByClassId(classId); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, eleEpdPqds, methodDescribe); + } + @PostMapping("/judgeExist") @OperateInfo(info = LogEnum.BUSINESS_COMMON) @ApiOperation("校验字典是否存在") diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/init/InitEpdPqd.java b/pqs-system/system-boot/src/main/java/com/njcn/system/init/InitEpdPqd.java new file mode 100644 index 000000000..187ddbace --- /dev/null +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/init/InitEpdPqd.java @@ -0,0 +1,24 @@ +package com.njcn.system.init; + +import com.njcn.system.service.IEleEpdPqdService; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.CommandLineRunner; +import org.springframework.stereotype.Component; + + +/** + * @author xy + */ +@Slf4j +@Component +@AllArgsConstructor +public class InitEpdPqd implements CommandLineRunner { + + private final IEleEpdPqdService epdPqdService; + + @Override + public void run(String... args) { + epdPqdService.refreshEpdPqdDataCache(); + } +} diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/service/IEleEpdPqdService.java b/pqs-system/system-boot/src/main/java/com/njcn/system/service/IEleEpdPqdService.java index be9c4d7fd..a3fe71a14 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/service/IEleEpdPqdService.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/service/IEleEpdPqdService.java @@ -7,8 +7,6 @@ import com.njcn.system.pojo.param.EleEpdPqdParam; import com.njcn.system.pojo.po.EleEpdPqd; import com.njcn.system.pojo.vo.EleEpdPqdListVO; import com.njcn.system.pojo.vo.EleEpdPqdVO; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.RequestBody; import java.util.List; import java.util.Map; @@ -23,6 +21,12 @@ import java.util.Map; */ public interface IEleEpdPqdService extends IService { + /** + * 刷新epd内容 + */ + void refreshEpdPqdDataCache(); + + /** * 存储模板的字典数据 * @param eleEpdPqdParam @@ -110,4 +114,5 @@ public interface IEleEpdPqdService extends IService { */ List findAll(); + List selectByClassId(String classId); } diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/EleEpdPqdServiceImpl.java b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/EleEpdPqdServiceImpl.java index 99895c0d5..cec32fb55 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/EleEpdPqdServiceImpl.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/EleEpdPqdServiceImpl.java @@ -9,6 +9,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.common.pojo.exception.BusinessException; import com.njcn.db.constant.DbConstant; +import com.njcn.redis.pojo.enums.AppRedisKey; +import com.njcn.redis.utils.RedisUtil; import com.njcn.system.enums.SystemResponseEnum; import com.njcn.system.mapper.EleEpdPqdMapper; import com.njcn.system.pojo.dto.EpdDTO; @@ -43,6 +45,18 @@ public class EleEpdPqdServiceImpl extends ServiceImpl map = new HashMap<>(); + List list = findAll(); + list.forEach(item->{ + map.put(item.getDictName(),item.getTableName()); + }); + redisUtil.saveByKey(AppRedisKey.ELE_EPD_PQD,map); + } + @Override public void saveData(List eleEpdPqdParam) { List list = eleEpdPqdParam.stream().map(item->{ @@ -58,7 +72,10 @@ public class EleEpdPqdServiceImpl extends ServiceImpl selectByClassId(String classId) { + return this.lambdaQuery().eq(EleEpdPqd::getClassId,classId).list(); + } + /** * 校验参数, * 1.检查是否存在相同名称的菜单