1.河北修改
This commit is contained in:
@@ -0,0 +1,35 @@
|
|||||||
|
package com.njcn.device.pms.pojo.dto;
|
||||||
|
|
||||||
|
import com.njcn.web.pojo.param.BaseParam;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* pqs
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @date 2024/4/17
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
public class MonitorIntegrityDataDTO extends BaseParam {
|
||||||
|
|
||||||
|
private String monitorName;
|
||||||
|
|
||||||
|
private String monitorId;
|
||||||
|
|
||||||
|
|
||||||
|
private String deptId;
|
||||||
|
|
||||||
|
private String deptName;
|
||||||
|
|
||||||
|
private Integer isUpToGrid;
|
||||||
|
|
||||||
|
private String stationName;
|
||||||
|
|
||||||
|
private Float integrityRate;
|
||||||
|
|
||||||
|
private Double limitValue;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
package com.njcn.device.pms.pojo.po;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||||
|
import com.njcn.db.bo.BaseEntity;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* pqs
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @date 2024/4/17
|
||||||
|
*/
|
||||||
|
@TableName(value = "pms_run_statistic")
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
public class PmsRunStatistic extends BaseEntity {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
@MppMultiId
|
||||||
|
private LocalDate statisticDate;
|
||||||
|
|
||||||
|
@MppMultiId
|
||||||
|
private String deptId;
|
||||||
|
|
||||||
|
private String runMonitorIds;
|
||||||
|
|
||||||
|
private String runDevIds;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
package com.njcn.device.pms.controller.majornetwork;
|
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
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.pojo.dto.MonitorIntegrityDataDTO;
|
||||||
|
import com.njcn.device.pms.service.majornetwork.IRStatIntegrityDService;
|
||||||
|
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
|
||||||
|
import com.njcn.device.pq.pojo.param.LineIntegrityDataParam;
|
||||||
|
import com.njcn.device.pq.pojo.vo.LineIntegrityDataVO;
|
||||||
|
import com.njcn.harmonic.pojo.vo.IntegrityIconVO;
|
||||||
|
import com.njcn.web.controller.BaseController;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiImplicitParam;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 监测点数据完整性列表
|
||||||
|
* @author yzh
|
||||||
|
* @date 2022/9/9
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
@Api(tags = "监测点数据完整性列表")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/monitorIntegrity")
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class LineIntegrityDataController extends BaseController {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private final IRStatIntegrityDService irStatIntegrityDService;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 监测点数据完整性
|
||||||
|
*/
|
||||||
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||||
|
@PostMapping("/getMonitorIntegrityData")
|
||||||
|
@ApiOperation("监测点数据完整性")
|
||||||
|
@ApiImplicitParam(name = "monitorIntegrityDataDTO", value = "参数实体", required = true)
|
||||||
|
public HttpResult<Page<MonitorIntegrityDataDTO>> getIntegrityData(@RequestBody MonitorIntegrityDataDTO monitorIntegrityDataDTO) {
|
||||||
|
String methodDescribe = getMethodDescribe("getMonitorIntegrityData");
|
||||||
|
Page<MonitorIntegrityDataDTO> monitorIntegrityDataDTOList = irStatIntegrityDService.getMonitorIntegrityData(monitorIntegrityDataDTO);
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,monitorIntegrityDataDTOList,methodDescribe);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package com.njcn.device.pms.mapper.majornetwork;
|
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.njcn.device.pq.pojo.param.LineBaseQueryParam;
|
||||||
|
import com.njcn.device.pq.pojo.param.OnlineRateParam;
|
||||||
|
import com.njcn.device.pq.pojo.po.LineDataIntegrity;
|
||||||
|
import com.njcn.device.pq.pojo.po.RStatIntegrityD;
|
||||||
|
import com.njcn.device.pq.pojo.vo.RStatIntegrityVO;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 数据完整性日表 Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-03-28
|
||||||
|
*/
|
||||||
|
public interface RStatIntegrityDMapper extends BaseMapper<RStatIntegrityD> {
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
package com.njcn.device.pms.service.majornetwork;
|
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.njcn.device.pms.pojo.dto.MonitorIntegrityDataDTO;
|
||||||
|
import com.njcn.device.pq.pojo.param.LineBaseQueryParam;
|
||||||
|
import com.njcn.device.pq.pojo.po.RStatIntegrityD;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2024/4/17
|
||||||
|
*/
|
||||||
|
public interface IRStatIntegrityDService extends IService<RStatIntegrityD> {
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @date 2024/4/17
|
||||||
|
*/
|
||||||
|
Page<MonitorIntegrityDataDTO> getMonitorIntegrityData(MonitorIntegrityDataDTO monitorIntegrityDataDTO);
|
||||||
|
}
|
||||||
@@ -0,0 +1,80 @@
|
|||||||
|
package com.njcn.device.pms.service.majornetwork.impl;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.njcn.device.biz.commApi.CommLineClient;
|
||||||
|
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||||
|
import com.njcn.device.pms.mapper.majornetwork.MonitorMapper;
|
||||||
|
import com.njcn.device.pms.mapper.majornetwork.RStatIntegrityDMapper;
|
||||||
|
import com.njcn.device.pms.pojo.dto.MonitorIntegrityDataDTO;
|
||||||
|
import com.njcn.device.pms.pojo.po.Monitor;
|
||||||
|
import com.njcn.device.pms.service.majornetwork.IRStatIntegrityDService;
|
||||||
|
import com.njcn.device.pq.pojo.param.LineBaseQueryParam;
|
||||||
|
import com.njcn.device.pq.pojo.po.RStatIntegrityD;
|
||||||
|
|
||||||
|
import com.njcn.user.api.DeptFeignClient;
|
||||||
|
import com.njcn.web.factory.PageFactory;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.function.Function;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 数据完整性日表 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2023-03-28
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class RStatIntegrityDServiceImpl extends ServiceImpl<RStatIntegrityDMapper, RStatIntegrityD> implements IRStatIntegrityDService {
|
||||||
|
|
||||||
|
private final DeptFeignClient deptFeignClient;
|
||||||
|
|
||||||
|
private final MonitorMapper monitorMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Page<MonitorIntegrityDataDTO> getMonitorIntegrityData(MonitorIntegrityDataDTO monitorIntegrityDataDTO) {
|
||||||
|
Page<MonitorIntegrityDataDTO> pageResult =new Page<>(PageFactory.getPageNum(monitorIntegrityDataDTO),PageFactory.getPageSize(monitorIntegrityDataDTO));
|
||||||
|
|
||||||
|
List<String> deptCodes = deptFeignClient.getDepSonSelfCodetByDeptId(monitorIntegrityDataDTO.getDeptId()).getData();
|
||||||
|
List<Monitor> monitorList = monitorMapper.selectList(new LambdaQueryWrapper<Monitor>().select(Monitor::getId,Monitor::getName,Monitor::getOrgName,Monitor::getPowerrName)
|
||||||
|
.in(Monitor::getOrgId,deptCodes).eq(Objects.nonNull(monitorIntegrityDataDTO.getIsUpToGrid()),Monitor::getIsUpToGrid,monitorIntegrityDataDTO.getIsUpToGrid()));
|
||||||
|
|
||||||
|
List<String> monitorIds = monitorList.stream().map(Monitor::getId).collect(Collectors.toList());
|
||||||
|
|
||||||
|
Map<String,Monitor> map = monitorList.stream().collect(Collectors.toMap(Monitor::getId, Function.identity()));
|
||||||
|
|
||||||
|
QueryWrapper<RStatIntegrityD> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.select("ROUND(sum(real_time)/sum(due_time),3) as integrityData,line_index as lineIndex").lambda()
|
||||||
|
.between(RStatIntegrityD::getTimeId,monitorIntegrityDataDTO.getSearchBeginTime(),monitorIntegrityDataDTO.getSearchEndTime())
|
||||||
|
.in(RStatIntegrityD::getLineIndex,monitorIds).last("group by lineIndex");
|
||||||
|
Page<RStatIntegrityD> page = this.page(new Page<>(PageFactory.getPageNum(monitorIntegrityDataDTO),PageFactory.getPageSize(monitorIntegrityDataDTO)),queryWrapper);
|
||||||
|
List<MonitorIntegrityDataDTO> monitorIntegrityDataDTOList = page.getRecords().stream().map(item->{
|
||||||
|
MonitorIntegrityDataDTO monitorIntegrityDataDTOTem = new MonitorIntegrityDataDTO();
|
||||||
|
monitorIntegrityDataDTOTem.setMonitorId(item.getLineIndex());
|
||||||
|
|
||||||
|
Monitor monitor = map.get(item.getLineIndex());
|
||||||
|
monitorIntegrityDataDTOTem.setMonitorName(monitor.getName());
|
||||||
|
monitorIntegrityDataDTOTem.setDeptName(monitor.getOrgName());
|
||||||
|
monitorIntegrityDataDTOTem.setIntegrityRate(item.getIntegrityData());
|
||||||
|
monitorIntegrityDataDTOTem.setStationName(monitor.getPowerrName());
|
||||||
|
|
||||||
|
return monitorIntegrityDataDTOTem;
|
||||||
|
}).collect(Collectors.toList());
|
||||||
|
pageResult.setRecords(monitorIntegrityDataDTOList);
|
||||||
|
pageResult.setTotal(page.getTotal());
|
||||||
|
return pageResult;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -213,13 +213,13 @@ public class IRDimBusGlobalDController extends BaseController {
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增重算月数据
|
* 选择月,会补招这个月每天的数据
|
||||||
* @author cdf
|
* @author cdf
|
||||||
* @date 2024/3/22
|
* @date 2024/3/22
|
||||||
*/
|
*/
|
||||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||||
@GetMapping("/reCalMonthUploadAlgorithm")
|
@GetMapping("/reCalMonthUploadAlgorithm")
|
||||||
@ApiOperation("重新计算四个算法")
|
@ApiOperation("补招月每天的数据")
|
||||||
@ApiImplicitParam(name = "statisticDate", value = "重新计算的月份", required = true)
|
@ApiImplicitParam(name = "statisticDate", value = "重新计算的月份", required = true)
|
||||||
public HttpResult<String> reCalUploadAlgorithmAllMonth(@DateTimeStrValid(format = "yyyy-MM") @RequestParam("statisticDate") String statisticDate,@RequestParam("type") String type) {
|
public HttpResult<String> reCalUploadAlgorithmAllMonth(@DateTimeStrValid(format = "yyyy-MM") @RequestParam("statisticDate") String statisticDate,@RequestParam("type") String type) {
|
||||||
String methodDescribe = getMethodDescribe("reCalUploadAlgorithmAllMonth");
|
String methodDescribe = getMethodDescribe("reCalUploadAlgorithmAllMonth");
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package com.njcn.prepare.harmonic.mapper.mysql.line;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||||
|
import com.njcn.device.pms.pojo.po.PmsRunStatistic;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2024-04-17
|
||||||
|
*/
|
||||||
|
public interface PmsRunStatisticMapper extends MppBaseMapper<PmsRunStatistic> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -6,15 +6,21 @@ import cn.hutool.core.date.DatePattern;
|
|||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.IdUtil;
|
import cn.hutool.core.util.IdUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||||
|
import com.njcn.device.biz.commApi.CommLineClient;
|
||||||
|
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||||
|
import com.njcn.device.biz.pojo.dto.LineDTO;
|
||||||
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
||||||
|
import com.njcn.device.pms.pojo.po.PmsRunStatistic;
|
||||||
import com.njcn.device.pq.pojo.po.RStatIntegrityD;
|
import com.njcn.device.pq.pojo.po.RStatIntegrityD;
|
||||||
import com.njcn.harmonic.pojo.po.upload.RUploadPointStatisticalDataD;
|
import com.njcn.harmonic.pojo.po.upload.RUploadPointStatisticalDataD;
|
||||||
import com.njcn.prepare.harmonic.enums.UploadEnum;
|
import com.njcn.prepare.harmonic.enums.UploadEnum;
|
||||||
import com.njcn.prepare.harmonic.mapper.mysql.area.ROperatingIndexDPOMapper;
|
import com.njcn.prepare.harmonic.mapper.mysql.area.ROperatingIndexDPOMapper;
|
||||||
import com.njcn.prepare.harmonic.mapper.mysql.day.RStatIntegrityDMapper;
|
import com.njcn.prepare.harmonic.mapper.mysql.day.RStatIntegrityDMapper;
|
||||||
|
import com.njcn.prepare.harmonic.mapper.mysql.line.PmsRunStatisticMapper;
|
||||||
import com.njcn.prepare.harmonic.mapper.mysql.upload.RUploadPointStatisticalDataDMapper;
|
import com.njcn.prepare.harmonic.mapper.mysql.upload.RUploadPointStatisticalDataDMapper;
|
||||||
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||||
import com.njcn.prepare.harmonic.pojo.dto.UploadPointStatisticalParam;
|
import com.njcn.prepare.harmonic.pojo.dto.UploadPointStatisticalParam;
|
||||||
@@ -37,6 +43,8 @@ import java.util.*;
|
|||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import static java.util.stream.Collectors.toList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* 主配网监测点统计数据-日表 服务实现类
|
* 主配网监测点统计数据-日表 服务实现类
|
||||||
@@ -50,13 +58,17 @@ import java.util.stream.Collectors;
|
|||||||
public class RUploadPointStatisticalDataDServiceImpl extends MppServiceImpl<RUploadPointStatisticalDataDMapper, RUploadPointStatisticalDataD> implements IRUploadPointStatisticalDataDService {
|
public class RUploadPointStatisticalDataDServiceImpl extends MppServiceImpl<RUploadPointStatisticalDataDMapper, RUploadPointStatisticalDataD> implements IRUploadPointStatisticalDataDService {
|
||||||
|
|
||||||
private final DeptFeignClient deptFeignClient;
|
private final DeptFeignClient deptFeignClient;
|
||||||
private final ROperatingIndexDPOMapper rOperatingIndexDPOMapper;
|
|
||||||
private final RStatIntegrityDMapper rStatIntegrityDMapper;
|
private final RStatIntegrityDMapper rStatIntegrityDMapper;
|
||||||
|
|
||||||
private final DictTreeFeignClient dictTreeFeignClient;
|
private final DictTreeFeignClient dictTreeFeignClient;
|
||||||
|
|
||||||
private final DicDataFeignClient dicDataFeignClient;
|
private final DicDataFeignClient dicDataFeignClient;
|
||||||
|
|
||||||
|
private final PmsRunStatisticMapper pmsRunStatisticMapper;
|
||||||
|
|
||||||
|
private final CommLineClient commLineClient;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 此算法用于计算底层数据,方便国网数据上送
|
* 此算法用于计算底层数据,方便国网数据上送
|
||||||
* 1.表中存储所有单位,没有数据的暂时设置为0
|
* 1.表中存储所有单位,没有数据的暂时设置为0
|
||||||
@@ -65,6 +77,8 @@ public class RUploadPointStatisticalDataDServiceImpl extends MppServiceImpl<RUpl
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void insertPointStatisticalDataDay(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam) {
|
public void insertPointStatisticalDataDay(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam) {
|
||||||
|
|
||||||
|
|
||||||
List<RUploadPointStatisticalDataD> result = new ArrayList<>();
|
List<RUploadPointStatisticalDataD> result = new ArrayList<>();
|
||||||
//获取省级单位id
|
//获取省级单位id
|
||||||
Dept data = deptFeignClient.getRootDept().getData();
|
Dept data = deptFeignClient.getRootDept().getData();
|
||||||
@@ -75,11 +89,12 @@ public class RUploadPointStatisticalDataDServiceImpl extends MppServiceImpl<RUpl
|
|||||||
List<SysDicTreePO> sysDicTreePOList = dictTreeFeignClient.queryAll().getData();
|
List<SysDicTreePO> sysDicTreePOList = dictTreeFeignClient.queryAll().getData();
|
||||||
|
|
||||||
|
|
||||||
|
//获取所有需要统计的对象类型字典
|
||||||
List<SysDicTreePO> temTreeList = sysDicTreePOList.stream().filter(item -> Objects.equals(item.getCode(), DicTreeEnum.Trans_Sub.getCode())
|
List<SysDicTreePO> temTreeList = sysDicTreePOList.stream().filter(item -> Objects.equals(item.getCode(), DicTreeEnum.Trans_Sub.getCode())
|
||||||
|| Objects.equals(item.getCode(), DicTreeEnum.Converter.getCode()) || Objects.equals(item.getCode(), DicTreeEnum.Ele_Railways.getCode())
|
|| Objects.equals(item.getCode(), DicTreeEnum.Converter.getCode()) || Objects.equals(item.getCode(), DicTreeEnum.Ele_Railways.getCode())
|
||||||
|| Objects.equals(item.getCode(), DicTreeEnum.Wind_Farms.getCode()) || Objects.equals(item.getCode(), DicTreeEnum.Power_Station.getCode())
|
|| Objects.equals(item.getCode(), DicTreeEnum.Wind_Farms.getCode()) || Objects.equals(item.getCode(), DicTreeEnum.Power_Station.getCode())
|
||||||
|| Objects.equals(item.getCode(), DicTreeEnum.Smelting_Load.getCode()) || Objects.equals(item.getCode(), DicTreeEnum.Imp_Users.getCode())
|
|| Objects.equals(item.getCode(), DicTreeEnum.Smelting_Load.getCode()) || Objects.equals(item.getCode(), DicTreeEnum.Imp_Users.getCode())
|
||||||
).collect(Collectors.toList());
|
).collect(toList());
|
||||||
|
|
||||||
Map<String, List<String>> mapKey = new HashMap<>();
|
Map<String, List<String>> mapKey = new HashMap<>();
|
||||||
List<String> otherIds = new ArrayList<>();
|
List<String> otherIds = new ArrayList<>();
|
||||||
@@ -93,18 +108,19 @@ public class RUploadPointStatisticalDataDServiceImpl extends MppServiceImpl<RUpl
|
|||||||
Objects.equals(item.getCode(), DicTreeEnum.Lifting_Load.getCode()) ||
|
Objects.equals(item.getCode(), DicTreeEnum.Lifting_Load.getCode()) ||
|
||||||
Objects.equals(item.getCode(), DicTreeEnum.Electrolytic_Load.getCode())
|
Objects.equals(item.getCode(), DicTreeEnum.Electrolytic_Load.getCode())
|
||||||
)
|
)
|
||||||
.collect(Collectors.toList());
|
.collect(toList());
|
||||||
} else {
|
} else {
|
||||||
temList = sysDicTreePOList.stream().filter(item -> item.getPid().equals(sysDicTreePO.getId()) ||
|
temList = sysDicTreePOList.stream().filter(item -> item.getPid().equals(sysDicTreePO.getId()) ||
|
||||||
item.getId().equals(sysDicTreePO.getId())
|
item.getId().equals(sysDicTreePO.getId())
|
||||||
).collect(Collectors.toList());
|
).collect(toList());
|
||||||
}
|
}
|
||||||
List<String> ids = temList.stream().map(SysDicTreePO::getId).distinct().collect(Collectors.toList());
|
List<String> ids = temList.stream().map(SysDicTreePO::getId).distinct().collect(toList());
|
||||||
mapKey.put(sysDicTreePO.getCode(), ids);
|
mapKey.put(sysDicTreePO.getCode(), ids);
|
||||||
otherIds.addAll(ids);
|
otherIds.addAll(ids);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//所属场站与对象类型存在联系
|
||||||
List<DictData> dictDataList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.Station_Type.getCode()).getData();
|
List<DictData> dictDataList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.Station_Type.getCode()).getData();
|
||||||
Map<String, DictData> dictDataMap = dictDataList.stream().collect(Collectors.toMap(DictData::getCode, Function.identity()));
|
Map<String, DictData> dictDataMap = dictDataList.stream().collect(Collectors.toMap(DictData::getCode, Function.identity()));
|
||||||
|
|
||||||
@@ -112,28 +128,56 @@ public class RUploadPointStatisticalDataDServiceImpl extends MppServiceImpl<RUpl
|
|||||||
//获取所有单位
|
//获取所有单位
|
||||||
List<Dept> deptList = deptFeignClient.getAllDept().getData();
|
List<Dept> deptList = deptFeignClient.getAllDept().getData();
|
||||||
Map<String, List<Dept>> deptMap = deptList.stream().collect(Collectors.groupingBy(Dept::getCode));
|
Map<String, List<Dept>> deptMap = deptList.stream().collect(Collectors.groupingBy(Dept::getCode));
|
||||||
//筛选国网上送监测点
|
|
||||||
List<DeptGetChildrenMoreDTO> l1 = calculatedParam.getIdList();
|
|
||||||
|
|
||||||
//获取数据个数
|
//获取数据完整性相关数据
|
||||||
List<RStatIntegrityD> dataList = getStatIntegrityData(calculatedParam.getDataDate());
|
List<RStatIntegrityD> dataList = getStatIntegrityData(calculatedParam.getDataDate());
|
||||||
l1.forEach(item -> {
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//下面先从表里获取在运测点相关数据,当表里没数据时候再从接口获取
|
||||||
|
//首先获取pms_run_statistic表是否存在执行日期的数据
|
||||||
|
List<PmsRunStatistic> pmsRunStatisticsList = pmsRunStatisticMapper.selectList(new LambdaQueryWrapper<PmsRunStatistic>().eq(PmsRunStatistic::getStatisticDate,calculatedParam.getDataDate()));
|
||||||
|
|
||||||
|
//筛选国网上送监测点
|
||||||
|
List<DeptGetChildrenMoreDTO> deptAll = calculatedParam.getIdList();
|
||||||
|
|
||||||
|
Map<String,PmsRunStatistic> pmsRunStatisticMap = pmsRunStatisticsList.stream().collect(Collectors.toMap(PmsRunStatistic::getDeptId,Function.identity()));
|
||||||
|
List<String> monitorIds = CollectionUtil.toList(pmsRunStatisticMap.get(dept.getCode()).getRunMonitorIds().split(StrUtil.COMMA));
|
||||||
|
List<LineDTO> lineDTOList = commLineClient.getLineDetailBatch(monitorIds).getData();
|
||||||
|
|
||||||
|
deptAll.forEach(item -> {
|
||||||
|
|
||||||
|
//筛选出国网
|
||||||
|
List<LineDevGetDTO> newBaseList;
|
||||||
|
|
||||||
|
//调过全国这个单位
|
||||||
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())) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(CollectionUtil.isEmpty(pmsRunStatisticsList)){
|
||||||
|
//正常流程
|
||||||
|
newBaseList = item.getLineBaseList().stream().filter(o -> Objects.equals(o.getIsUpToGrid(), 1)).collect(toList());
|
||||||
|
}else {
|
||||||
|
String[] monitorTemIds = pmsRunStatisticMap.get(item.getUnitId()).getRunMonitorIds().split(StrUtil.COMMA);
|
||||||
|
List<String> temIds = Arrays.stream(monitorTemIds).collect(toList());
|
||||||
|
|
||||||
List<LineDevGetDTO> newBaseList = item.getLineBaseList().stream().filter(o -> Objects.equals(o.getIsUpToGrid(), 1)).collect(Collectors.toList());
|
newBaseList = lineDTOList.stream().filter(o -> temIds.contains(o.getLineId())).map(it->{
|
||||||
|
LineDevGetDTO lineDevGetDTO = new LineDevGetDTO();
|
||||||
|
lineDevGetDTO.setPointId(it.getLineId());
|
||||||
|
lineDevGetDTO.setDevId(it.getDevId());
|
||||||
|
lineDevGetDTO.setObjType(it.getObjType());
|
||||||
|
return lineDevGetDTO;
|
||||||
|
}).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
List<String> upMonitorIds = newBaseList.stream().map(LineDevGetDTO::getPointId).distinct().collect(toList());
|
||||||
|
List<String> upDevIds = newBaseList.stream().map(LineDevGetDTO::getDevId).distinct().collect(toList());
|
||||||
|
|
||||||
List<String> upMonitorIds = newBaseList.stream().map(LineDevGetDTO::getPointId).distinct().collect(Collectors.toList());
|
List<LineDevGetDTO> finalNewBaseList = newBaseList;
|
||||||
List<String> upDevIds = newBaseList.stream().map(LineDevGetDTO::getDevId).distinct().collect(Collectors.toList());
|
|
||||||
|
|
||||||
|
|
||||||
mapKey.forEach((key, val) -> {
|
mapKey.forEach((key, val) -> {
|
||||||
List<LineDevGetDTO> keyItem = newBaseList.stream().filter(o -> val.contains(o.getObjType())).collect(Collectors.toList());
|
List<LineDevGetDTO> keyItem = finalNewBaseList.stream().filter(o -> val.contains(o.getObjType())).collect(toList());
|
||||||
RUploadPointStatisticalDataD rUploadPointStatisticalDataD = new RUploadPointStatisticalDataD();
|
RUploadPointStatisticalDataD rUploadPointStatisticalDataD = new RUploadPointStatisticalDataD();
|
||||||
switch (key) {
|
switch (key) {
|
||||||
case "2100":
|
case "2100":
|
||||||
@@ -178,7 +222,7 @@ public class RUploadPointStatisticalDataDServiceImpl extends MppServiceImpl<RUpl
|
|||||||
rUploadPointStatisticalDataD.setRunMonitorNum(upMonitorIds.size());
|
rUploadPointStatisticalDataD.setRunMonitorNum(upMonitorIds.size());
|
||||||
|
|
||||||
|
|
||||||
List<RStatIntegrityD> l3 = dataList.stream().filter(it -> upMonitorIds.contains(it.getLineIndex())).collect(Collectors.toList());
|
List<RStatIntegrityD> l3 = dataList.stream().filter(it -> upMonitorIds.contains(it.getLineIndex())).collect(toList());
|
||||||
int due = l3.stream().mapToInt(RStatIntegrityD::getDueTime).sum();
|
int due = l3.stream().mapToInt(RStatIntegrityD::getDueTime).sum();
|
||||||
int real = l3.stream().mapToInt(RStatIntegrityD::getRealTime).sum();
|
int real = l3.stream().mapToInt(RStatIntegrityD::getRealTime).sum();
|
||||||
rUploadPointStatisticalDataD.setExpectCollectNum(due);
|
rUploadPointStatisticalDataD.setExpectCollectNum(due);
|
||||||
@@ -216,13 +260,13 @@ public class RUploadPointStatisticalDataDServiceImpl extends MppServiceImpl<RUpl
|
|||||||
//fixme over
|
//fixme over
|
||||||
judgeLevel(item.getDeptLevel(), rUploadPointStatisticalDataD, item.getUnitId(), item.getUnitName(), deptList, deptMap);
|
judgeLevel(item.getDeptLevel(), rUploadPointStatisticalDataD, item.getUnitId(), item.getUnitName(), deptList, deptMap);
|
||||||
|
|
||||||
List<LineDevGetDTO> otherMonitor = newBaseList.stream().filter(me -> !otherIds.contains(me.getObjType())).collect(Collectors.toList());
|
List<LineDevGetDTO> otherMonitor = newBaseList.stream().filter(me -> !otherIds.contains(me.getObjType())).collect(toList());
|
||||||
long pointCount = otherMonitor.stream().map(LineDevGetDTO::getPointId).distinct().count();
|
long pointCount = otherMonitor.stream().map(LineDevGetDTO::getPointId).distinct().count();
|
||||||
rUploadPointStatisticalDataD.setRunTerminalNum(upDevIds.size());
|
rUploadPointStatisticalDataD.setRunTerminalNum(upDevIds.size());
|
||||||
rUploadPointStatisticalDataD.setRunMonitorNum(upMonitorIds.size());
|
rUploadPointStatisticalDataD.setRunMonitorNum(upMonitorIds.size());
|
||||||
|
|
||||||
|
|
||||||
List<RStatIntegrityD> l3 = dataList.stream().filter(it -> newBaseList.stream().map(LineDevGetDTO::getPointId).collect(Collectors.toList()).contains(it.getLineIndex())).collect(Collectors.toList());
|
List<RStatIntegrityD> l3 = dataList.stream().filter(it -> newBaseList.stream().map(LineDevGetDTO::getPointId).collect(toList()).contains(it.getLineIndex())).collect(toList());
|
||||||
int due = l3.stream().mapToInt(RStatIntegrityD::getDueTime).sum();
|
int due = l3.stream().mapToInt(RStatIntegrityD::getDueTime).sum();
|
||||||
int real = l3.stream().mapToInt(RStatIntegrityD::getRealTime).sum();
|
int real = l3.stream().mapToInt(RStatIntegrityD::getRealTime).sum();
|
||||||
rUploadPointStatisticalDataD.setExpectCollectNum(due);
|
rUploadPointStatisticalDataD.setExpectCollectNum(due);
|
||||||
@@ -243,6 +287,8 @@ public class RUploadPointStatisticalDataDServiceImpl extends MppServiceImpl<RUpl
|
|||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (CollectionUtil.isNotEmpty(result)) {
|
if (CollectionUtil.isNotEmpty(result)) {
|
||||||
//查询数据如果有数据,将data_id置为null,这样就保留之前的唯一id
|
//查询数据如果有数据,将data_id置为null,这样就保留之前的唯一id
|
||||||
LambdaQueryWrapper<RUploadPointStatisticalDataD> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<RUploadPointStatisticalDataD> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
@@ -434,7 +480,7 @@ public class RUploadPointStatisticalDataDServiceImpl extends MppServiceImpl<RUpl
|
|||||||
rUploadPointStatisticalDataD.setCountyId("");
|
rUploadPointStatisticalDataD.setCountyId("");
|
||||||
} else if (Objects.equals(level, Integer.parseInt(UploadEnum.NJCN_DEPT_LEVEL_4.getCode()))) {
|
} else if (Objects.equals(level, Integer.parseInt(UploadEnum.NJCN_DEPT_LEVEL_4.getCode()))) {
|
||||||
result = UploadEnum.STATISTICAL_LEVEL_5.getCode();
|
result = UploadEnum.STATISTICAL_LEVEL_5.getCode();
|
||||||
List<String> list = Arrays.stream(map.get(id).get(0).getPids().split(",")).map(String::trim).collect(Collectors.toList());
|
List<String> list = Arrays.stream(map.get(id).get(0).getPids().split(",")).map(String::trim).collect(toList());
|
||||||
String parentCode = deptList.stream().filter(o -> Objects.equals(o.getId(), list.get(3))).findFirst().orElse(null).getCode();
|
String parentCode = deptList.stream().filter(o -> Objects.equals(o.getId(), list.get(3))).findFirst().orElse(null).getCode();
|
||||||
rUploadPointStatisticalDataD.setCityId(parentCode);
|
rUploadPointStatisticalDataD.setCityId(parentCode);
|
||||||
rUploadPointStatisticalDataD.setCityName(map.get(parentCode).get(0).getName());
|
rUploadPointStatisticalDataD.setCityName(map.get(parentCode).get(0).getName());
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
package com.njcn.system.timer.tasks;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DatePattern;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||||
|
import com.njcn.system.timer.TimerTaskRunner;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* pqs
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @date 2024/4/17
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class PmsRunStatisticTaskRunner implements TimerTaskRunner {
|
||||||
|
|
||||||
|
private final CommTerminalGeneralClient commTerminalGeneralClient;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void action(String date) {
|
||||||
|
if(StrUtil.isBlank(date)){
|
||||||
|
date = DateUtil.format(DateUtil.yesterday(),DatePattern.NORM_DATE_PATTERN);
|
||||||
|
}
|
||||||
|
commTerminalGeneralClient.runLedgerStatistic(date);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user