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