CF2-37: Репорты переделаны в одну из категорий Документов

This commit is contained in:
KharchenkoVV 2021-07-27 16:51:32 +05:00
parent 55f68b99e5
commit 0ea895e1f6
13 changed files with 127 additions and 81 deletions

View File

@ -133,7 +133,10 @@ export default function Report(props) {
let end = rangeDate[1].toISOString()
try {
const taskId = await ReportService.createReport(wellId, values.step, values.format, begin, end)
const idUser = localStorage['userId'];
const taskId = await ReportService.createReport(wellId,
idUser, values.step, values.format, begin, end)
if(!taskId)
return
@ -191,7 +194,8 @@ export default function Report(props) {
let end = rangeDate[1].toISOString()
try {
setLoader(true)
let suitableReportsResponse = await ReportService.getSuitableReportsNames(wellId, step, format, begin, end)
let suitableReportsResponse = await ReportService.getSuitableReportsNames(wellId, step, format, begin, end) ?? []
let suitableReports = suitableReportsResponse.map(value => {
return {
key: value.id,

View File

@ -16,16 +16,17 @@ export type { FilePropertiesDto } from './models/FilePropertiesDto';
export type { FilePropertiesDtoPaginationContainer } from './models/FilePropertiesDtoPaginationContainer';
export type { MessageDto } from './models/MessageDto';
export type { MessageDtoPaginationContainer } from './models/MessageDtoPaginationContainer';
export type { OperationDto } from './models/OperationDto';
export type { OperationDtoPaginationContainer } from './models/OperationDtoPaginationContainer';
export type { OperationDurationDto } from './models/OperationDurationDto';
export type { TelemetryInfoDto } from './models/TelemetryInfoDto';
export type { TelemetryMessageDto } from './models/TelemetryMessageDto';
export type { TelemetryOperationDto } from './models/TelemetryOperationDto';
export type { TelemetryOperationDtoPaginationContainer } from './models/TelemetryOperationDtoPaginationContainer';
export type { TelemetryOperationDurationDto } from './models/TelemetryOperationDurationDto';
export type { TelemetryUserDto } from './models/TelemetryUserDto';
export type { UserTokenDto } from './models/UserTokenDto';
export type { WellDepthToDayDto } from './models/WellDepthToDayDto';
export type { WellDepthToIntervalDto } from './models/WellDepthToIntervalDto';
export type { WellDto } from './models/WellDto';
export type { WellOperationDto } from './models/WellOperationDto';
export type { WellSectionDto } from './models/WellSectionDto';
export type { WellStatDto } from './models/WellStatDto';

View File

@ -1,12 +0,0 @@
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { OperationDto } from './OperationDto';
export type OperationDtoPaginationContainer = {
skip?: number;
take?: number;
count?: number;
items?: Array<OperationDto> | null;
}

View File

@ -2,7 +2,7 @@
/* tslint:disable */
/* eslint-disable */
export type OperationDto = {
export type TelemetryOperationDto = {
id?: number;
name?: string | null;
beginDate?: string;

View File

@ -0,0 +1,12 @@
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { TelemetryOperationDto } from './TelemetryOperationDto';
export type TelemetryOperationDtoPaginationContainer = {
skip?: number;
take?: number;
count?: number;
items?: Array<TelemetryOperationDto> | null;
}

View File

@ -2,7 +2,7 @@
/* tslint:disable */
/* eslint-disable */
export type OperationDurationDto = {
export type TelemetryOperationDurationDto = {
operationName?: string | null;
duration?: number;
}

View File

@ -0,0 +1,6 @@
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type WellOperationDto = {
}

View File

@ -1,8 +1,8 @@
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { OperationDtoPaginationContainer } from '../models/OperationDtoPaginationContainer';
import type { OperationDurationDto } from '../models/OperationDurationDto';
import type { TelemetryOperationDtoPaginationContainer } from '../models/TelemetryOperationDtoPaginationContainer';
import type { TelemetryOperationDurationDto } from '../models/TelemetryOperationDurationDto';
import type { WellDepthToDayDto } from '../models/WellDepthToDayDto';
import type { WellDepthToIntervalDto } from '../models/WellDepthToIntervalDto';
import { request as __request } from '../core/request';
@ -11,26 +11,26 @@ export class AnalyticsService {
/**
* Возвращает список операций на скважине за все время
* @param wellId id скважины
* @param idWell id скважины
* @param skip для пагинации кол-во записей пропустить
* @param take для пагинации кол-во записей
* @param categoryIds список категорий
* @param begin дата начала
* @param end окончание
* @returns OperationDtoPaginationContainer Success
* @returns TelemetryOperationDtoPaginationContainer Success
* @throws ApiError
*/
public static async getOperationsByWell(
wellId: number,
idWell: number,
skip: number,
take: number = 32,
categoryIds?: Array<number>,
begin?: string,
end?: string,
): Promise<OperationDtoPaginationContainer> {
): Promise<TelemetryOperationDtoPaginationContainer> {
const result = await __request({
method: 'GET',
path: `/api/analytics/${wellId}/operationsByWell`,
path: `/api/analytics/${idWell}/operationsByWell`,
query: {
'skip': skip,
'take': take,
@ -44,36 +44,36 @@ end?: string,
/**
* Возвращает данные по скважине "глубина-день"
* @param wellId id скважины
* @param idWell id скважины
* @returns WellDepthToDayDto Success
* @throws ApiError
*/
public static async getWellDepthToDay(
wellId: number,
idWell: number,
): Promise<Array<WellDepthToDayDto>> {
const result = await __request({
method: 'GET',
path: `/api/analytics/${wellId}/wellDepthToDay`,
path: `/api/analytics/${idWell}/wellDepthToDay`,
});
return result.body;
}
/**
* Возвращает данные по глубине скважины за период
* @param wellId id скважины
* @param idWell id скважины
* @param intervalSeconds количество секунд в необходимом интервале времени
* @param workBeginSeconds количество секунд в времени начала смены
* @returns WellDepthToIntervalDto Success
* @throws ApiError
*/
public static async getWellDepthToInterval(
wellId: number,
idWell: number,
intervalSeconds?: number,
workBeginSeconds?: number,
): Promise<Array<WellDepthToIntervalDto>> {
const result = await __request({
method: 'GET',
path: `/api/analytics/${wellId}/wellDepthToInterval`,
path: `/api/analytics/${idWell}/wellDepthToInterval`,
query: {
'intervalSeconds': intervalSeconds,
'workBeginSeconds': workBeginSeconds,
@ -84,20 +84,20 @@ workBeginSeconds?: number,
/**
* Возвращает данные по операциям на скважине "операции-время"
* @param wellId id скважины
* @param idWell id скважины
* @param begin дата начала интервала
* @param end дата окончания интервала
* @returns OperationDurationDto Success
* @returns TelemetryOperationDurationDto Success
* @throws ApiError
*/
public static async getOperationsSummary(
wellId: number,
idWell: number,
begin?: string,
end?: string,
): Promise<Array<OperationDurationDto>> {
): Promise<Array<TelemetryOperationDurationDto>> {
const result = await __request({
method: 'GET',
path: `/api/analytics/${wellId}/operationsSummary`,
path: `/api/analytics/${idWell}/operationsSummary`,
query: {
'begin': begin,
'end': end,
@ -108,20 +108,20 @@ end?: string,
/**
* Возвращает детальные данные по операциям на скважине за период
* @param wellId id скважины
* @param idWell id скважины
* @param intervalSeconds количество секунд в необходимом интервале времени
* @param workBeginSeconds количество секунд в времени начала смены
* @returns OperationDurationDto Success
* @returns TelemetryOperationDurationDto Success
* @throws ApiError
*/
public static async getOperationsToInterval(
wellId: number,
idWell: number,
intervalSeconds?: number,
workBeginSeconds?: number,
): Promise<Array<OperationDurationDto>> {
): Promise<Array<TelemetryOperationDurationDto>> {
const result = await __request({
method: 'GET',
path: `/api/analytics/${wellId}/operationsToInterval`,
path: `/api/analytics/${idWell}/operationsToInterval`,
query: {
'intervalSeconds': intervalSeconds,
'workBeginSeconds': workBeginSeconds,

View File

@ -10,22 +10,22 @@ export class DataService {
/**
* Возвращает данные САУБ по скважине.
* По умолчанию за последние 10 минут.
* @param wellId id скважины
* @param idWell id скважины
* @param begin дата начала выборки. По умолчанию: текущее время - intervalSec
* @param intervalSec интервал времени даты начала выборки, секунды
* @param approxPointsCount жела<EFBFBD><EFBFBD>мое количество точек. Если в выборке точек будет больше, то выборка будет прорежена.
* @param approxPointsCount желаемое количество точек. Если в выборке точек будет больше, то выборка будет прорежена.
* @returns DataSaubBaseDto Success
* @throws ApiError
*/
public static async getData(
wellId: number,
idWell: number,
begin?: string,
intervalSec: number = 600,
approxPointsCount: number = 1024,
): Promise<Array<DataSaubBaseDto>> {
const result = await __request({
method: 'GET',
path: `/api/well/${wellId}/data`,
path: `/api/well/${idWell}/data`,
query: {
'begin': begin,
'intervalSec': intervalSec,
@ -36,16 +36,16 @@ approxPointsCount: number = 1024,
}
/**
* @param wellId
* @param idWell
* @returns DatesRangeDto Success
* @throws ApiError
*/
public static async getDataDatesRange(
wellId: number,
idWell: number,
): Promise<DatesRangeDto> {
const result = await __request({
method: 'GET',
path: `/api/well/${wellId}/dataDatesRange`,
path: `/api/well/${idWell}/dataDatesRange`,
});
return result.body;
}

View File

@ -8,7 +8,7 @@ export class FileService {
/**
* Сохраняет переданные файлы и информацию о них
* @param wellId id скважины
* @param idWell id скважины
* @param idCategory id категории файла
* @param idUser id отправившего файл пользователя
* @param requestBody
@ -16,14 +16,14 @@ export class FileService {
* @throws ApiError
*/
public static async saveFiles(
wellId: number,
idWell: number,
idCategory?: number,
idUser?: number,
requestBody?: any,
): Promise<number> {
const result = await __request({
method: 'POST',
path: `/api/files/${wellId}/files`,
path: `/api/files/${idWell}/files`,
query: {
'idCategory': idCategory,
'idUser': idUser,
@ -34,8 +34,8 @@ requestBody?: any,
}
/**
* Возвращает информацию о файлах для сква<EFBFBD><EFBFBD>ины в выбраной категории
* @param wellId id скважины
* Возвращает информацию о файлах для скважины в выбраной категории
* @param idWell id скважины
* @param skip для пагинации кол-во записей пропустить
* @param take для пагинации кол-во записей взять
* @param idCategory id категории файла
@ -45,7 +45,7 @@ requestBody?: any,
* @throws ApiError
*/
public static async getFilesInfo(
wellId: number,
idWell: number,
skip: number,
take: number = 32,
idCategory: number,
@ -54,7 +54,7 @@ end?: string,
): Promise<FilePropertiesDtoPaginationContainer> {
const result = await __request({
method: 'GET',
path: `/api/files/${wellId}`,
path: `/api/files/${idWell}`,
query: {
'skip': skip,
'take': take,
@ -68,18 +68,18 @@ end?: string,
/**
* Возвращает файл с диска на сервере
* @param wellId id скважины
* @param idWell id скважины
* @param fileId id запрашиваемого файла
* @returns string Success
* @throws ApiError
*/
public static async getFile(
wellId: number,
idWell: number,
fileId: number,
): Promise<string> {
const result = await __request({
method: 'GET',
path: `/api/files/${wellId}/${fileId}`,
path: `/api/files/${idWell}/${fileId}`,
});
return result.body;
}

View File

@ -9,7 +9,7 @@ export class MessageService {
/**
* Выдает список сообщений по скважине
* @param wellId id скважины
* @param idWell id скважины
* @param skip для пагинации кол-во записей пропустить
* @param take для пагинации кол-во записей
* @param categoryids список категорий
@ -19,7 +19,7 @@ export class MessageService {
* @throws ApiError
*/
public static async getMessage(
wellId: number,
idWell: number,
skip: number,
take: number = 32,
categoryids?: Array<number>,
@ -28,7 +28,7 @@ end?: string,
): Promise<MessageDtoPaginationContainer> {
const result = await __request({
method: 'GET',
path: `/api/well/${wellId}/message`,
path: `/api/well/${idWell}/message`,
query: {
'skip': skip,
'take': take,
@ -41,16 +41,16 @@ end?: string,
}
/**
* @param wellId
* @param idWell
* @returns DatesRangeDto Success
* @throws ApiError
*/
public static async getMessagesDateRange(
wellId: number,
idWell: number,
): Promise<DatesRangeDto> {
const result = await __request({
method: 'GET',
path: `/api/well/${wellId}/messagesDatesRange`,
path: `/api/well/${idWell}/messagesDatesRange`,
});
return result.body;
}

View File

@ -8,7 +8,8 @@ export class ReportService {
/**
* Создает отчет по скважине с указанными параметрами
* @param wellId id скважины
* @param idWell id скважины
* @param idUser id пользователя
* @param stepSeconds шаг интервала
* @param format формат отчета (0-PDF, 1-LAS)
* @param begin дата начала интервала
@ -17,7 +18,8 @@ export class ReportService {
* @throws ApiError
*/
public static async createReport(
wellId: number,
idWell: number,
idUser?: number,
stepSeconds?: number,
format?: number,
begin?: string,
@ -25,8 +27,9 @@ end?: string,
): Promise<number> {
const result = await __request({
method: 'POST',
path: `/api/report/${wellId}/report`,
path: `/api/report/${idWell}/report`,
query: {
'idUser': idUser,
'stepSeconds': stepSeconds,
'format': format,
'begin': begin,
@ -38,18 +41,18 @@ end?: string,
/**
* Возвращает файл-отчет с диска на сервере
* @param wellId id скважины
* @param idWell id скважины
* @param reportName имя запрашиваемого файла (отчета)
* @returns string Success
* @throws ApiError
*/
public static async getReport(
wellId: number,
idWell: number,
reportName: string,
): Promise<string> {
const result = await __request({
method: 'GET',
path: `/api/report/${wellId}/${reportName}`,
path: `/api/report/${idWell}/${reportName}`,
});
return result.body;
}
@ -57,7 +60,7 @@ reportName: string,
/**
* Возвращает имена отчетов, хранящихся на диске,
* которые подходят под указанные параметры
* @param wellId id скважины
* @param idWell id скважины
* @param stepSeconds шаг интервала
* @param format формат отчета (0-PDF, 1-LAS)
* @param begin дата начала интервала
@ -66,7 +69,7 @@ reportName: string,
* @throws ApiError
*/
public static async getSuitableReportsNames(
wellId: number,
idWell: number,
stepSeconds?: number,
format?: number,
begin?: string,
@ -74,7 +77,7 @@ end?: string,
): Promise<Array<string>> {
const result = await __request({
method: 'GET',
path: `/api/report/${wellId}/suitableReports`,
path: `/api/report/${idWell}/suitableReports`,
query: {
'stepSeconds': stepSeconds,
'format': format,
@ -87,7 +90,7 @@ end?: string,
/**
* Возвращает прогнозируемое количество страниц будущего отчета
* @param wellId id скважины
* @param idWell id скважины
* @param stepSeconds шаг интервала
* @param format формат отчета (0-PDF, 1-LAS)
* @param begin дата начала интервала
@ -96,7 +99,7 @@ end?: string,
* @throws ApiError
*/
public static async getReportSize(
wellId: number,
idWell: number,
stepSeconds?: number,
format?: number,
begin?: string,
@ -104,7 +107,7 @@ end?: string,
): Promise<string> {
const result = await __request({
method: 'GET',
path: `/api/report/${wellId}/reportSize`,
path: `/api/report/${idWell}/reportSize`,
query: {
'stepSeconds': stepSeconds,
'format': format,
@ -116,17 +119,17 @@ end?: string,
}
/**
* Возвра<EFBFBD><EFBFBD>ает даты самого старого и самого свежего отчетов в БД
* @param wellId id скважины
* Возвращает даты самого старого и самого свежего отчетов в БД
* @param idWell id скважины
* @returns DatesRangeDto Success
* @throws ApiError
*/
public static async getReportsDateRange(
wellId: number,
idWell: number,
): Promise<DatesRangeDto> {
const result = await __request({
method: 'GET',
path: `/api/report/${wellId}/reportsDatesRange`,
path: `/api/report/${idWell}/reportsDatesRange`,
});
return result.body;
}

View File

@ -2,6 +2,8 @@
/* tslint:disable */
/* eslint-disable */
import type { WellDto } from '../models/WellDto';
import type { WellOperationDto } from '../models/WellOperationDto';
import type { WellSectionDto } from '../models/WellSectionDto';
import { request as __request } from '../core/request';
export class WellService {
@ -18,6 +20,36 @@ export class WellService {
return result.body;
}
/**
* @param idWell
* @returns WellSectionDto Success
* @throws ApiError
*/
public static async getSections(
idWell: number,
): Promise<Array<WellSectionDto>> {
const result = await __request({
method: 'GET',
path: `/api/well/${idWell}/sections`,
});
return result.body;
}
/**
* @param idWell
* @returns WellOperationDto Success
* @throws ApiError
*/
public static async getOperations(
idWell: number,
): Promise<Array<WellOperationDto>> {
const result = await __request({
method: 'GET',
path: `/api/well/${idWell}/operations`,
});
return result.body;
}
/**
* @returns WellDto Success
* @throws ApiError