Merge branch 'dev' into convertToPdf

This commit is contained in:
ngfrolov 2023-01-24 09:43:12 +05:00
commit be9168b4bf
Signed by: ng.frolov
GPG Key ID: E99907A0357B29A7
8 changed files with 29 additions and 25 deletions

View File

@ -3,10 +3,11 @@
namespace AsbCloudApp.Data.SAUB namespace AsbCloudApp.Data.SAUB
{ {
#nullable enable #nullable enable
/// <summary> /// <summary>
/// DTO телеметрии наработки талевого каната /// DTO телеметрии наработки талевого каната от панели бурильщика
/// </summary> /// </summary>
public class TelemetryWirelineRunOutDto public class TelemetryWirelineRunOutBaseDto
{ {
/// <summary> /// <summary>
/// отметка времени /// отметка времени
@ -32,6 +33,13 @@ namespace AsbCloudApp.Data.SAUB
/// Наработка талевого каната до сигнализации о необходимости замены, т*км /// Наработка талевого каната до сигнализации о необходимости замены, т*км
/// </summary> /// </summary>
public float ReplaceWarnSp { get; set; } public float ReplaceWarnSp { get; set; }
}
/// <summary>
/// DTO телеметрии наработки талевого каната
/// </summary>
public class TelemetryWirelineRunOutDto : TelemetryWirelineRunOutBaseDto
{
/// <summary> /// <summary>
/// Информация по скважине /// Информация по скважине

View File

@ -8,9 +8,6 @@ namespace AsbCloudApp.Data
/// </summary> /// </summary>
public class WellDto : WellInfoDto, IMapPoint, IId public class WellDto : WellInfoDto, IMapPoint, IId
{ {
/// <inheritdoc/>
public int Id { get; set; }
/// <inheritdoc/> /// <inheritdoc/>
public double? Latitude { get; set; } public double? Latitude { get; set; }

View File

@ -3,8 +3,11 @@
/// <summary> /// <summary>
/// базовая информация о скважине /// базовая информация о скважине
/// </summary> /// </summary>
public class WellInfoDto public class WellInfoDto: IId
{ {
/// <inheritdoc/>
public int Id { get; set; }
/// <summary> /// <summary>
/// Название /// Название
/// </summary> /// </summary>

View File

@ -19,7 +19,7 @@ namespace AsbCloudApp.Repositories
/// <param name="dto"></param> /// <param name="dto"></param>
/// <param name="token"></param> /// <param name="token"></param>
/// <returns></returns> /// <returns></returns>
Task<int> AddOrUpdateAsync(string uid, TelemetryWirelineRunOutDto dto, CancellationToken token); Task<int> AddOrUpdateAsync(string uid, TelemetryWirelineRunOutBaseDto dto, CancellationToken token);
/// <summary> /// <summary>
/// Выдает данные по скважине /// Выдает данные по скважине

View File

@ -29,20 +29,16 @@ namespace AsbCloudInfrastructure.Repository
} }
/// <inheritdoc/> /// <inheritdoc/>
public async Task<int> AddOrUpdateAsync(string uid, TelemetryWirelineRunOutDto dto, CancellationToken token) public async Task<int> AddOrUpdateAsync(string uid, TelemetryWirelineRunOutBaseDto dto, CancellationToken token)
{ {
var idTelemetry = telemetryService.GetOrCreateTelemetryIdByUid(uid); var idTelemetry = telemetryService.GetOrCreateTelemetryIdByUid(uid);
var timezoneOffset = telemetryService.GetTimezone(idTelemetry).Hours; var timezoneOffset = telemetryService.GetTimezone(idTelemetry).Hours;
var entity = Convert(idTelemetry, dto, timezoneOffset); var entity = Convert(idTelemetry, dto, timezoneOffset);
var updatingItem = context.TelemetryWirelineRunOut if (await context.TelemetryWirelineRunOut.AnyAsync(w => w.IdTelemetry == idTelemetry, token))
.Where(x => x.IdTelemetry == idTelemetry)
.FirstOrDefault();
if (updatingItem is null)
context.TelemetryWirelineRunOut.Add(entity);
else
context.TelemetryWirelineRunOut.Update(entity); context.TelemetryWirelineRunOut.Update(entity);
else
context.TelemetryWirelineRunOut.Add(entity);
return await context.SaveChangesAsync(token); return await context.SaveChangesAsync(token);
} }
@ -93,7 +89,7 @@ namespace AsbCloudInfrastructure.Repository
return result; return result;
} }
private static TelemetryWirelineRunOut Convert(int idTelemetry, TelemetryWirelineRunOutDto dto, double timezoneOffset) private static TelemetryWirelineRunOut Convert(int idTelemetry, TelemetryWirelineRunOutBaseDto dto, double timezoneOffset)
{ {
var entity = dto.Adapt<TelemetryWirelineRunOut>(); var entity = dto.Adapt<TelemetryWirelineRunOut>();
entity.IdTelemetry = idTelemetry; entity.IdTelemetry = idTelemetry;

View File

@ -48,12 +48,12 @@ namespace AsbCloudWebApi.Controllers.SAUB
[HttpPost] [HttpPost]
[Route("{uid}")] [Route("{uid}")]
[AllowAnonymous] [AllowAnonymous]
public IActionResult PostData(string uid, [FromBody] TelemetryWirelineRunOutDto dto, CancellationToken token) public async Task<IActionResult> PostDataAsync(string uid, [FromBody] TelemetryWirelineRunOutBaseDto dto, CancellationToken token)
{ {
if (dto is null) if (dto is null)
return BadRequest("Dto shouldn't be null"); return BadRequest("Dto shouldn't be null");
var data = repository.AddOrUpdateAsync(uid, dto, token); var data = await repository.AddOrUpdateAsync(uid, dto, token);
var idWell = telemetryService.GetIdWellByTelemetryUid(uid); var idWell = telemetryService.GetIdWellByTelemetryUid(uid);
if (idWell is not null) if (idWell is not null)

View File

@ -15,15 +15,15 @@ namespace AsbCloudWebApi
private static void EnshureRegisteredWirelineRunOutDto() private static void EnshureRegisteredWirelineRunOutDto()
{ {
var type = typeof(TelemetryWirelineRunOutDto); var type = typeof(TelemetryWirelineRunOutBaseDto);
if (RuntimeTypeModel.Default.IsDefined(type)) if (RuntimeTypeModel.Default.IsDefined(type))
return; return;
RuntimeTypeModel.Default.Add(type, false) RuntimeTypeModel.Default.Add(type, false)
.Add(1, nameof(TelemetryWirelineRunOutDto.DateTime)) .Add(1, nameof(TelemetryWirelineRunOutBaseDto.DateTime))
.Add(2, nameof(TelemetryWirelineRunOutDto.Hauling)) .Add(2, nameof(TelemetryWirelineRunOutBaseDto.Hauling))
.Add(3, nameof(TelemetryWirelineRunOutDto.HaulingWarnSp)) .Add(3, nameof(TelemetryWirelineRunOutBaseDto.HaulingWarnSp))
.Add(4, nameof(TelemetryWirelineRunOutDto.Replace)) .Add(4, nameof(TelemetryWirelineRunOutBaseDto.Replace))
.Add(5, nameof(TelemetryWirelineRunOutDto.ReplaceWarnSp)); .Add(5, nameof(TelemetryWirelineRunOutBaseDto.ReplaceWarnSp));
} }
private static void EnshureRegisteredWITS() private static void EnshureRegisteredWITS()