Merge branch 'dev' into featute/null-enabled

This commit is contained in:
ngfrolov 2023-04-17 15:51:22 +05:00
commit 1289d782cf
Signed by: ng.frolov
GPG Key ID: E99907A0357B29A7
13 changed files with 23812 additions and 14 deletions

View File

@ -1,4 +1,5 @@
using System;
namespace AsbCloudApp.Data.SAUB
{
/// <summary>
@ -217,5 +218,20 @@ namespace AsbCloudApp.Data.SAUB
/// MSE
/// </summary>
public float? Mse { get; set; }
/// <summary>
/// Расход. Буровой насос 1
/// </summary>
public float? Pump0Flow { get; set; }
/// <summary>
/// Расход. Буровой насос 2
/// </summary>
public float? Pump1Flow { get; set; }
/// <summary>
/// Расход. Буровой насос 3
/// </summary>
public float? Pump2Flow { get; set; }
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,45 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace AsbCloudDb.Migrations
{
public partial class UpdateTable_t_telemetry_data_saub : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<float>(
name: "pump0Flow",
table: "t_telemetry_data_saub",
type: "real",
nullable: true);
migrationBuilder.AddColumn<float>(
name: "pump1Flow",
table: "t_telemetry_data_saub",
type: "real",
nullable: true);
migrationBuilder.AddColumn<float>(
name: "pump2Flow",
table: "t_telemetry_data_saub",
type: "real",
nullable: true);
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "pump0Flow",
table: "t_telemetry_data_saub");
migrationBuilder.DropColumn(
name: "pump1Flow",
table: "t_telemetry_data_saub");
migrationBuilder.DropColumn(
name: "pump2Flow",
table: "t_telemetry_data_saub");
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,45 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace AsbCloudDb.Migrations
{
public partial class EditTable_t_telemetry_data_saub : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.RenameColumn(
name: "pump2Flow",
table: "t_telemetry_data_saub",
newName: "pump2_flow");
migrationBuilder.RenameColumn(
name: "pump1Flow",
table: "t_telemetry_data_saub",
newName: "pump1_flow");
migrationBuilder.RenameColumn(
name: "pump0Flow",
table: "t_telemetry_data_saub",
newName: "pump0_flow");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.RenameColumn(
name: "pump2_flow",
table: "t_telemetry_data_saub",
newName: "pump2Flow");
migrationBuilder.RenameColumn(
name: "pump1_flow",
table: "t_telemetry_data_saub",
newName: "pump1Flow");
migrationBuilder.RenameColumn(
name: "pump0_flow",
table: "t_telemetry_data_saub",
newName: "pump0Flow");
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,75 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace AsbCloudDb.Migrations
{
public partial class EditCommentTable_t_telemetry_data_saub : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AlterColumn<float>(
name: "pump2_flow",
table: "t_telemetry_data_saub",
type: "real",
nullable: true,
comment: "Расход. Буровой насос 3",
oldClrType: typeof(float),
oldType: "real",
oldNullable: true);
migrationBuilder.AlterColumn<float>(
name: "pump1_flow",
table: "t_telemetry_data_saub",
type: "real",
nullable: true,
comment: "Расход. Буровой насос 2",
oldClrType: typeof(float),
oldType: "real",
oldNullable: true);
migrationBuilder.AlterColumn<float>(
name: "pump0_flow",
table: "t_telemetry_data_saub",
type: "real",
nullable: true,
comment: "Расход. Буровой насос 1",
oldClrType: typeof(float),
oldType: "real",
oldNullable: true);
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.AlterColumn<float>(
name: "pump2_flow",
table: "t_telemetry_data_saub",
type: "real",
nullable: true,
oldClrType: typeof(float),
oldType: "real",
oldNullable: true,
oldComment: "Расход. Буровой насос 3");
migrationBuilder.AlterColumn<float>(
name: "pump1_flow",
table: "t_telemetry_data_saub",
type: "real",
nullable: true,
oldClrType: typeof(float),
oldType: "real",
oldNullable: true,
oldComment: "Расход. Буровой насос 2");
migrationBuilder.AlterColumn<float>(
name: "pump0_flow",
table: "t_telemetry_data_saub",
type: "real",
nullable: true,
oldClrType: typeof(float),
oldType: "real",
oldNullable: true,
oldComment: "Расход. Буровой насос 1");
}
}
}

View File

@ -4123,6 +4123,21 @@ namespace AsbCloudDb.Migrations
.HasColumnName("pressure_sp_slide")
.HasComment("Давление. Задание для режима слайда");
b.Property<float?>("Pump0Flow")
.HasColumnType("real")
.HasColumnName("pump0_flow")
.HasComment("Расход. Буровой насос 1");
b.Property<float?>("Pump1Flow")
.HasColumnType("real")
.HasColumnName("pump1_flow")
.HasComment("Расход. Буровой насос 2");
b.Property<float?>("Pump2Flow")
.HasColumnType("real")
.HasColumnName("pump2_flow")
.HasComment("Расход. Буровой насос 3");
b.Property<float?>("RotorSpeed")
.HasColumnType("real")
.HasColumnName("rotor_speed")

View File

@ -125,6 +125,15 @@ namespace AsbCloudDb.Model
[Column("mse"), Comment("MSE")]
public float? Mse { get; set; }
[Column("pump0_flow"), Comment("Расход. Буровой насос 1")]
public float? Pump0Flow { get; set; }
[Column("pump1_flow"), Comment("Расход. Буровой насос 2")]
public float? Pump1Flow { get; set; }
[Column("pump2_flow"), Comment("Расход. Буровой насос 3")]
public float? Pump2Flow { get; set; }
[JsonIgnore]
[ForeignKey(nameof(IdTelemetry))]
[InverseProperty(nameof(Model.Telemetry.DataSaub))]

View File

@ -196,6 +196,8 @@ namespace AsbCloudInfrastructure.Repository
WellOperationRequest request,
CancellationToken token)
{
// TODO: Rename controller method
request.OperationType = WellOperation.IdOperationTypeFact;
var query = BuildQuery(request);
var entities = await query
.Select(o => new
@ -226,21 +228,25 @@ namespace AsbCloudInfrastructure.Repository
DeltaDepth = g.Sum(o => o.DurationDepth),
IdParent = parentRelationDictionary[g.Key].IdParent
});
var defaultId = 0;
while (dtos.Any(x => x.IdParent != null))
while (dtos.All(x => x.IdParent != null))
{
defaultId--;
dtos = dtos
.GroupBy(o => o.IdParent)
.Select(g => new WellGroupOpertionDto
{
IdCategory = g.Key ?? defaultId,
Category = g.Key.HasValue ? parentRelationDictionary[g.Key.Value].Name : "unknown",
Count = g.Sum(o => o.Count),
DeltaDepth = g.Sum(o => o.DeltaDepth),
TotalMinutes = g.Sum(o => o.TotalMinutes),
Items = g.ToList(),
IdParent = g.Key.HasValue ? parentRelationDictionary[g.Key.Value].IdParent : defaultId,
.GroupBy(o => o.IdParent!)
.Select(g => {
var idCategory = g.Key ?? int.MinValue;
var category = parentRelationDictionary.GetValueOrDefault(idCategory);
var newDto = new WellGroupOpertionDto
{
IdCategory = idCategory,
Category = category?.Name ?? "unknown",
Count = g.Sum(o => o.Count),
DeltaDepth = g.Sum(o => o.DeltaDepth),
TotalMinutes = g.Sum(o => o.TotalMinutes),
Items = g.ToList(),
IdParent = category?.IdParent,
};
return newDto;
});
}
return dtos;

View File

@ -366,7 +366,10 @@ namespace AsbCloudWebApi
.Add(36, nameof(TelemetryDataSaubDto.FlowDeltaLimitMax))
.Add(37, nameof(TelemetryDataSaubDto.IdFeedRegulator))
.Add(38, nameof(TelemetryDataSaubDto.MseState))
.Add(39, nameof(TelemetryDataSaubDto.Mse));
.Add(39, nameof(TelemetryDataSaubDto.Mse))
.Add(40, nameof(TelemetryDataSaubDto.Pump0Flow))
.Add(41, nameof(TelemetryDataSaubDto.Pump1Flow))
.Add(42, nameof(TelemetryDataSaubDto.Pump2Flow));
}
}
}

View File

@ -0,0 +1,61 @@
@baseUrl = http://127.0.0.1:5000
@contentType = application/json
@auth = Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImN0eSI6IkpXVCJ9.eyJpZCI6IjEiLCJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiZGV2IiwiaWRDb21wYW55IjoiMSIsImh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd3MvMjAwOC8wNi9pZGVudGl0eS9jbGFpbXMvcm9sZSI6InJvb3QiLCJuYmYiOjE2NjI1NDgxNjIsImV4cCI6MTY5NDEwNTc2MiwiaXNzIjoiYSIsImF1ZCI6ImEifQ.OEAlNzxi7Jat6pzDBTAjTbChskc-tdJthJexyWwwUKE
@uid = 20210917_165407777
# https://marketplace.visualstudio.com/items?itemName=humao.rest-client
###
POST {{baseUrl}}/api/TelemetryDataSaub/{{uid}}
Content-Type: {{contentType}}
accept: */*
Authorization: {{auth}}
[
{
"idTelemetry": 8,
"dateTime": "2022-07-18T14:53:17",
"mode": 10,
"user": null,
"wellDepth": 0,
"bitDepth": 0,
"blockPosition": 5,
"blockPositionMin": 1.5,
"blockPositionMax": 0,
"blockSpeed": 0,
"blockSpeedSp": 50,
"blockSpeedSpRotor": 100,
"blockSpeedSpSlide": 50,
"blockSpeedSpDevelop": 100,
"pressure": 0,
"pressureIdle": 0,
"pressureSp": 18,
"pressureSpRotor": 28,
"pressureSpSlide": 18,
"pressureSpDevelop": 15,
"pressureDeltaLimitMax": 50,
"axialLoad": 0,
"axialLoadSp": 8,
"axialLoadLimitMax": 15,
"hookWeight": 0,
"hookWeightIdle": 0,
"hookWeightLimitMin": 0,
"hookWeightLimitMax": 0,
"rotorTorque": 0,
"rotorTorqueIdle": 0,
"rotorTorqueSp": 20,
"rotorTorqueLimitMax": 32,
"rotorSpeed": 0,
"flow": 0,
"flowIdle": 0,
"flowDeltaLimitMax": 3,
"idFeedRegulator": 0,
"mseState": 32,
"mse": 0,
"pump0Flow": 213.12,
"pump1Flow": 234.33,
"pump2Flow": 215.36,
"date": "2022-07-18T14:53:17"
}
]

View File

@ -0,0 +1,12 @@
@baseUrl = http://127.0.0.1:5000
@contentType = application/json
@auth = Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImN0eSI6IkpXVCJ9.eyJpZCI6IjEiLCJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiZGV2IiwiaWRDb21wYW55IjoiMSIsImh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd3MvMjAwOC8wNi9pZGVudGl0eS9jbGFpbXMvcm9sZSI6InJvb3QiLCJuYmYiOjE2NjI1NDgxNjIsImV4cCI6MTY5NDEwNTc2MiwiaXNzIjoiYSIsImF1ZCI6ImEifQ.OEAlNzxi7Jat6pzDBTAjTbChskc-tdJthJexyWwwUKE
@wellId = 1
###
GET {{baseUrl}}/api/well/{{wellId}}/wellOperations/groupStat
Content-Type: {{contentType}}
accept: */*
Authorization: {{auth}}