diff --git a/src/Shentun.Peis.Application.Contracts/PatientRegisters/DoctorPeisRecordListInputDto.cs b/src/Shentun.Peis.Application.Contracts/PatientRegisters/DoctorPeisRecordListInputDto.cs index 4ec3da3..68f0a76 100644 --- a/src/Shentun.Peis.Application.Contracts/PatientRegisters/DoctorPeisRecordListInputDto.cs +++ b/src/Shentun.Peis.Application.Contracts/PatientRegisters/DoctorPeisRecordListInputDto.cs @@ -1,6 +1,7 @@ using Shentun.Peis.PeisReports; using System; using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; using System.Text; using Volo.Abp.Application.Dtos; @@ -62,6 +63,10 @@ namespace Shentun.Peis.PatientRegisters /// public List MedicalTypeIds { get; set; } = new List(); + /// + /// 检查医生ID集合 + /// + public List CheckDoctorIds { get; set; } = new List(); public override int MaxResultCount { get; set; } = 100; } diff --git a/src/Shentun.Peis.Application.Contracts/PatientRegisters/GetListInSearchDto.cs b/src/Shentun.Peis.Application.Contracts/PatientRegisters/GetListInSearchDto.cs index adc9318..119c69c 100644 --- a/src/Shentun.Peis.Application.Contracts/PatientRegisters/GetListInSearchDto.cs +++ b/src/Shentun.Peis.Application.Contracts/PatientRegisters/GetListInSearchDto.cs @@ -61,14 +61,19 @@ namespace Shentun.Peis.PatientRegisters public char DateType { get; set; } = '1'; /// - /// 完成状态 + /// 完成状态 改成多选集合 /// - public char? CompleteFlag { get; set; } + public List CompleteFlags { get; set; } = new List(); /// - /// 是否需要过滤预登记数据 Y=过滤预登记数据 N=不过滤 默认为N (备注:只有CompleteFlag参数的值不为0的情况才有效,null值也有效) + /// 体检类别id集合 /// - public char? IsFilterPreRegistration { get; set; } = 'N'; + public List MedicalTypeIds { get; set; } = new List(); + + ///// + ///// 是否需要过滤预登记数据 Y=过滤预登记数据 N=不过滤 默认为N (备注:只有CompleteFlag参数的值不为0的情况才有效,null值也有效) + ///// + //public char? IsFilterPreRegistration { get; set; } = 'N'; /// /// 手机号(支持手机跟座机) diff --git a/src/Shentun.Peis.Application.Contracts/PatientRegisters/SumDoctorPeisRecordListInputtDto.cs b/src/Shentun.Peis.Application.Contracts/PatientRegisters/SumDoctorPeisRecordListInputtDto.cs index 234da08..14abb4e 100644 --- a/src/Shentun.Peis.Application.Contracts/PatientRegisters/SumDoctorPeisRecordListInputtDto.cs +++ b/src/Shentun.Peis.Application.Contracts/PatientRegisters/SumDoctorPeisRecordListInputtDto.cs @@ -56,7 +56,10 @@ namespace Shentun.Peis.PatientRegisters /// public List Asbitems { get; set; } = new List(); - + /// + /// 检查医生ID集合 + /// + public List CheckDoctorIds { get; set; } = new List(); /// diff --git a/src/Shentun.Peis.Application/PatientRegisters/PatientRegisterAppService.cs b/src/Shentun.Peis.Application/PatientRegisters/PatientRegisterAppService.cs index 1f5390e..9693e94 100644 --- a/src/Shentun.Peis.Application/PatientRegisters/PatientRegisterAppService.cs +++ b/src/Shentun.Peis.Application/PatientRegisters/PatientRegisterAppService.cs @@ -513,27 +513,17 @@ namespace Shentun.Peis.PatientRegisters ); } } - if (input.CompleteFlag != null) + if (input.CompleteFlags.Any()) { - entlist = entlist.Where(m => m.patientRegister.CompleteFlag == input.CompleteFlag); - if (input.CompleteFlag != PatientRegisterCompleteFlag.PreRegistration && input.IsFilterPreRegistration != null && input.IsFilterPreRegistration == 'Y') - { - //直接过滤 - entlist = entlist.Where(m => m.patientRegister.CompleteFlag != PatientRegisterCompleteFlag.PreRegistration); - } - + entlist = entlist.Where(m => input.CompleteFlags.Contains(m.patientRegister.CompleteFlag)); } - else + + if (input.MedicalTypeIds.Any()) { - if (input.IsFilterPreRegistration != null && input.IsFilterPreRegistration == 'Y') - { - //直接过滤 - entlist = entlist.Where(m => m.patientRegister.CompleteFlag != PatientRegisterCompleteFlag.PreRegistration); - } + entlist = entlist.Where(m => input.MedicalTypeIds.Contains(m.patientRegister.MedicalTypeId)); } - if (input.CustomerOrgId != null) { var CustomerOrgIds = await _customerOrgManager.GetCustomerOrgChildrenId(input.CustomerOrgId.Value); @@ -1400,7 +1390,8 @@ namespace Shentun.Peis.PatientRegisters ab, AsbitemId = ad != null ? ad.AsbitemId : Guid.Empty, RegisterCheckCompleteFlag = ac != null ? ac.CompleteFlag : '9', - RegisterCheckIsAudit = ac != null ? ac.IsAudit : '9' + RegisterCheckIsAudit = ac != null ? ac.IsAudit : '9', + CheckDoctorId = ac.CheckDoctorId }; @@ -1499,7 +1490,10 @@ namespace Shentun.Peis.PatientRegisters sumquery = sumquery.Where(m => m.a.SexId == input.SexId); } - + if (input.CheckDoctorIds.Any()) + { + sumquery = sumquery.Where(m => input.CheckDoctorIds.Contains(m.CheckDoctorId)); + } if (input.CompleteFlag != null) { @@ -1688,7 +1682,8 @@ namespace Shentun.Peis.PatientRegisters ab, AsbitemId = ad != null ? ad.AsbitemId : Guid.Empty, RegisterCheckCompleteFlag = ac != null ? ac.CompleteFlag : '9', - RegisterCheckIsAudit = ac != null ? ac.IsAudit : '9' + RegisterCheckIsAudit = ac != null ? ac.IsAudit : '9', + CheckDoctorId = ac.CheckDoctorId }; @@ -1787,7 +1782,10 @@ namespace Shentun.Peis.PatientRegisters sumquery = sumquery.Where(m => m.a.SexId == input.SexId); } - + if (input.CheckDoctorIds.Any()) + { + sumquery = sumquery.Where(m => input.CheckDoctorIds.Contains(m.CheckDoctorId)); + } if (input.CompleteFlag != null && input.CompleteFlag != PatientRegisterCompleteFlag.ItemCheckUnSumCheck)