feat(esppApi): код закрытия вынес в параметры метода
This commit is contained in:
25
PARR.EsppApi/Constants/EsppOrderClosingCodeEnum.cs
Normal file
25
PARR.EsppApi/Constants/EsppOrderClosingCodeEnum.cs
Normal file
@@ -0,0 +1,25 @@
|
||||
namespace PARR.EsppApi.Constants
|
||||
{
|
||||
/// <summary>
|
||||
/// Код закрытия наряда
|
||||
/// </summary>
|
||||
public enum EsppOrderClosingCodeEnum
|
||||
{
|
||||
/// <summary>
|
||||
/// Выполнен
|
||||
/// </summary>
|
||||
Complete,
|
||||
|
||||
/// <summary>
|
||||
/// Прекращен
|
||||
/// </summary>
|
||||
Breake,
|
||||
|
||||
/// <summary>
|
||||
/// Выполнен при помощи средств автоматизации
|
||||
/// </summary>
|
||||
Auto
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -30,13 +30,13 @@ namespace PARR.EsppApi
|
||||
}
|
||||
|
||||
|
||||
public Task<EsppResultBase<EsppResponse>> SetStatusIsDoneAsync(string recordId, string resultMsg)//TODO упростить можно без RecordIdQuery
|
||||
public Task<EsppResultBase<EsppResponse>> SetStatusIsDoneAsync(string recordId, string resultMsg, EsppOrderClosingCodeEnum closingCode)//TODO упростить можно без RecordIdQuery
|
||||
{
|
||||
return SetStatusAsync(recordId, "4-Выполнен", resultMsg);
|
||||
return SetStatusAsync(recordId, "4-Выполнен", resultMsg, closingCode);
|
||||
}
|
||||
|
||||
|
||||
private async Task<EsppResultBase<EsppResponse>> SetStatusAsync(string recordId, string newStatusStr, string resultMsg)
|
||||
private async Task<EsppResultBase<EsppResponse>> SetStatusAsync(string recordId, string newStatusStr, string resultMsg, EsppOrderClosingCodeEnum? closingCode = null)
|
||||
{
|
||||
//TODO assignee сразу назначаем принудительно, чтобы было понятно кто менял объект
|
||||
//var query = $"<ROOT operation=\"SaveTask\" returnFormat=\"json\">{{" +
|
||||
@@ -48,7 +48,7 @@ namespace PARR.EsppApi
|
||||
|
||||
//var result = await esppHttpService.SendAsync<EsppResponse>(QuerySanitize(query));
|
||||
|
||||
var request = new SetStatusRequest
|
||||
var request = new SetStatusRequest(closingCode ?? EsppOrderClosingCodeEnum.Complete)
|
||||
{
|
||||
recordid = recordId,
|
||||
status = newStatusStr,
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using PARR.EsppApi.Models;
|
||||
using PARR.EsppApi.Constants;
|
||||
using PARR.EsppApi.Models;
|
||||
using PARR.EsppApi.Models.Query;
|
||||
|
||||
namespace PARR.EsppApi
|
||||
@@ -27,7 +28,7 @@ namespace PARR.EsppApi
|
||||
/// Установить статус наряда как выполнен
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
Task<EsppResultBase<EsppResponse>> SetStatusIsDoneAsync(string recordId, string resultMsg);
|
||||
Task<EsppResultBase<EsppResponse>> SetStatusIsDoneAsync(string recordId, string resultMsg, EsppOrderClosingCodeEnum closingCode);
|
||||
|
||||
/// <summary>
|
||||
/// Списание трудозатрат по модульным ТНК
|
||||
|
||||
@@ -1,10 +1,31 @@
|
||||
namespace PARR.EsppApi.Requests
|
||||
using PARR.EsppApi.Constants;
|
||||
|
||||
namespace PARR.EsppApi.Requests
|
||||
{
|
||||
/// <summary>
|
||||
/// Изменить статус наряда
|
||||
/// </summary>
|
||||
internal class SetStatusRequest
|
||||
{
|
||||
public SetStatusRequest(EsppOrderClosingCodeEnum closingCode)
|
||||
{
|
||||
switch (closingCode)
|
||||
{
|
||||
case EsppOrderClosingCodeEnum.Complete:
|
||||
resolutionCode = "выполнен";
|
||||
break;
|
||||
case EsppOrderClosingCodeEnum.Breake:
|
||||
resolutionCode = "прекращен";
|
||||
break;
|
||||
case EsppOrderClosingCodeEnum.Auto:
|
||||
resolutionCode = "выполнен при помощи средств автоматизации";
|
||||
break;
|
||||
default:
|
||||
resolutionCode = "выполнен";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public required string recordid { get; set; }
|
||||
|
||||
public required string status { get; set; }
|
||||
@@ -12,5 +33,7 @@
|
||||
public required string assignee { get; set; }
|
||||
|
||||
public required string resolution { get; set; }
|
||||
|
||||
public string resolutionCode { get; private set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
using PARR.Constants;
|
||||
using PARR.DAL.Models;
|
||||
using PARR.EsppApi;
|
||||
using PARR.EsppApi.Constants;
|
||||
using PARR.EsppApi.Models.Query;
|
||||
using PARR.EsppOrderManager.Settings;
|
||||
|
||||
@@ -118,7 +119,7 @@ namespace PARR.EsppOrderManager.Services
|
||||
logger.LogDebug($"В ЕСПП, для наряда {orderNumber} списаны трудозатраты. Операция: {tnk.JobOperation}, время: {tnk.Time}");
|
||||
|
||||
// выполняем наряд
|
||||
var result = await esppApiService.SetStatusIsDoneAsync(orderNumber, resultMsg);
|
||||
var result = await esppApiService.SetStatusIsDoneAsync(orderNumber, resultMsg, EsppOrderClosingCodeEnum.Auto);
|
||||
|
||||
if (result.IsSuccess)
|
||||
{
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using PARR.EsppApi;
|
||||
using PARR.EsppApi.Constants;
|
||||
using PARR.EsppApi.Models.Query;
|
||||
|
||||
namespace PARR.Test
|
||||
@@ -50,7 +51,7 @@ namespace PARR.Test
|
||||
}
|
||||
|
||||
|
||||
var resFinish = await esppApiService.SetStatusIsDoneAsync(recordId, "Решение...");
|
||||
var resFinish = await esppApiService.SetStatusIsDoneAsync(recordId, "Решение...", EsppOrderClosingCodeEnum.Auto);
|
||||
if (!resFinish.IsSuccess)
|
||||
{
|
||||
_logger.LogError(resFinish.Exception, $"Не удалось обновить статус наряда {recordId}");
|
||||
|
||||
Reference in New Issue
Block a user