From 7812403ad98728e7b0f894708ada465eeafb73fb Mon Sep 17 00:00:00 2001 From: mmrbnjd Date: Sat, 20 Jul 2024 21:27:09 +0330 Subject: [PATCH] ... --- Back/Controllers/TaxPayerController.cs | 57 ++++++++++----------- Back/Data/Models/SentTax.cs | 2 + Back/Services/ActionTaxPayer.cs | 6 +-- TaxPayerFull/CUSComponent/SendTaxItem.razor | 39 ++++++++++++-- 4 files changed, 69 insertions(+), 35 deletions(-) diff --git a/Back/Controllers/TaxPayerController.cs b/Back/Controllers/TaxPayerController.cs index 71edce1..ade293b 100644 --- a/Back/Controllers/TaxPayerController.cs +++ b/Back/Controllers/TaxPayerController.cs @@ -501,10 +501,29 @@ namespace Back.Controllers // return BadRequest(new List { "خطا در احراز هویت سازمان مالیاتی" }); DataInSendTaxDto desData = new DataInSendTaxDto(); - if (item.SentStatus == SentStatus.Send + + + if (item.SentStatus == SentStatus.Unsuccessful && !string.IsNullOrEmpty(item.ErrorsModel)) + { + List inquiryerrorResult = JsonConvert.DeserializeObject>(item.ErrorsModel); + + InquiryResultModel inquiryResult = JsonConvert.DeserializeObject(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.IN_PROGRESS - || item.SentStatus == SentStatus.Unsuccessful) + || item.SentStatus == SentStatus.Unsuccessful) { //ta imja @@ -524,6 +543,7 @@ namespace Back.Controllers desData.error = JsonConvert.DeserializeObject>(result.Data.ToString()); } } + desData.SentStatus = item.SentStatus = result.Status == "FAILED" ? SentStatus.Unsuccessful : result.Status == "PENDING" ? SentStatus.pending @@ -531,37 +551,16 @@ namespace Back.Controllers : result.Status == "NOT_FOUND" ? SentStatus.NOT_FOUND : result.Status == "IN_PROGRESS" ? SentStatus.IN_PROGRESS : SentStatus.Unknown; + + if (item.SentStatus == SentStatus.Unsuccessful) + item.ErrorsModel = JsonConvert.SerializeObject(desData.error); } - - - if (await _servTaxPayer.UpdateSentTax(item)) return Ok(desData); + + + if (await _servTaxPayer.UpdateSentTax(item)) return Ok(desData); else return BadRequest(new List { "خطای در ذخیره سازی" }); } - - else if (item.SentStatus == SentStatus.Unsuccessful && !string.IsNullOrEmpty(item.InquiryResultModel)) - { - InquiryResultModel inquiryResult = JsonConvert.DeserializeObject(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(inquiryResult.Data.ToString()); - if (desData == null) - { - desData = new DataInSendTaxDto(); - desData.error = JsonConvert.DeserializeObject>(inquiryResult.Data.ToString()); - } - } - return Ok(desData); - } - return BadRequest(new List { "در این وضعیت امکان پذیر نمی باشد" }); } catch (Exception ex) diff --git a/Back/Data/Models/SentTax.cs b/Back/Data/Models/SentTax.cs index c93d023..41ab900 100644 --- a/Back/Data/Models/SentTax.cs +++ b/Back/Data/Models/SentTax.cs @@ -17,6 +17,8 @@ namespace Back.Data.Models public string? ResponseModel { get; set; } [Column(TypeName = "nvarchar(MAX)")] public string? InquiryResultModel { get; set; } + [Column(TypeName = "nvarchar(MAX)")] + public string? ErrorsModel { get; set; } public SentStatus SentStatus { get; set; } #region Navigation diff --git a/Back/Services/ActionTaxPayer.cs b/Back/Services/ActionTaxPayer.cs index 6cb0064..92a9243 100644 --- a/Back/Services/ActionTaxPayer.cs +++ b/Back/Services/ActionTaxPayer.cs @@ -28,8 +28,8 @@ namespace Back.Services } public async Task GetResultByUid(int CompanyID, string uid) { - return new InquiryResultModel("18084a18-1eb4-41cd-8bd3-2cad73c45398", "0a4a4ab2-8047-4c31-b765-456ddf0e9c53", "SUCCESS", - new DataInSendTaxDto() + return new InquiryResultModel("18084a18-1eb4-41cd-8bd3-2cad73c45398", "0a4a4ab2-8047-4c31-b765-456ddf0e9c53", "FAILED", + JsonConvert.SerializeObject( new DataInSendTaxDto() { error=new List() { @@ -38,7 +38,7 @@ namespace Back.Services code="21001",message="یک خطای تست" } } - } + }) , "receive_invoice_confirm", "A2FFKZ"); if (!await login(CompanyID)) return null; diff --git a/TaxPayerFull/CUSComponent/SendTaxItem.razor b/TaxPayerFull/CUSComponent/SendTaxItem.razor index 8d3854f..c893ad4 100644 --- a/TaxPayerFull/CUSComponent/SendTaxItem.razor +++ b/TaxPayerFull/CUSComponent/SendTaxItem.razor @@ -4,14 +4,47 @@
- - + @{ + switch (inData.SentStatus) + { + case SentStatus.Send: + صورتحساب ارسال شده + break; + + case SentStatus.Successful: + صورتحساب ارسال و تائید شده + break; + + case SentStatus.Unsuccessful: + صورتحساب ارسال شده ولی تائید نشده + break; + + case SentStatus.pending: + صورتحساب در انتظار بررسی می باشد + break; + + case SentStatus.IN_PROGRESS: + صورتحساب در انتظار بررسی می باشد + break; + + case SentStatus.NOT_FOUND: + صورتحساب یافت نشد + break; + + case SentStatus.Unknown: + یک خطای سیستمی رخ داده + break; + + default: + @inData.msgSentStatus + break; + } + }
@if (inData.SentStatus == SentStatus.Unsuccessful) {
-
لیست خطاهای صورتحساب
کد