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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user