1.技术监督代码调整
2.国网对象类型统计 3.国网新能源场站代码提交
This commit is contained in:
@@ -82,6 +82,16 @@ public class LineDevGetDTO {
|
||||
*/
|
||||
private Integer isUpToGrid;
|
||||
|
||||
/**
|
||||
* 0.未上送 1.已上送 2.取消上送 3.待重新上送(用于典型负荷)
|
||||
*/
|
||||
private Integer isUploadHead;
|
||||
|
||||
/**
|
||||
* 0.未上送 1.已上送 2.取消上送 3.待重新上送(用于主网监测点)
|
||||
*/
|
||||
private Integer monitorUploadStatus;
|
||||
|
||||
/**
|
||||
* oracle监测点id
|
||||
*/
|
||||
|
||||
@@ -26,5 +26,7 @@ public class DeptGetLineParam {
|
||||
@ApiModelProperty(name = "systemType",value = "0.只返回主网的监测点信息; 1.只返回配网的监测点信息; null、2.返回主网配网两种监测点信息")
|
||||
private Integer systemType;
|
||||
|
||||
@ApiModelProperty(name = "monitorStateAll",value = "true.只返回在线监测点信息 false.返回全部监测点信息")
|
||||
private Boolean monitorStateRunning=true;
|
||||
|
||||
}
|
||||
|
||||
@@ -59,6 +59,9 @@ public enum PmsDeviceResponseEnum {
|
||||
|
||||
NO_ID_STATION("A00357","变电站编号为空"),
|
||||
NO_ID_ORG("A00357","部门编号为空"),
|
||||
NE_ENERGY_ID("A003560","场站编号重复"),
|
||||
MONITOR_NE_ENERGY_FIND("A00361","主网监测点存在绑定该场站信息关系,请先解除绑定关系"),
|
||||
|
||||
;
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
package com.njcn.device.pms.pojo.param;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.njcn.db.bo.BaseEntity;
|
||||
import com.njcn.web.pojo.param.BaseParam;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.*;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
/**
|
||||
* pqs
|
||||
*
|
||||
* @author cdf
|
||||
* @date 2023/2/20
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class NewEnergyQueryParam extends BaseParam {
|
||||
|
||||
@ApiModelProperty(value = "单位id")
|
||||
private String orgId;
|
||||
|
||||
@Data
|
||||
public static class Info {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId("Id")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@NotBlank(message = "对象类型不能为空")
|
||||
@TableField("Obj_Name")
|
||||
private String objName;
|
||||
/**
|
||||
* 组织机构名称
|
||||
*/
|
||||
@TableField("Org_Name")
|
||||
private String orgName;
|
||||
|
||||
/**
|
||||
* 组织机构ID(外键)
|
||||
*/
|
||||
@TableField("Org_Id")
|
||||
private String orgId;
|
||||
/**
|
||||
* 电压等级
|
||||
*/
|
||||
@TableField("voltage_Level")
|
||||
private String voltageLevel;
|
||||
|
||||
/**
|
||||
* 电压等级
|
||||
*/
|
||||
@TableField("Powerr_Name")
|
||||
private String powerrName;
|
||||
|
||||
/**
|
||||
* 检测点对象类型(字典)
|
||||
*/
|
||||
@TableField("Obj_Type")
|
||||
private String objType;
|
||||
|
||||
/**
|
||||
* 电压等级
|
||||
*/
|
||||
@TableField("station_status")
|
||||
private String stationStatus;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
package com.njcn.device.pms.pojo.po;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.njcn.db.bo.BaseEntity;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author wr
|
||||
* @since 2024-03-26
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@TableName("pms_new_energy")
|
||||
public class PmsNewEnergy extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId("Id")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@TableField("Obj_Name")
|
||||
private String objName;
|
||||
/**
|
||||
* 组织机构名称
|
||||
*/
|
||||
@TableField("Org_Name")
|
||||
private String orgName;
|
||||
|
||||
/**
|
||||
* 组织机构ID(外键)
|
||||
*/
|
||||
@TableField("Org_Id")
|
||||
private String orgId;
|
||||
/**
|
||||
* 电压等级
|
||||
*/
|
||||
@TableField("voltage_Level")
|
||||
private String voltageLevel;
|
||||
|
||||
/**
|
||||
* 电压等级
|
||||
*/
|
||||
@TableField("Powerr_Name")
|
||||
private String powerrName;
|
||||
|
||||
/**
|
||||
* 检测点对象类型(字典)
|
||||
*/
|
||||
@TableField("Obj_Type")
|
||||
private String objType;
|
||||
|
||||
/**
|
||||
* 电压等级
|
||||
*/
|
||||
@TableField("station_status")
|
||||
private String stationStatus;
|
||||
|
||||
/**
|
||||
* 状态:0-删除 1-正常
|
||||
*/
|
||||
@TableField("State")
|
||||
private Integer state;
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package com.njcn.device.pms.pojo.vo.gw;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author wr
|
||||
* @description
|
||||
* @date 2024/3/22 11:05
|
||||
*/
|
||||
@Data
|
||||
public class MonitorEnergy {
|
||||
|
||||
@ApiModelProperty(value = "部门名称")
|
||||
private String orgName;
|
||||
|
||||
@ApiModelProperty(value = "监测点信息")
|
||||
List<Details> info;
|
||||
|
||||
|
||||
@Data
|
||||
public static class Details {
|
||||
|
||||
@ApiModelProperty(value = "对象类型")
|
||||
private String objType;
|
||||
|
||||
@ApiModelProperty(value = "接入线路电压等级为110kV及以上变电站数量(座)")
|
||||
private String num;
|
||||
|
||||
@ApiModelProperty(value = "接入线路电压等级为110kV及以上变电站数量(座)")
|
||||
List<VoltageInfo> voltageInfo;
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class VoltageInfo {
|
||||
|
||||
@ApiModelProperty(value = "已监测数量")
|
||||
private Integer monitorNum;
|
||||
|
||||
@ApiModelProperty(value = "新能源场站总数")
|
||||
private Integer totalNum;
|
||||
|
||||
@ApiModelProperty(value = "监测率")
|
||||
private Float monitorRate;
|
||||
|
||||
@ApiModelProperty(value = "装置数量(台)")
|
||||
private Integer deviceNum;
|
||||
|
||||
@ApiModelProperty(value = "覆盖变电站数量(座)")
|
||||
private Integer substationsNum;
|
||||
|
||||
@ApiModelProperty(value = "电站覆盖率(%)")
|
||||
private Float substationsRate;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
package com.njcn.device.pms.controller.gwPush;
|
||||
|
||||
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.pms.service.gwPush.MonitorStatisticsService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/monitorStatistics")
|
||||
@Api(tags = "台账类国网上送监测点统计")
|
||||
@RequiredArgsConstructor
|
||||
public class MonitorStatisticsController extends BaseController {
|
||||
|
||||
private final MonitorStatisticsService monitorStatisticsService;
|
||||
|
||||
@PostMapping("/objType")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@ApiOperation("国网上送接口")
|
||||
public HttpResult< List<List<String>>> objType(String deptId){
|
||||
String methodDescribe = getMethodDescribe("objType");
|
||||
List<List<String>> gwMonitorStatistics = monitorStatisticsService.getGwMonitorStatistics(deptId);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, gwMonitorStatistics, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,116 @@
|
||||
package com.njcn.device.pms.controller.ledgerManger;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.common.pojo.constant.OperateType;
|
||||
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.pms.pojo.param.NewEnergyQueryParam;
|
||||
import com.njcn.device.pms.pojo.po.PmsNewEnergy;
|
||||
import com.njcn.device.pms.service.gwPush.IPmsNewEnergyService;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import com.njcn.web.controller.BaseController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author wr
|
||||
* @since 2024-03-26
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/pmsNewEnergy")
|
||||
@RequiredArgsConstructor
|
||||
public class PmsNewEnergyController extends BaseController {
|
||||
|
||||
private final IPmsNewEnergyService newEnergyService;
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("getNewEnergyList")
|
||||
@ApiOperation("分页场站台账所有信息")
|
||||
@ApiImplicitParam(name = "baseParam",value = "查询监测终端台账信息",required = true)
|
||||
public HttpResult<Page<PmsNewEnergy>> getNewEnergyList(@RequestBody @Validated NewEnergyQueryParam baseParam){
|
||||
String methodDescribe = getMethodDescribe("getNewEnergyList");
|
||||
Page<PmsNewEnergy> res = newEnergyService.getNewEnergyList(baseParam);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,res,methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("getNewEnergySelectList")
|
||||
@ApiOperation("查询场站台账所有信息")
|
||||
public HttpResult<List<PmsNewEnergy>> getNewEnergySelectList(String orgId){
|
||||
String methodDescribe = getMethodDescribe("getNewEnergySelectList");
|
||||
List<PmsNewEnergy> res = newEnergyService.getNewEnergySelectList(orgId);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,res,methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 新增监测终端台账信息
|
||||
* @author hany
|
||||
* @date 2022/10/26
|
||||
*/
|
||||
@PostMapping("/addNewEnergy")
|
||||
@OperateInfo(info = LogEnum.SYSTEM_COMMON,operateType= OperateType.ADD)
|
||||
@ApiOperation("新增监测终端台账信息")
|
||||
@ApiImplicitParam(name = "param", value = "新增实体", required = true)
|
||||
public HttpResult<Object> add(@RequestBody @Validated NewEnergyQueryParam.Info param){
|
||||
String methodDescribe = getMethodDescribe("add");
|
||||
boolean result = newEnergyService.add(param);
|
||||
if (result) {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
} else {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改监测终端台账信息
|
||||
* @author hany
|
||||
* @date 2022/10/27
|
||||
*/
|
||||
@PostMapping("/updateNewEnergy")
|
||||
@OperateInfo(info = LogEnum.SYSTEM_COMMON,operateType = OperateType.UPDATE)
|
||||
@ApiOperation("修改监测终端台账信息")
|
||||
@ApiImplicitParam(name = "updateParam", value = "更新实体", required = true)
|
||||
public HttpResult<Object> update(@RequestBody @Validated NewEnergyQueryParam.Info updateParam){
|
||||
String methodDescribe = getMethodDescribe("update");
|
||||
boolean result = newEnergyService.update(updateParam);
|
||||
if (result) {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
} else {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除监测终端台账信息
|
||||
* @param ids id
|
||||
* @author hany
|
||||
* @date 2022/10/27
|
||||
*/
|
||||
@PostMapping("/deleteNewEnergy")
|
||||
@OperateInfo(info = LogEnum.SYSTEM_COMMON, operateType = OperateType.DELETE)
|
||||
@ApiOperation("删除监测终端台账信息")
|
||||
@ApiImplicitParam(name = "ids", value = "ID索引", required = true)
|
||||
public HttpResult<Object> delete(@RequestBody List<String> ids){
|
||||
String methodDescribe = getMethodDescribe("delete");
|
||||
boolean result = newEnergyService.delete(ids);
|
||||
if(result){
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
}else {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.njcn.device.pms.mapper.majornetwork;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.device.pms.pojo.po.PmsNewEnergy;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author wr
|
||||
* @since 2024-03-26
|
||||
*/
|
||||
public interface PmsNewEnergyMapper extends BaseMapper<PmsNewEnergy> {
|
||||
|
||||
}
|
||||
@@ -22,7 +22,8 @@ public interface SpecialAnalysisMapper {
|
||||
* @return
|
||||
*/
|
||||
List<SpecialAnalysisMonitorVO.SpecialAnalysisVO> selectList(@Param("deptIdList") List<String> deptIdList,
|
||||
@Param("monitorTags") String monitorTags);
|
||||
@Param("monitorTags") String monitorTags,
|
||||
@Param("status") String status);
|
||||
|
||||
/**
|
||||
* 同比环比数据(风电场,光伏电站,冶炼负荷)
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
1 as Status,
|
||||
now() as Create_Time,
|
||||
now() as Update_Time,
|
||||
Line_Id as Statistical_Interval,
|
||||
Line_Id as Line_Id,
|
||||
15 as Statistical_Interval,
|
||||
Power_Station_Id as Power_Station_Id
|
||||
from
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.njcn.device.pms.mapper.majornetwork.PmsNewEnergyMapper">
|
||||
|
||||
</mapper>
|
||||
@@ -22,6 +22,7 @@
|
||||
<where>
|
||||
pm.`Status` = 1
|
||||
AND ps.`Status` = 1
|
||||
AND pm.`Monitor_State` = #{status}
|
||||
<if test="deptIdList != null and deptIdList.size > 0">
|
||||
AND pm.Org_Id IN
|
||||
<foreach collection='deptIdList' item='item' index="index" open='(' separator=',' close=')'>
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
package com.njcn.device.pms.service.gwPush;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.device.pms.pojo.param.NewEnergyQueryParam;
|
||||
import com.njcn.device.pms.pojo.param.PmsBaseParam;
|
||||
import com.njcn.device.pms.pojo.po.PmsNewEnergy;
|
||||
import com.njcn.web.pojo.param.BaseParam;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author wr
|
||||
* @since 2024-03-26
|
||||
*/
|
||||
public interface IPmsNewEnergyService extends IService<PmsNewEnergy> {
|
||||
/**
|
||||
* 分页查询所有
|
||||
* @return Page<PmsNewEnergy>
|
||||
*/
|
||||
Page<PmsNewEnergy> getNewEnergyList(NewEnergyQueryParam baseParam);
|
||||
|
||||
/**
|
||||
* 查询所有
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
List<PmsNewEnergy> getNewEnergySelectList(String orgId);
|
||||
|
||||
|
||||
/**
|
||||
* 新增
|
||||
*/
|
||||
boolean add(NewEnergyQueryParam.Info param);
|
||||
|
||||
/**
|
||||
* 修改
|
||||
* @param
|
||||
*/
|
||||
boolean update(NewEnergyQueryParam.Info updateParam);
|
||||
|
||||
/**
|
||||
* 删除
|
||||
* @param ids ids
|
||||
*/
|
||||
boolean delete(List<String> ids);
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.njcn.device.pms.service.gwPush;
|
||||
|
||||
import com.njcn.device.pms.pojo.vo.gw.MonitorEnergy;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 国网台账类上送
|
||||
*/
|
||||
public interface MonitorStatisticsService {
|
||||
|
||||
/**
|
||||
* @Description: 国网上送统计类型数量统计
|
||||
* @Author: wr
|
||||
* @Date: 2024/3/22 9:49
|
||||
*/
|
||||
List<List<String>> getGwMonitorStatistics(String deptId);
|
||||
}
|
||||
@@ -0,0 +1,143 @@
|
||||
package com.njcn.device.pms.service.gwPush.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
||||
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
||||
import com.njcn.device.pms.service.gwPush.MonitorStatisticsService;
|
||||
import com.njcn.device.pms.service.ledgerManger.CommTerminalService;
|
||||
import com.njcn.system.api.DictTreeFeignClient;
|
||||
import com.njcn.system.enums.DicDataTypeEnum;
|
||||
import com.njcn.system.enums.DicTreeEnum;
|
||||
import com.njcn.system.pojo.po.SysDicTreePO;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import com.njcn.user.pojo.po.Dept;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* pqs
|
||||
*
|
||||
* @author cdf
|
||||
* @date 2023/12/11
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class MonitorStatisticsServiceImpl implements MonitorStatisticsService {
|
||||
|
||||
private final CommTerminalService commTerminalService;
|
||||
private final DictTreeFeignClient dictTreeFeignClient;
|
||||
|
||||
@Override
|
||||
public List<List<String>> getGwMonitorStatistics(String deptId) {
|
||||
List<List<String>> info = new ArrayList<>();
|
||||
//查询所有一级树字典
|
||||
List<SysDicTreePO> sysDicTreePOList = dictTreeFeignClient.queryAll().getData();
|
||||
|
||||
//监测点大类
|
||||
List<SysDicTreePO> broadCategory = sysDicTreePOList.stream()
|
||||
.filter(item -> Objects.equals(item.getPid(), "0"))
|
||||
.filter(item -> !Objects.equals(item.getCode(), DicDataTypeEnum.DEVICE_UNIT.getCode()))
|
||||
.collect(Collectors.toList());
|
||||
broadCategory.sort(Comparator.comparing(SysDicTreePO::getSort));
|
||||
|
||||
List<String> list = new ArrayList<>();
|
||||
list.add("");
|
||||
List<String> collect = broadCategory.stream().map(SysDicTreePO::getName).collect(Collectors.toList());
|
||||
list.addAll(collect);
|
||||
list.add("合计");
|
||||
//获取主网监测统计
|
||||
Map<String, List<String>> metWorkMap = mapDicIds(broadCategory, sysDicTreePOList);
|
||||
|
||||
//筛选典型源荷统计
|
||||
List<SysDicTreePO> sourceLoad = sysDicTreePOList.stream().filter(item ->
|
||||
Objects.equals(DicTreeEnum.Power_Station.getCode(), item.getCode()) ||
|
||||
Objects.equals(DicTreeEnum.Ele_Railways.getCode(), item.getCode()) ||
|
||||
Objects.equals(DicTreeEnum.Wind_Farms.getCode(), item.getCode()) ||
|
||||
Objects.equals(DicTreeEnum.Imp_Users.getCode(), item.getCode())
|
||||
).collect(Collectors.toList());
|
||||
sourceLoad.sort(Comparator.comparing(SysDicTreePO::getSort));
|
||||
//获取典型源荷监测统计
|
||||
Map<String, List<String>> sourceLoadMap = mapDicIds(sourceLoad, sysDicTreePOList);
|
||||
list.addAll(sourceLoad.stream().map(SysDicTreePO::getName).collect(Collectors.toList()));
|
||||
list.add("其他");
|
||||
list.add("合计");
|
||||
info.add(list);
|
||||
//筛选出国网统计信息
|
||||
DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
|
||||
deptGetLineParam.setDeptId(deptId);
|
||||
deptGetLineParam.setMonitorStateRunning(false);
|
||||
List<DeptGetChildrenMoreDTO> deptGetChildrenMoreDTOS = commTerminalService.deptGetLine(deptGetLineParam);
|
||||
//部门信息循环
|
||||
List<String> line;
|
||||
for (DeptGetChildrenMoreDTO deptMonitor : deptGetChildrenMoreDTOS) {
|
||||
line = new ArrayList<>();
|
||||
line.add(deptMonitor.getUnitName());
|
||||
List<LineDevGetDTO> lineBaseList = deptMonitor.getLineBaseList();
|
||||
if(CollUtil.isEmpty(lineBaseList)){
|
||||
continue;
|
||||
}
|
||||
List<LineDevGetDTO> upToGridList = lineBaseList.stream().filter(item -> Objects.equals(item.getIsUpToGrid(), DataStateEnum.ENABLE.getCode()))
|
||||
.collect(Collectors.toList());
|
||||
addmetWorkList(metWorkMap, upToGridList, line);
|
||||
addSourceLoadList(sourceLoadMap, upToGridList, line);
|
||||
info.add(line);
|
||||
}
|
||||
return info;
|
||||
}
|
||||
|
||||
private List<String> addmetWorkList(Map<String, List<String>> mapSourceLoad, List<LineDevGetDTO> upToGridList, List<String> line) {
|
||||
long total = 0;
|
||||
for (String s : mapSourceLoad.keySet()) {
|
||||
List<String> value = mapSourceLoad.get(s);
|
||||
long monitorCount = upToGridList.stream().filter(item -> value.contains(item.getObjType()) &&
|
||||
Objects.equals(item.getMonitorUploadStatus(), DataStateEnum.ENABLE.getCode())
|
||||
).map(LineDevGetDTO::getPointId).count();
|
||||
total += monitorCount;
|
||||
line.add(String.valueOf(monitorCount));
|
||||
}
|
||||
line.add(String.valueOf(total));
|
||||
return line;
|
||||
}
|
||||
private List<String> addSourceLoadList(Map<String, List<String>> mapSourceLoad, List<LineDevGetDTO> upToGridList, List<String> line) {
|
||||
long total = 0;
|
||||
for (String s : mapSourceLoad.keySet()) {
|
||||
List<String> value = mapSourceLoad.get(s);
|
||||
long monitorCount = upToGridList.stream().filter(item -> value.contains(item.getObjType()) &&
|
||||
Objects.equals(item.getIsUploadHead(), DataStateEnum.ENABLE.getCode())
|
||||
).map(LineDevGetDTO::getPointId).count();
|
||||
total += monitorCount;
|
||||
line.add(String.valueOf(monitorCount));
|
||||
}
|
||||
List<String> sourceLoad = mapSourceLoad.values().stream().flatMap(list -> list.stream()).distinct().collect(Collectors.toList());
|
||||
long count = upToGridList.stream().filter(item -> !sourceLoad.contains(item.getObjType()) &&
|
||||
Objects.equals(item.getIsUploadHead(), DataStateEnum.ENABLE.getCode())
|
||||
).map(LineDevGetDTO::getPointId).count();
|
||||
line.add(String.valueOf(count));
|
||||
total += count;
|
||||
line.add(String.valueOf(total));
|
||||
return line;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @param objType 监测点对象类型大类
|
||||
* @param objTypeAll 监测点所有对象类型
|
||||
* @return
|
||||
*/
|
||||
private Map<String, List<String>> mapDicIds(List<SysDicTreePO> objType, List<SysDicTreePO> objTypeAll) {
|
||||
Map<String, List<String>> mapKey = new LinkedHashMap<>();
|
||||
for(SysDicTreePO load : objType){
|
||||
List<String> ids = objTypeAll.stream().filter(item -> item.getPid().equals(load.getId()) ||
|
||||
item.getId().equals(load.getId())
|
||||
).map(SysDicTreePO::getId).collect(Collectors.toList());;
|
||||
mapKey.put(load.getCode(), ids);
|
||||
}
|
||||
return mapKey;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,141 @@
|
||||
package com.njcn.device.pms.service.gwPush.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.device.pms.enums.PmsDeviceResponseEnum;
|
||||
import com.njcn.device.pms.mapper.majornetwork.PmsNewEnergyMapper;
|
||||
import com.njcn.device.pms.pojo.param.NewEnergyQueryParam;
|
||||
import com.njcn.device.pms.pojo.po.*;
|
||||
import com.njcn.device.pms.service.gwPush.IPmsNewEnergyService;
|
||||
import com.njcn.device.pms.service.majornetwork.IMonitorService;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import com.njcn.web.factory.PageFactory;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author wr
|
||||
* @since 2024-03-26
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class PmsNewEnergyServiceImpl extends ServiceImpl<PmsNewEnergyMapper, PmsNewEnergy> implements IPmsNewEnergyService {
|
||||
|
||||
private final DeptFeignClient deptFeignClient;
|
||||
private final IMonitorService monitorService;
|
||||
@Override
|
||||
public Page<PmsNewEnergy> getNewEnergyList(NewEnergyQueryParam baseParam) {
|
||||
List<String> orgIds = new ArrayList<>();
|
||||
if(StrUtil.isNotBlank(baseParam.getOrgId())){
|
||||
orgIds.addAll(deptFeignClient.getDepSonSelfCodetByDeptId(baseParam.getOrgId()).getData());
|
||||
}
|
||||
|
||||
LambdaQueryWrapper<PmsNewEnergy> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(PmsNewEnergy::getState,DataStateEnum.ENABLE.getCode())
|
||||
.in(CollUtil.isNotEmpty(orgIds),PmsNewEnergy::getOrgId,orgIds);
|
||||
if(StrUtil.isNotBlank(baseParam.getSearchValue())) {
|
||||
lambdaQueryWrapper.and(i -> i.like(PmsNewEnergy::getObjName, baseParam.getSearchValue())
|
||||
.or()
|
||||
.like(PmsNewEnergy::getOrgName, baseParam.getSearchValue())
|
||||
.or()
|
||||
.like(PmsNewEnergy::getPowerrName, baseParam.getSearchValue()));
|
||||
}
|
||||
lambdaQueryWrapper.orderByDesc(PmsNewEnergy::getCreateTime);
|
||||
//初始化分页数据
|
||||
return this.page(new Page<>(PageFactory.getPageNum(baseParam), PageFactory.getPageSize(baseParam)), lambdaQueryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PmsNewEnergy> getNewEnergySelectList(String orgId) {
|
||||
LambdaQueryWrapper<PmsNewEnergy> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(PmsNewEnergy::getState,DataStateEnum.ENABLE.getCode());
|
||||
if(StrUtil.isNotBlank(orgId)){
|
||||
List<String> deptCodes = deptFeignClient.getDepSonSelfCodetByDeptId(orgId).getData();
|
||||
lambdaQueryWrapper.in(PmsNewEnergy::getOrgId,deptCodes);
|
||||
}
|
||||
return this.list(lambdaQueryWrapper);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public boolean add(NewEnergyQueryParam.Info param) {
|
||||
List<PmsNewEnergy> list = this.list(new LambdaQueryWrapper<PmsNewEnergy>()
|
||||
.eq(PmsNewEnergy::getState,DataStateEnum.ENABLE.getCode())
|
||||
.eq(PmsNewEnergy::getId, param.getId())
|
||||
.or(wrapper ->
|
||||
wrapper.eq(PmsNewEnergy::getObjName, param.getOrgName())
|
||||
)
|
||||
);
|
||||
if (CollectionUtil.isNotEmpty(list)) {
|
||||
List<String> collect = list.stream().map(PmsNewEnergy::getObjName).collect(Collectors.toList());
|
||||
if(collect.contains(param.getObjName())){
|
||||
throw new BusinessException(PmsDeviceResponseEnum.MODEL_NAME_REPEAT);
|
||||
}
|
||||
throw new BusinessException(PmsDeviceResponseEnum.NE_ENERGY_ID);
|
||||
}
|
||||
PmsNewEnergy pmsNewEnergy = new PmsNewEnergy();
|
||||
BeanUtils.copyProperties(param, pmsNewEnergy);
|
||||
return this.save(pmsNewEnergy);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改监测终端台账
|
||||
* @author hany
|
||||
* @date 2022/10/27
|
||||
*/
|
||||
@Override
|
||||
public boolean update(NewEnergyQueryParam.Info param) {
|
||||
List<PmsNewEnergy> list = this.list(new LambdaQueryWrapper<PmsNewEnergy>()
|
||||
.eq(PmsNewEnergy::getState,DataStateEnum.ENABLE.getCode())
|
||||
.ne(PmsNewEnergy::getId, param.getId())
|
||||
.and(wrapper ->
|
||||
wrapper.eq(PmsNewEnergy::getObjName, param.getObjName())
|
||||
)
|
||||
);
|
||||
if (CollectionUtil.isNotEmpty(list)) {
|
||||
List<String> collect = list.stream().map(PmsNewEnergy::getObjName).collect(Collectors.toList());
|
||||
if(collect.contains(param.getObjName())){
|
||||
throw new BusinessException(PmsDeviceResponseEnum.MODEL_NAME_REPEAT);
|
||||
}
|
||||
}
|
||||
PmsNewEnergy pmsNewEnergy = BeanUtil.copyProperties(param, PmsNewEnergy.class);
|
||||
return this.updateById(pmsNewEnergy);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除
|
||||
* @param ids
|
||||
*/
|
||||
@Override
|
||||
public boolean delete(List<String> ids) {
|
||||
//删除前需要判断依赖终端的监测点是否存在
|
||||
LambdaQueryWrapper<Monitor> monitorLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
monitorLambdaQueryWrapper.in(Monitor::getTractionId,ids).eq(Monitor::getStatus,DataStateEnum.ENABLE.getCode());
|
||||
int mCount = monitorService.count(monitorLambdaQueryWrapper);
|
||||
if(mCount>0){
|
||||
throw new BusinessException(PmsDeviceResponseEnum.MONITOR_NE_ENERGY_FIND);
|
||||
}
|
||||
return this.update(new LambdaUpdateWrapper<PmsNewEnergy>()
|
||||
.set(PmsNewEnergy::getState, DataStateEnum.DELETED.getCode())
|
||||
.in(PmsNewEnergy::getId, ids));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -129,7 +129,9 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
||||
|
||||
Map<String, List<Monitor>> map = new HashMap<>();
|
||||
if (deptGetLineParam.getSystemType() == 0 || deptGetLineParam.getSystemType() == 2) {
|
||||
List<Monitor> monitorList = monitorMapper.selectList(new LambdaQueryWrapper<Monitor>().eq(Monitor::getStatus, 1).eq(Monitor::getMonitorState, dictData.getId()));
|
||||
List<Monitor> monitorList = monitorMapper.selectList(new LambdaQueryWrapper<Monitor>()
|
||||
.eq(Monitor::getStatus, 1)
|
||||
.eq(deptGetLineParam.getMonitorStateRunning(),Monitor::getMonitorState, dictData.getId()));
|
||||
map = monitorList.stream().collect(Collectors.groupingBy(Monitor::getOrgId));
|
||||
}
|
||||
//TODO 配网数据量巨大,暂时注释
|
||||
@@ -168,6 +170,8 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
||||
//预处理模块需要的id修改value为id
|
||||
lineDevGetDTO.setVoltageLevel(it.getVoltageLevel());
|
||||
lineDevGetDTO.setIsUpToGrid(it.getIsUpToGrid());
|
||||
lineDevGetDTO.setIsUploadHead(it.getIsUploadHead());
|
||||
lineDevGetDTO.setMonitorUploadStatus(it.getMonitorUploadStatus());
|
||||
lineList.add(lineDevGetDTO);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -83,8 +83,11 @@ public class PowerDistributionareaServiceImpl extends ServiceImpl<PowerDistribut
|
||||
|
||||
@Override
|
||||
public Page<PowerDistributionarea> getList(BaseParam baseParam) {
|
||||
List<Dept> deptInfo = deptFeignClient.getAllDept().getData();
|
||||
List<String> deptIds = deptInfo.stream().map(Dept::getCode).collect(Collectors.toList());
|
||||
LambdaQueryWrapper<PowerDistributionarea> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(PowerDistributionarea::getStatus,DataStateEnum.ENABLE.getCode())
|
||||
.in(CollUtil.isNotEmpty(deptIds),PowerDistributionarea::getOrgId,deptIds)
|
||||
.and(StrUtil.isNotBlank(baseParam.getSearchValue()),
|
||||
i->i.like(PowerDistributionarea::getName,baseParam.getSearchValue())
|
||||
.or()
|
||||
|
||||
@@ -43,7 +43,7 @@ public class SpecialAnalysisServiceImpl implements SpecialAnalysisService {
|
||||
List<DictData> voltageLevelList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData();
|
||||
//将电压信息转成map,key:id value:name
|
||||
Map<String, String> voltageLevelMap = voltageLevelList.stream().collect(Collectors.toMap(DictData::getId, DictData::getName));
|
||||
|
||||
DictData dictData = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.LINE_STATE.getName(), DicDataEnum.RUN.getName()).getData();
|
||||
//专项分析-只是统计当前所在部门及下部门直接挂钩的监测点
|
||||
List<Dept> deptList = deptFeignClient.getSpecialDeptList().getData();
|
||||
List<String> deptIds = deptList.stream().map(Dept::getCode).collect(Collectors.toList());
|
||||
@@ -64,7 +64,7 @@ public class SpecialAnalysisServiceImpl implements SpecialAnalysisService {
|
||||
break;
|
||||
}
|
||||
//1.获取原始数据(参数1,部门id。参数2,监测点标签字典id集合)
|
||||
List<SpecialAnalysisMonitorVO.SpecialAnalysisVO> infoList = specialAnalysisMapper.selectList(deptIds, data.getId());
|
||||
List<SpecialAnalysisMonitorVO.SpecialAnalysisVO> infoList = specialAnalysisMapper.selectList(deptIds, data.getId(),dictData.getId());
|
||||
|
||||
//获取部门区域
|
||||
if (CollectionUtil.isNotEmpty(infoList)) {
|
||||
|
||||
Reference in New Issue
Block a user