fly 11 months ago
parent
commit
c5881c7260

+ 14 - 1
src/VitalMixtureService/DBService/Service/DoctorStatisticsDBService.cs

@@ -110,7 +110,20 @@ namespace VitalService.Service
                             //档案合格数
                             statisticsDetail.QualifiedArchivesNum = normalPatiens.Count(x => !string.IsNullOrWhiteSpace(x.EmergencyName) && !string.IsNullOrWhiteSpace(x.EmergencyPhone));
                             statisticsDetail.SignNum = contractRecords.Count();
-                            statisticsDetail.RenewalsNum = 0;//todo 续约人数
+                            var contractedPatients = contractRecords.Where(x => x.ServiceStartDate <= DateTime.Now && x.ServiceEndDate > DateTime.Now).GroupBy(x => x.ContractedPatient);
+                            statisticsDetail.RenewalsNum = 0;// 续约人数
+                            foreach (var item in contractedPatients)
+                            {
+                                var tempList = contractRecords.Where(x => x.ContractedPatient == item.Key);
+                                if (tempList != null && tempList.Count() > 1)
+                                {
+                                    var count = tempList.GroupBy(x => x.ServiceStartDate).Count();
+                                    if (count > 1)
+                                    {
+                                        statisticsDetail.RenewalsNum++;
+                                    }
+                                }
+                            }
                             statisticsDetail.KeyPeopleNum = userKeyPatients.Count();
                             if (userKeyPatientCodes.Count() > 0)
                             {

+ 1 - 0
src/VitalMixtureService/DBService/Service/PrescriptionDBService.cs

@@ -283,6 +283,7 @@ namespace VitalService.Service
             var patientInfo = await _patientDBRepository.FindOneAsync(Builders<PatientEntity>.Filter.Eq(f => f.Code, prescriptionEntity.PatientCode));
             var dto = new PrescriptionDTO
             {
+                Code  = prescriptionEntity.Code,
                 PatientCode = prescriptionEntity.PatientCode,
                 PatientName = patientInfo?.PatientName == null ? string.Empty :_encryptInstance.Decrypt(patientInfo.PatientName),
                 PreviewUrl = prescriptionEntity.PreviewUrl,

+ 40 - 23
src/VitalMixtureService/FrontService/Service/PrescriptionService.cs

@@ -47,7 +47,7 @@ namespace VitalService.Service
                     //加入报告队列
                     var joinReq = new VitalReportConvertDetailRequest()
                     {
-                        PhysicalExamNumber = "",
+                        PhysicalExamNumber = request.PhysicalExamNumber,
                         IDCardNo = "",
                         ExamType = 199,
                         ExamCode = "",
@@ -205,30 +205,47 @@ namespace VitalService.Service
             var result = await _prescriptionDBService.UpdatePrescriptionAsync(dbRequest);
             if (result)
             {
-                var firstTemplate = await _templateDBService.GetTemplateDetailByKeyAsync(new GetTemplateByKeyDBRequest { Key = "Key", Value = "CF_" + request.Key });
-                if (firstTemplate != null)
+                //加入报告队列
+                var joinReq = new VitalReportConvertDetailRequest()
                 {
-                    var templateTagIds = GetAllTagIdJson(firstTemplate.TemplateContent);
-                    var prescriptionData = GetReportDataJson(request.PrescriptionData, templateTagIds);
-                    var reportRequest = new ConvertVitalReportPreviewImageRequest
-                    {
-                        ReportInfo = new WingInterfaceLibrary.DTO.Report.ReportDTO
-                        {
-                            ReportTemplateJson = firstTemplate.TemplateContent,
-                            ReportDatasJson = prescriptionData,
-                        },
-                        Token = "637f02a065ad47fbbe01b956919419c2"
-                    };
-                    var dto = await _wingReportService.ConvertVitalReportPreviewPDFAsync(reportRequest);
-                    if (dto != null)
-                    {
-                        await _prescriptionDBService.SetPrescriptionPreviewInfoAsync(new SetPrescriptionPreviewInfoDBRequest
-                        {
-                            Code = request.Code,
-                            PreviewUrl = dto.FileToken
-                        });
-                    }
+                    PhysicalExamNumber = request.PhysicalExamNumber,
+                    IDCardNo = "",
+                    ExamType = 199,
+                    ExamCode = "",
+                    ReportCode = request.Code,
+                    Type = 1,
+                    IsCover = true
+                };
+                var res = await _wingReportService.JoinVitalReportQueueAsync(joinReq);
+                if (!res)
+                {
+                    Logger.WriteLineInfo($"Add CreatePrescriptionAsync Report Fail, joinReq: {JsonConvert.SerializeObject(joinReq)}");
                 }
+
+                // var firstTemplate = await _templateDBService.GetTemplateDetailByKeyAsync(new GetTemplateByKeyDBRequest { Key = "Key", Value = "CF_" + request.Key });
+                // if (firstTemplate != null)
+                // {
+                //     var templateTagIds = GetAllTagIdJson(firstTemplate.TemplateContent);
+                //     var prescriptionData = GetReportDataJson(request.PrescriptionData, templateTagIds);
+                //     var reportRequest = new ConvertVitalReportPreviewImageRequest
+                //     {
+                //         ReportInfo = new WingInterfaceLibrary.DTO.Report.ReportDTO
+                //         {
+                //             ReportTemplateJson = firstTemplate.TemplateContent,
+                //             ReportDatasJson = prescriptionData,
+                //         },
+                //         Token = "637f02a065ad47fbbe01b956919419c2"
+                //     };
+                //     var dto = await _wingReportService.ConvertVitalReportPreviewPDFAsync(reportRequest);
+                //     if (dto != null)
+                //     {
+                //         await _prescriptionDBService.SetPrescriptionPreviewInfoAsync(new SetPrescriptionPreviewInfoDBRequest
+                //         {
+                //             Code = request.Code,
+                //             PreviewUrl = dto.FileToken
+                //         });
+                //     }
+                // }
             }
             return result;
         }