Przeglądaj źródła

晶奇数据推送 超声、心电报告

jeremy 8 miesięcy temu
rodzic
commit
f5dc39e48c

+ 26 - 5
ReportService/Service/ReportService.RemoteUltrasound.cs

@@ -576,7 +576,7 @@ namespace ReportService.Service
                             else
                             {
                                 //删除过时文件
-                                var time =  DateTime.Now.AddDays(-1);
+                                var time = DateTime.Now.AddDays(-1);
                                 DirectoryInfo theFolder = new DirectoryInfo(_reportPreviewFolder);
                                 DirectoryInfo[] dics = theFolder.GetDirectories();
                                 foreach (var item in dics)
@@ -669,7 +669,7 @@ namespace ReportService.Service
                 PatientId = patientId,
                 PatientName = request.PatientName,
                 ReportLabels = new List<string>(),
-                PlatformLabels =  new List<string>(),
+                PlatformLabels = new List<string>(),
                 DiagnosisLabels = new List<string>(),
                 ReportOrgan = DiagnosisOrganEnum.Null,
                 ReferralRecordCode = "",
@@ -684,6 +684,7 @@ namespace ReportService.Service
             {
                 ThrowCustomerException(CustomerRpcCode.AddReportFailed, "Add report failed");
             }
+            await CreateJingQiReportPostHistoryAsync(request.Token, reportId);
             var isUpdate = false;
             if (record.ExamState != WingInterfaceLibrary.Enum.VitalEnum.ExamStateEnum.Reported)
             {
@@ -697,7 +698,24 @@ namespace ReportService.Service
             await CreateVitalExamAsync(record, request.Token, reportId);
             return reportId;
         }
-        
+
+        private async Task<bool> CreateJingQiReportPostHistoryAsync(string token, string reportCode)
+        {
+            try
+            {
+                return await _vitalFacturyPostHistoryService.CreateJingQiReportPostHistoryAsync(new WingInterfaceLibrary.Request.Vital.CreateJingQiReportPostHistoryRequest
+                {
+                    Token = token,
+                    ReportCode = reportCode,
+                });
+            }
+            catch (Exception ex)
+            {
+                Logger.WriteLineWarn($"ReportService CreateJingQiReportPostHistoryAsync error, ex:{ex}");
+            }
+            return false;
+        }
+
         /// <summary>
         /// 创建报告
         /// </summary>
@@ -760,6 +778,7 @@ namespace ReportService.Service
             {
                 ThrowCustomerException(CustomerRpcCode.AddReportFailed, "Add report failed");
             }
+            await CreateJingQiReportPostHistoryAsync(request.Token, reportId);
             switch (request.ReportType)
             {
                 case ReportTypeEnum.RemoteDiagnosis:
@@ -798,7 +817,7 @@ namespace ReportService.Service
                 ThrowCustomerException(CustomerRpcCode.RecordCodeEmpty, "RecordCode empty error");
             }
             Logger.WriteLineWarn($"VitalModifyEcgReportAsync true, request: {Newtonsoft.Json.JsonConvert.SerializeObject(request)}");
-            
+
             var reqReportTempDB = new WingInterfaceLibrary.DB.Request.GetReportTemplateDBRequest()
             {
                 ReportTemplateCode = request.ReportTemplateCode,
@@ -859,6 +878,7 @@ namespace ReportService.Service
                 {
                     await _vitalElectrocardiogramDBService.UpdateExamElectrocardiogramDBAsync(record);
                 }
+                await CreateJingQiReportPostHistoryAsync(request.Token, reportId);
                 await CreateVitalExamAsync(record, request.Token, reportId);
                 return true;
             }
@@ -883,7 +903,7 @@ namespace ReportService.Service
             if (!string.IsNullOrEmpty(result))
             {
                 res = true;
-            }            
+            }
             JoinEcgQueue(reportId);
             return res;
         }
@@ -952,6 +972,7 @@ namespace ReportService.Service
             var reportId = await _reportDBService.SaveReportAsync(saveRequest);
             if (!string.IsNullOrEmpty(reportId))
             {
+                await CreateJingQiReportPostHistoryAsync(request.Token, reportId);
                 DoReportConverter(new ReportConverterDetail()
                 {
                     ReportCode = reportId

+ 3 - 0
ReportService/Service/ReportService.cs

@@ -33,6 +33,7 @@ using WingInterfaceLibrary.Request.Vital;
 using ReportService.ReportConverter;
 using Newtonsoft.Json;
 using System.Globalization;
+using WingInterfaceLibrary.Interface.VitalInterface;
 
 namespace ReportService.Service
 {
@@ -70,6 +71,7 @@ namespace ReportService.Service
         private IVitalHealthStatisticDBService _vitalHealthStatisticDBService;
         private IVitalPrescriptionDBService _prescriptionDBService;
         private IVitalElectrocardiogramDBService _vitalElectrocardiogramDBService { get; set; }
+        private IVitalFacturyPostHistoryService _vitalFacturyPostHistoryService { get; set; }
         private string _messageUrl => EnvironmentConfigManager.GetParammeter<StringParameter>("Report", "MessageUrl").Value;
         private string _reportUrl => EnvironmentConfigManager.GetParammeter<StringParameter>("Report", "ReportUrl").Value;
         private string _reportMessageTemplateId => EnvironmentConfigManager.GetParammeter<StringParameter>("Report", "ReportMessageTemplateId").Value;
@@ -115,6 +117,7 @@ namespace ReportService.Service
             _registerInfoDBService = GetProxy<IRegisterInfoDBService>();
             _vitalHealthStatisticDBService = GetProxy<IVitalHealthStatisticDBService>();
             _vitalElectrocardiogramDBService = GetProxy<IVitalElectrocardiogramDBService>();
+            _vitalFacturyPostHistoryService = GetProxy<IVitalFacturyPostHistoryService>();
             if (_httpService.Contains("VitalMixtureService"))
             {
                 _vitalHealthExamBookingDBService = GetProxy<IVitalHealthExamBookingDBService>();