This commit is contained in:
mmrbnjd
2024-07-20 21:27:09 +03:30
parent d67a9ae440
commit 7812403ad9
4 changed files with 69 additions and 35 deletions

View File

@@ -501,7 +501,26 @@ namespace Back.Controllers
// return BadRequest(new List<string> { "خطا در احراز هویت سازمان مالیاتی" }); // return BadRequest(new List<string> { "خطا در احراز هویت سازمان مالیاتی" });
DataInSendTaxDto desData = new DataInSendTaxDto(); DataInSendTaxDto desData = new DataInSendTaxDto();
if (item.SentStatus == SentStatus.Send
if (item.SentStatus == SentStatus.Unsuccessful && !string.IsNullOrEmpty(item.ErrorsModel))
{
List<MessageInSendTaxDto> inquiryerrorResult = JsonConvert.DeserializeObject<List<MessageInSendTaxDto>>(item.ErrorsModel);
InquiryResultModel inquiryResult = JsonConvert.DeserializeObject<InquiryResultModel>(item.InquiryResultModel);
if (inquiryResult.Data != null)
{
desData = new DataInSendTaxDto();
desData.SentStatus = SentStatus.Unsuccessful;
desData.error = inquiryerrorResult;
}
return Ok(desData);
}
else if (item.SentStatus == SentStatus.Send
|| item.SentStatus == SentStatus.pending || item.SentStatus == SentStatus.pending
|| item.SentStatus == SentStatus.IN_PROGRESS || item.SentStatus == SentStatus.IN_PROGRESS
|| item.SentStatus == SentStatus.Unsuccessful) || item.SentStatus == SentStatus.Unsuccessful)
@@ -524,6 +543,7 @@ namespace Back.Controllers
desData.error = JsonConvert.DeserializeObject<List<MessageInSendTaxDto>>(result.Data.ToString()); desData.error = JsonConvert.DeserializeObject<List<MessageInSendTaxDto>>(result.Data.ToString());
} }
} }
desData.SentStatus = item.SentStatus = desData.SentStatus = item.SentStatus =
result.Status == "FAILED" ? SentStatus.Unsuccessful result.Status == "FAILED" ? SentStatus.Unsuccessful
: result.Status == "PENDING" ? SentStatus.pending : result.Status == "PENDING" ? SentStatus.pending
@@ -531,6 +551,9 @@ namespace Back.Controllers
: result.Status == "NOT_FOUND" ? SentStatus.NOT_FOUND : result.Status == "NOT_FOUND" ? SentStatus.NOT_FOUND
: result.Status == "IN_PROGRESS" ? SentStatus.IN_PROGRESS : result.Status == "IN_PROGRESS" ? SentStatus.IN_PROGRESS
: SentStatus.Unknown; : SentStatus.Unknown;
if (item.SentStatus == SentStatus.Unsuccessful)
item.ErrorsModel = JsonConvert.SerializeObject(desData.error);
} }
@@ -538,30 +561,6 @@ namespace Back.Controllers
else return BadRequest(new List<string> { "خطای در ذخیره سازی" }); else return BadRequest(new List<string> { "خطای در ذخیره سازی" });
} }
else if (item.SentStatus == SentStatus.Unsuccessful && !string.IsNullOrEmpty(item.InquiryResultModel))
{
InquiryResultModel inquiryResult = JsonConvert.DeserializeObject<InquiryResultModel>(item.InquiryResultModel);
if (inquiryResult.Data != null)
{
desData.SentStatus = item.SentStatus =
inquiryResult.Status == "FAILED" ? SentStatus.Unsuccessful
: inquiryResult.Status == "PENDING" ? SentStatus.pending
: inquiryResult.Status == "SUCCESS" ? SentStatus.Successful
: inquiryResult.Status == "NOT_FOUND" ? SentStatus.NOT_FOUND
: inquiryResult.Status == "IN_PROGRESS" ? SentStatus.IN_PROGRESS
: SentStatus.Unknown;
desData = JsonConvert.DeserializeObject<DataInSendTaxDto>(inquiryResult.Data.ToString());
if (desData == null)
{
desData = new DataInSendTaxDto();
desData.error = JsonConvert.DeserializeObject<List<MessageInSendTaxDto>>(inquiryResult.Data.ToString());
}
}
return Ok(desData);
}
return BadRequest(new List<string> { "در این وضعیت امکان پذیر نمی باشد" }); return BadRequest(new List<string> { "در این وضعیت امکان پذیر نمی باشد" });
} }
catch (Exception ex) catch (Exception ex)

View File

@@ -17,6 +17,8 @@ namespace Back.Data.Models
public string? ResponseModel { get; set; } public string? ResponseModel { get; set; }
[Column(TypeName = "nvarchar(MAX)")] [Column(TypeName = "nvarchar(MAX)")]
public string? InquiryResultModel { get; set; } public string? InquiryResultModel { get; set; }
[Column(TypeName = "nvarchar(MAX)")]
public string? ErrorsModel { get; set; }
public SentStatus SentStatus { get; set; } public SentStatus SentStatus { get; set; }
#region Navigation #region Navigation

View File

@@ -28,8 +28,8 @@ namespace Back.Services
} }
public async Task<InquiryResultModel> GetResultByUid(int CompanyID, string uid) public async Task<InquiryResultModel> GetResultByUid(int CompanyID, string uid)
{ {
return new InquiryResultModel("18084a18-1eb4-41cd-8bd3-2cad73c45398", "0a4a4ab2-8047-4c31-b765-456ddf0e9c53", "SUCCESS", return new InquiryResultModel("18084a18-1eb4-41cd-8bd3-2cad73c45398", "0a4a4ab2-8047-4c31-b765-456ddf0e9c53", "FAILED",
new DataInSendTaxDto() JsonConvert.SerializeObject( new DataInSendTaxDto()
{ {
error=new List<MessageInSendTaxDto>() error=new List<MessageInSendTaxDto>()
{ {
@@ -38,7 +38,7 @@ namespace Back.Services
code="21001",message="یک خطای تست" code="21001",message="یک خطای تست"
} }
} }
} })
, "receive_invoice_confirm", "A2FFKZ"); , "receive_invoice_confirm", "A2FFKZ");
if (!await login(CompanyID)) if (!await login(CompanyID))
return null; return null;

View File

@@ -4,14 +4,47 @@
<form> <form>
<div class="row g-3"> <div class="row g-3">
<label class="col-sm-5 col-form-label">وضعیت ارسال</label> @{
<InputText @Value="inData.msgSentStatus" type="text" class="form-control" id="msgSentStatus" placeholder="وضعیت ارسال" /> switch (inData.SentStatus)
{
case SentStatus.Send:
<Badge Color="BadgeColor.Primary" Class="p-2">صورتحساب ارسال شده</Badge>
break;
case SentStatus.Successful:
<Badge Color="BadgeColor.Success" Class="p-2">صورتحساب ارسال و تائید شده</Badge>
break;
case SentStatus.Unsuccessful:
<Badge Color="BadgeColor.Danger" Class="p-2">صورتحساب ارسال شده ولی تائید نشده</Badge>
break;
case SentStatus.pending:
<Badge Color="BadgeColor.Warning" Class="p-2">صورتحساب در انتظار بررسی می باشد</Badge>
break;
case SentStatus.IN_PROGRESS:
<Badge Color="BadgeColor.Warning" Class="p-2">صورتحساب در انتظار بررسی می باشد</Badge>
break;
case SentStatus.NOT_FOUND:
<Badge Color="BadgeColor.Secondary" Class="p-2">صورتحساب یافت نشد</Badge>
break;
case SentStatus.Unknown:
<Badge Color="BadgeColor.Danger" Class="p-2">یک خطای سیستمی رخ داده</Badge>
break;
default:
<Badge Color="BadgeColor.Light" Class="p-2">@inData.msgSentStatus</Badge>
break;
}
}
</div> </div>
@if (inData.SentStatus == SentStatus.Unsuccessful) @if (inData.SentStatus == SentStatus.Unsuccessful)
{ {
<div class="row g-3"> <div class="row g-3">
<table class="table"> <table class="table">
<caption>لیست خطاهای صورتحساب</caption>
<thead> <thead>
<tr> <tr>
<th scope="col">کد</th> <th scope="col">کد</th>