diff --git a/src/Shentun.Peis.Application.Contracts/PatientRegisters/DoctorPeisRecordListInputDto.cs b/src/Shentun.Peis.Application.Contracts/PatientRegisters/DoctorPeisRecordListInputDto.cs
new file mode 100644
index 0000000..2c19086
--- /dev/null
+++ b/src/Shentun.Peis.Application.Contracts/PatientRegisters/DoctorPeisRecordListInputDto.cs
@@ -0,0 +1,61 @@
+using Shentun.Peis.PeisReports;
+using System;
+using System.Collections.Generic;
+using System.Text;
+using Volo.Abp.Application.Dtos;
+
+namespace Shentun.Peis.PatientRegisters
+{
+    public class DoctorPeisRecordListInputDto : PagedAndSortedResultRequestDto
+    {
+        /// 
+        /// 单位相关
+        /// 
+        public List CustomerOrgs { get; set; } = new List();
+
+        /// 
+        /// 姓名
+        /// 
+        public string PatientName { get; set; }
+
+        /// 
+        /// 性别
+        /// 
+        public char? SexId { get; set; }
+
+
+        /// 
+        /// 审核状态
+        /// 
+        public char? IsAudit { get; set; }
+
+
+        /// 
+        /// 完成标志(0 预登记  1正式登记  2部分已检 3已总检)
+        /// 
+        public char? CompleteFlag { get; set; }
+
+
+        /// 
+        /// 项目审核状态
+        /// 
+        public char? AsbitemIsAudit { get; set; }
+
+        /// 
+        /// 项目检查状态
+        /// 
+        public char? AsbitemCompleteFlag { get; set; }
+
+        /// 
+        /// 组合项目ID 集合
+        /// 
+        public List Asbitems { get; set; } = new List();
+
+        ///// 
+        ///// 是否有图 (Y  N) 非必传  默认为 N    
+        ///// 
+        //public char IsPicture { get; set; } = 'N';
+
+        public override int MaxResultCount { get; set; } = 100;
+    }
+}
diff --git a/src/Shentun.Peis.Application.Contracts/PatientRegisters/SumDoctorPeisRecordListInputtDto.cs b/src/Shentun.Peis.Application.Contracts/PatientRegisters/SumDoctorPeisRecordListInputtDto.cs
new file mode 100644
index 0000000..83bfbe1
--- /dev/null
+++ b/src/Shentun.Peis.Application.Contracts/PatientRegisters/SumDoctorPeisRecordListInputtDto.cs
@@ -0,0 +1,62 @@
+using Shentun.Peis.PeisReports;
+using System;
+using System.Collections.Generic;
+using System.Text;
+using Volo.Abp.Application.Dtos;
+
+namespace Shentun.Peis.PatientRegisters
+{
+    public class SumDoctorPeisRecordListInputtDto : PagedAndSortedResultRequestDto
+    {
+        /// 
+        /// 单位相关
+        /// 
+        public List CustomerOrgs { get; set; } = new List();
+
+        /// 
+        /// 姓名
+        /// 
+        public string? PatientName { get; set; }
+
+        /// 
+        /// 性别
+        /// 
+        public char? SexId { get; set; }
+
+
+        /// 
+        /// 审核状态
+        /// 
+        public char? IsAudit { get; set; }
+
+
+        /// 
+        /// 完成标志(0 预登记  1正式登记  2部分已检 3已总检  5项目全部检查未总检)  
+        /// 
+        public char? CompleteFlag { get; set; }
+
+
+        ///// 
+        ///// 是否需要过滤预登记数据  Y=过滤预登记数据  N=不过滤   默认为N  (备注:只有CompleteFlag参数的值不为0的情况才有效,null值也有效)
+        ///// 
+        //public char? IsFilterPreRegistration { get; set; } = 'N';
+
+        /// 
+        /// 项目审核状态
+        /// 
+        public char? AsbitemIsAudit { get; set; }
+
+        /// 
+        /// 项目检查状态
+        /// 
+        public char? AsbitemCompleteFlag { get; set; }
+
+        /// 
+        /// 组合项目ID 集合
+        /// 
+        public List Asbitems { get; set; } = new List();
+
+
+        public override int MaxResultCount { get; set; } = 100;
+    }
+}
diff --git a/src/Shentun.Peis.Application/DataMigrations/BaseDataHandleAppService.cs b/src/Shentun.Peis.Application/DataMigrations/BaseDataHandleAppService.cs
index 9a6f5e3..e2071f5 100644
--- a/src/Shentun.Peis.Application/DataMigrations/BaseDataHandleAppService.cs
+++ b/src/Shentun.Peis.Application/DataMigrations/BaseDataHandleAppService.cs
@@ -2768,130 +2768,136 @@ namespace Shentun.Peis.DataMigrations
 
             if (patientRegisterList.Any())
             {
+                List patientRegisterNos = new List { "P23083101999",
+                "P23083100427", "P23083101608","P23083100503", "P23083102172",
+                "P23083102000", "P23083100563", "P23083100542" };
+
                 foreach (var item in patientRegisterList)
                 {
 
-                    using (var uow = _unitOfWorkManager.Begin(requiresNew: true, isTransactional: true))
+                    if (!patientRegisterNos.Contains(item.PatientRegisterNo))
                     {
-                        #region 转换成老系统PatientRegisterId
-                        string oldPatientRegisterId = (await _fieldComparisonRepository.GetQueryableAsync())
-                            .Where(m => m.TableName == "patient_register" && m.NewKeyValue == item.Id.ToString()).FirstOrDefault().OldKeyValue;
-                        #endregion
-
-
-                        var oldSum = await Db.Ado.GetDataTableAsync($"select summary,suggestion from patient_register where patient_register_id='{oldPatientRegisterId}' ");
 
-                        if (oldSum.Rows.Count == 1)
+                        using (var uow = _unitOfWorkManager.Begin(requiresNew: true, isTransactional: true))
                         {
-                            string oldSummary = oldSum.Rows[0][0].ToString();
-                            string oldSuggestion= oldSum.Rows[0][1].ToString();
-
-                            if (!string.IsNullOrWhiteSpace(oldSummary))
-                            {
+                            #region 转换成老系统PatientRegisterId
+                            string oldPatientRegisterId = (await _fieldComparisonRepository.GetQueryableAsync())
+                                .Where(m => m.TableName == "patient_register" && m.NewKeyValue == item.Id.ToString()).FirstOrDefault().OldKeyValue;
+                            #endregion
 
-                                Guid sumSummaryHeaderId = GuidGenerator.Create();
 
-                                var dataSumSummaryHeader = new SumSummaryHeader(sumSummaryHeaderId)
-                                {
-                                    DisplayOrder = 1,
-                                    SummaryFlag = '0',
-                                    PatientRegisterId = item.Id,
-                                    SummaryTitle = "."
-                                };
+                            #region 综述、建议
+                            var oldSum = await Db.Ado.GetDataTableAsync($"select summary,suggestion,barcode_no from patient_register where patient_register_id='{oldPatientRegisterId}' ");
 
-                                await _sumSummaryHeaderRepository.InsertAsync(dataSumSummaryHeader);
+                            if (oldSum.Rows.Count == 1)
+                            {
+                                string oldSummary = oldSum.Rows[0][0].ToString();
+                                string oldSuggestion = oldSum.Rows[0][1].ToString();
 
-                                Guid sumSummaryContentId = GuidGenerator.Create();
-                                var dataSumSummaryContent = new SumSummaryContent(sumSummaryContentId)
+                                if (!string.IsNullOrWhiteSpace(oldSummary))
                                 {
-                                    DisplayOrder = 1,
-                                    SumSummaryHeaderId = sumSummaryHeaderId,
-                                    SummaryContent = oldSummary
-                                };
 
-                                await _sumSummaryContentRepository.InsertAsync(dataSumSummaryContent);
+                                    Guid sumSummaryHeaderId = GuidGenerator.Create();
 
-                                await uow.CompleteAsync();
-                            }
+                                    var dataSumSummaryHeader = new SumSummaryHeader(sumSummaryHeaderId)
+                                    {
+                                        DisplayOrder = 1,
+                                        SummaryFlag = '0',
+                                        PatientRegisterId = item.Id,
+                                        SummaryTitle = "综述"
+                                    };
 
+                                    await _sumSummaryHeaderRepository.InsertAsync(dataSumSummaryHeader);
 
+                                    Guid sumSummaryContentId = GuidGenerator.Create();
+                                    var dataSumSummaryContent = new SumSummaryContent(sumSummaryContentId)
+                                    {
+                                        DisplayOrder = 1,
+                                        SumSummaryHeaderId = sumSummaryHeaderId,
+                                        SummaryContent = oldSummary
+                                    };
 
+                                    await _sumSummaryContentRepository.InsertAsync(dataSumSummaryContent);
 
-                            if (!string.IsNullOrWhiteSpace(oldSuggestion))
-                            {
+                                }
 
-                                Guid sumSuggestionHeaderId = GuidGenerator.Create();
 
-                                var dataSumSuggestionHeader = new SumSuggestionHeader(sumSuggestionHeaderId)
+                                if (!string.IsNullOrWhiteSpace(oldSuggestion))
                                 {
-                                    DisplayOrder = 1,
-                                    SuggestionFlag = '0',
-                                    PatientRegisterId = item.Id,
-                                    SuggestionTitle = "."
-                                };
 
-                                await _sumSuggestionHeaderRepository.InsertAsync(dataSumSuggestionHeader);
+                                    Guid sumSuggestionHeaderId = GuidGenerator.Create();
 
-                                Guid sumSuggestionContentId = GuidGenerator.Create();
-                                var dataSumSuggestionContent = new SumSuggestionContent(sumSuggestionContentId)
-                                {
-                                    DisplayOrder = 1,
-                                    SuggestionContent = oldSuggestion,
-                                    SuggestionType = SuggestionTypeFlag.HealthGuidance,
-                                    SumSuggestionHeaderId = sumSuggestionHeaderId
-                                };
+                                    var dataSumSuggestionHeader = new SumSuggestionHeader(sumSuggestionHeaderId)
+                                    {
+                                        DisplayOrder = 1,
+                                        SuggestionFlag = '0',
+                                        PatientRegisterId = item.Id,
+                                        SuggestionTitle = "建议"
+                                    };
 
-                                await _sumSuggestionContentRepository.InsertAsync(dataSumSuggestionContent);
+                                    await _sumSuggestionHeaderRepository.InsertAsync(dataSumSuggestionHeader);
 
-                                await uow.CompleteAsync();
-                            }
+                                    Guid sumSuggestionContentId = GuidGenerator.Create();
+                                    var dataSumSuggestionContent = new SumSuggestionContent(sumSuggestionContentId)
+                                    {
+                                        DisplayOrder = 1,
+                                        SuggestionContent = oldSuggestion,
+                                        SuggestionType = SuggestionTypeFlag.HealthGuidance,
+                                        SumSuggestionHeaderId = sumSuggestionHeaderId
+                                    };
 
-                        }
+                                    await _sumSuggestionContentRepository.InsertAsync(dataSumSuggestionContent);
 
-                 
 
 
-                        var oldSummaryDiagnosis = await Db.Ado.GetDataTableAsync($"select diagnosis_id from summary_diagnosis where patient_register_id='{oldPatientRegisterId}' order by display_order asc ");
+                                    #region 总症诊断
+                                    var oldSummaryDiagnosis = await Db.Ado.GetDataTableAsync($"select diagnosis_id from summary_diagnosis where patient_register_id='{oldPatientRegisterId}' order by display_order asc ");
 
-                        if (oldSummaryDiagnosis.Rows.Count > 0)
-                        {
-                            //获取建议头
-                            var sumSuggestionHeaderEnt = await _sumSuggestionHeaderRepository.FirstOrDefaultAsync(m => m.PatientRegisterId == item.Id);
-                            if (sumSuggestionHeaderEnt != null)
-                            {
-                                List sumDiagnosisInsert = new List();
-
-                                foreach (DataRow row in oldSummaryDiagnosis.Rows)
-                                {
-                                    var diagnosisEnt = (await _fieldComparisonRepository.GetQueryableAsync())
-                                  .Where(m => m.TableName == "diagnosis" && m.OldKeyValue == row["diagnosis_id"].ToString()).FirstOrDefault();
-                                    if (diagnosisEnt != null)
+                                    if (oldSummaryDiagnosis.Rows.Count > 0)
                                     {
+                                        List sumDiagnosisInsert = new List();
 
-                                        var dataSumDiagnosis = new SumDiagnosis
+                                        foreach (DataRow row in oldSummaryDiagnosis.Rows)
                                         {
-                                            DisplayOrder = oldSummaryDiagnosis.Rows.IndexOf(row) + 1,
-                                            PatientRegisterId = item.Id,
-                                            DiagnosisId = Guid.Parse(diagnosisEnt.NewKeyValue),
-                                            SumSuggestionHeaderId = sumSuggestionHeaderEnt.Id
-                                        };
+                                            var diagnosisEnt = (await _fieldComparisonRepository.GetQueryableAsync())
+                                          .Where(m => m.TableName == "diagnosis" && m.OldKeyValue == row["diagnosis_id"].ToString()).FirstOrDefault();
+                                            if (diagnosisEnt != null)
+                                            {
+
+                                                var dataSumDiagnosis = new SumDiagnosis
+                                                {
+                                                    DisplayOrder = oldSummaryDiagnosis.Rows.IndexOf(row) + 1,
+                                                    PatientRegisterId = item.Id,
+                                                    DiagnosisId = Guid.Parse(diagnosisEnt.NewKeyValue),
+                                                    SumSuggestionHeaderId = sumSuggestionContentId
+                                                };
+
+                                                sumDiagnosisInsert.Add(dataSumDiagnosis);
+
+
+                                            }
+
+
+                                        }
+
+                                        if (sumDiagnosisInsert.Any())
+                                            await _sumDiagnosisRepository.InsertManyAsync(sumDiagnosisInsert);
 
-                                        sumDiagnosisInsert.Add(dataSumDiagnosis);
                                     }
+                                    #endregion
 
 
                                 }
 
-                                if (sumDiagnosisInsert.Any())
-                                    await _sumDiagnosisRepository.InsertManyAsync(sumDiagnosisInsert);
 
-                                await uow.CompleteAsync();
                             }
-                        }
+                            #endregion
 
 
-                        await Db.Ado.ExecuteCommandAsync($"update  tb_export_key set  keyvalue='{item.Id}',addtime=getdate(),handlecount+=1 where tablename='sum_summary' ");
+                            await Db.Ado.ExecuteCommandAsync($"update  tb_export_key set  keyvalue='{item.Id}',addtime=getdate(),handlecount+=1 where tablename='sum_summary' ");
+                        }
                     }
+
                 }
 
                 await TransferSumSummaryData();
diff --git a/src/Shentun.Peis.Application/PatientRegisters/PatientRegisterAppService.cs b/src/Shentun.Peis.Application/PatientRegisters/PatientRegisterAppService.cs
index ebb7db0..51d0f9e 100644
--- a/src/Shentun.Peis.Application/PatientRegisters/PatientRegisterAppService.cs
+++ b/src/Shentun.Peis.Application/PatientRegisters/PatientRegisterAppService.cs
@@ -1065,29 +1065,31 @@ namespace Shentun.Peis.PatientRegisters
             await CurrentUnitOfWork.SaveChangesAsync();
             return;
         }
+
+
         /// 
-        /// 体检记录查询
+        /// 体检记录查询 医生诊台
         /// 
         /// 
         /// 
-        [HttpPost("api/patientregister/getpeisrecordlist")]
-        public async Task> GetPeisRecordListAsync(GetPeisRecordListRequestDto input)
+        [HttpPost("api/app/PatientRegister/GetDoctorPeisRecordList")]
+        public async Task> GetDoctorPeisRecordListAsync(DoctorPeisRecordListInputDto input)
         {
-            var customerOrgList = await _customerOrgRepository.GetListAsync();
 
             var query = from a in await _repository.GetQueryableAsync()
                         join b in await _patientRepository.GetQueryableAsync() on a.PatientId equals b.Id into bb
                         from ab in bb.DefaultIfEmpty()
-                        join c in await _userRepository.GetQueryableAsync() on a.CreatorId equals c.Id into cc
+                        join c in await _registerCheckRepository.GetQueryableAsync() on a.Id equals c.PatientRegisterId into cc
                         from ac in cc.DefaultIfEmpty()
-                        join d in await _userRepository.GetQueryableAsync() on a.LastModifierId equals d.Id into dd
+                        join d in await _registerCheckAsbitemRepository.GetQueryableAsync() on ac.Id equals d.RegisterCheckId into dd
                         from ad in dd.DefaultIfEmpty()
                         select new
                         {
                             a,
                             ab,
-                            ac,
-                            ad
+                            AsbitemId = ad != null ? ad.AsbitemId : Guid.Empty,
+                            RegisterCheckCompleteFlag = ac != null ? ac.CompleteFlag : '9',
+                            RegisterCheckIsAudit = ac != null ? ac.IsAudit : '9'
                         };
 
 
@@ -1190,22 +1192,253 @@ namespace Shentun.Peis.PatientRegisters
 
             if (input.CompleteFlag != null)
             {
-
                 sumquery = sumquery.Where(m => m.a.CompleteFlag == input.CompleteFlag);
+            }
+            else
+            {
+                //直接过滤
+                sumquery = sumquery.Where(m => m.a.CompleteFlag != PatientRegisterCompleteFlag.PreRegistration);
+            }
+
+            if (input.IsAudit != null)
+            {
+                sumquery = sumquery.Where(m => m.a.IsAudit == input.IsAudit);
+            }
+
+            if (input.Asbitems.Any())
+            {
+
+                sumquery = sumquery.Where(m => input.Asbitems.Contains(m.AsbitemId));
+            }
+
+            //if (input.IsPicture == 'Y')
+            //{
+            //    //查询有图数据
+            //    var query_picture = from a in await _registerCheckAsbitemRepository.GetQueryableAsync()
+            //                        join b in await _registerCheckPictureRepository.GetQueryableAsync() on a.RegisterCheckId equals b.RegisterCheckId
+            //                        select a.PatientRegisterId;
+            //    sumquery = sumquery.Where(m => query_picture.Contains(m.a.Id));
+            //}
+
+            if (input.AsbitemCompleteFlag != null)
+            {
+                sumquery = sumquery.Where(m => m.RegisterCheckCompleteFlag == input.AsbitemCompleteFlag);
+            }
+
+            if (input.AsbitemIsAudit != null)
+            {
+                sumquery = sumquery.Where(m => m.RegisterCheckIsAudit == input.AsbitemIsAudit);
+            }
+
+
+            var sumqueryGroup = sumquery.ToList().GroupBy(g => g.a.Id);
+
+            int totalCount = sumqueryGroup.Count();
+
+            var entlist = sumqueryGroup.OrderBy(o => o.Key).Skip(input.SkipCount * input.MaxResultCount).Take(input.MaxResultCount).Select(s => new PatientRegisterOrNoDto
+            {
+                CreationTime = s.FirstOrDefault().a.CreationTime,
+                CreatorId = s.FirstOrDefault().a.CreatorId,
+                Id = s.FirstOrDefault().a.Id,
+                LastModificationTime = s.FirstOrDefault().a.LastModificationTime,
+                LastModifierId = s.FirstOrDefault().a.LastModifierId,
+                ThirdInfo = s.FirstOrDefault().a.ThirdInfo,
+                SummaryDoctorId = s.FirstOrDefault().a.SummaryDoctorId,
+                SummaryDate = DataHelper.ConversionDateToString(s.FirstOrDefault().a.SummaryDate),
+                SexId = s.FirstOrDefault().a.SexId,
+                Age = s.FirstOrDefault().a.Age,
+                AuditDate = DataHelper.ConversionDateToString(s.FirstOrDefault().a.AuditDate),
+                AuditDoctorId = s.FirstOrDefault().a.AuditDoctorId,
+                BirthDate = DataHelper.ConversionDateToString(s.FirstOrDefault().a.BirthDate),
+                CompleteFlag = s.FirstOrDefault().a.CompleteFlag,
+                CustomerOrgGroupId = s.FirstOrDefault().a.CustomerOrgGroupId,
+                CustomerOrgId = s.FirstOrDefault().a.CustomerOrgId,
+                CustomerOrgRegisterId = s.FirstOrDefault().a.CustomerOrgRegisterId,
+                GuidePrintTimes = s.FirstOrDefault().a.GuidePrintTimes,
+                InterposeMeasure = s.FirstOrDefault().a.InterposeMeasure,
+                IsAudit = s.FirstOrDefault().a.IsAudit,
+                IsLock = s.FirstOrDefault().a.IsLock,
+                IsMedicalStart = s.FirstOrDefault().a.IsMedicalStart,
+                IsNameHide = s.FirstOrDefault().a.IsNameHide,
+                IsPhoneFollow = s.FirstOrDefault().a.IsPhoneFollow,
+                IsRecoverGuide = s.FirstOrDefault().a.IsRecoverGuide,
+                IsUpload = s.FirstOrDefault().a.IsUpload,
+                IsVip = s.FirstOrDefault().a.IsVip,
+                JobCardNo = s.FirstOrDefault().a.JobCardNo,
+                JobPost = s.FirstOrDefault().a.JobPost,
+                JobTitle = s.FirstOrDefault().a.JobTitle,
+                MaritalStatusId = s.FirstOrDefault().a.MaritalStatusId,
+                MedicalCardNo = s.FirstOrDefault().a.MedicalCardNo,
+                MedicalConclusionId = s.FirstOrDefault().a.MedicalConclusionId,
+                MedicalPackageId = s.FirstOrDefault().a.MedicalPackageId,
+                MedicalStartDate = DataHelper.ConversionDateToString(s.FirstOrDefault().a.MedicalStartDate),
+                MedicalTimes = s.FirstOrDefault().a.MedicalTimes,
+                MedicalTypeId = s.FirstOrDefault().a.MedicalTypeId,
+                MedicalCenterId = s.FirstOrDefault().a.MedicalCenterId,
+                PatientId = s.FirstOrDefault().a.PatientId,
+                PatientName = s.FirstOrDefault().a.PatientName,
+                PatientRegisterNo = s.FirstOrDefault().a.PatientRegisterNo,
+                PersonnelTypeId = s.FirstOrDefault().a.PersonnelTypeId,
+                Photo = s.FirstOrDefault().a.Photo,
+                Remark = s.FirstOrDefault().a.Remark,
+                ReportPrintTimes = s.FirstOrDefault().a.ReportPrintTimes,
+                Salesman = s.FirstOrDefault().a.Salesman,
+                SexHormoneTermId = s.FirstOrDefault().a.SexHormoneTermId,
+                CreatorName = "",
+                LastModifierName = "",
+                Address = s.FirstOrDefault().ab.Address,  //档案表信息
+                BirthPlaceId = s.FirstOrDefault().ab.BirthPlaceId,
+                DisplayName = s.FirstOrDefault().ab.DisplayName,
+                Email = s.FirstOrDefault().ab.Email,
+                IdNo = s.FirstOrDefault().ab.IdNo,
+                MobileTelephone = s.FirstOrDefault().ab.MobileTelephone,
+                NationId = s.FirstOrDefault().ab.NationId,
+                PatientNo = s.FirstOrDefault().ab.PatientNo,
+                PatientPassword = s.FirstOrDefault().ab.PatientPassword,
+                PostalCode = s.FirstOrDefault().ab.PostalCode,
+                Telephone = s.FirstOrDefault().ab.Telephone,
+                CustomerOrgName = _cacheService.GetCustomerOrgNameAsync(s.FirstOrDefault().a.CustomerOrgId).Result,
+                CustomerOrgParentId = _cacheService.GetTopCustomerOrgAsync(s.FirstOrDefault().a.CustomerOrgId).Result.Id,
+                CustomerOrgParentName = _cacheService.GetTopCustomerOrgNameAsync(s.FirstOrDefault().a.CustomerOrgId).Result
+
+            }).ToList();
+
+            return new PagedResultDto(totalCount, entlist);
+
+        }
+
+
+
+        /// 
+        /// 体检记录查询 总症医生诊台
+        /// 
+        /// 
+        /// 
+        [HttpPost("api/app/PatientRegister/GetSumDoctorPeisRecordList")]
+        public async Task> GetSumDoctorPeisRecordListAsync(SumDoctorPeisRecordListInputtDto input)
+        {
+            var query = from a in await _repository.GetQueryableAsync()
+                        join b in await _patientRepository.GetQueryableAsync() on a.PatientId equals b.Id into bb
+                        from ab in bb.DefaultIfEmpty()
+                        join c in await _registerCheckRepository.GetQueryableAsync() on a.Id equals c.PatientRegisterId into cc
+                        from ac in cc.DefaultIfEmpty()
+                        join d in await _registerCheckAsbitemRepository.GetQueryableAsync() on ac.Id equals d.RegisterCheckId into dd
+                        from ad in dd.DefaultIfEmpty()
+                        select new
+                        {
+                            a,
+                            ab,
+                            AsbitemId = ad != null ? ad.AsbitemId : Guid.Empty,
+                            RegisterCheckCompleteFlag = ac != null ? ac.CompleteFlag : '9',
+                            RegisterCheckIsAudit = ac != null ? ac.IsAudit : '9'
+                        };
+
+
+            var sumquery = query;
+
+
+            if (input.CustomerOrgs.Any())
+            {
+
+                var item = input.CustomerOrgs[0];
+
+                if (item.CustomerOrgGroupId.Any())
+                {
+                    sumquery = sumquery.Where(m => m.a.CustomerOrgGroupId != null && item.CustomerOrgGroupId.Contains(m.a.CustomerOrgGroupId.Value));
+                }
+                if (item.CustomerOrgRegisterId != null && item.CustomerOrgRegisterId != Guid.Empty)
+                {
+                    sumquery = sumquery.Where(m => m.a.CustomerOrgRegisterId == item.CustomerOrgRegisterId);
+                }
+                if (item.CustomerOrgId != null)
+                {
+                    var CustomerOrgIds = await _customerOrgManager.GetCustomerOrgChildrenId(item.CustomerOrgId.Value);
+                    sumquery = sumquery.Where(m => CustomerOrgIds.Contains(m.a.CustomerOrgId));
+                }
+                if (!string.IsNullOrEmpty(item.StartDate) && !string.IsNullOrEmpty(item.EndDate))
+                {
+                    if (item.DateType == '1')
+                    {
+                        sumquery = sumquery.Where(m => m.a.CreationTime >= Convert.ToDateTime(item.StartDate) &&
+                     m.a.CreationTime < Convert.ToDateTime(item.EndDate).AddDays(1));
+                    }
+                    else if (item.DateType == '2')
+                    {
+                        sumquery = sumquery.Where(m => m.a.MedicalStartDate != null && m.a.MedicalStartDate >= Convert.ToDateTime(item.StartDate) &&
+                     m.a.MedicalStartDate.Value < Convert.ToDateTime(item.EndDate).AddDays(1));
+                    }
+                    else if (item.DateType == '3')
+                    {
+                        sumquery = sumquery.Where(m => m.a.SummaryDate != null && m.a.SummaryDate.Value >= Convert.ToDateTime(item.StartDate) &&
+                  m.a.SummaryDate.Value < Convert.ToDateTime(item.EndDate).AddDays(1));
+                    }
+                }
+
+                if (input.CustomerOrgs.Count > 1)
+                {
+                    foreach (var item2 in input.CustomerOrgs)
+                    {
+
+                        if (input.CustomerOrgs.IndexOf(item2) > 0)
+                        {
+                            var newquery = query;
+                            if (item2.CustomerOrgGroupId.Any())
+                            {
+                                newquery = newquery.Where(m => m.a.CustomerOrgGroupId != null && item2.CustomerOrgGroupId.Contains(m.a.CustomerOrgGroupId.Value));
+                            }
+                            if (item2.CustomerOrgRegisterId != null && item2.CustomerOrgRegisterId != Guid.Empty)
+                            {
+                                newquery = newquery.Where(m => m.a.CustomerOrgRegisterId == item2.CustomerOrgRegisterId);
+                            }
+                            if (item2.CustomerOrgId != null)
+                            {
+                                var CustomerOrgIds = await _customerOrgManager.GetCustomerOrgChildrenId(item2.CustomerOrgId.Value);
+                                newquery = newquery.Where(m => CustomerOrgIds.Contains(m.a.CustomerOrgId));
+                            }
+                            if (!string.IsNullOrEmpty(item2.StartDate) && !string.IsNullOrEmpty(item2.EndDate))
+                            {
+                                if (item2.DateType == '1')
+                                {
+                                    newquery = newquery.Where(m => m.a.CreationTime >= Convert.ToDateTime(item2.StartDate) &&
+                                 m.a.CreationTime < Convert.ToDateTime(item2.EndDate).AddDays(1));
+                                }
+                                else if (item2.DateType == '2')
+                                {
+                                    newquery = newquery.Where(m => m.a.MedicalStartDate != null && m.a.MedicalStartDate.Value >= Convert.ToDateTime(item2.StartDate) &&
+                                 m.a.MedicalStartDate.Value < Convert.ToDateTime(item2.EndDate).AddDays(1));
+                                }
+                                else if (item2.DateType == '3')
+                                {
+                                    newquery = newquery.Where(m => m.a.SummaryDate != null && m.a.SummaryDate.Value >= Convert.ToDateTime(item2.StartDate) &&
+                              m.a.SummaryDate.Value < Convert.ToDateTime(item2.EndDate).AddDays(1));
+                                }
+                            }
+                            sumquery = sumquery.Union(newquery);
+                        }
+                    }
+                }
+            }
 
-                //if (input.CompleteFlag != PatientRegisterCompleteFlag.PreRegistration && input.IsFilterPreRegistration != null && input.IsFilterPreRegistration == 'Y')
-                //{
-                //    //直接过滤
-                //    sumquery = sumquery.Where(m => m.a.CompleteFlag != PatientRegisterCompleteFlag.PreRegistration);
-                //}
+            if (!string.IsNullOrEmpty(input.PatientName))
+            {
+                sumquery = sumquery.Where(m => m.a.PatientName != null && m.a.PatientName.Contains(input.PatientName));
+            }
+
+            if (input.SexId != null)
+            {
+                sumquery = sumquery.Where(m => m.a.SexId == input.SexId);
+            }
+
+
+
+            if (input.CompleteFlag != null && input.CompleteFlag != PatientRegisterCompleteFlag.ItemCheckUnSumCheck)
+            {
+                sumquery = sumquery.Where(m => m.a.CompleteFlag == input.CompleteFlag);
             }
             else
             {
-                //if (input.IsFilterPreRegistration != null && input.IsFilterPreRegistration == 'Y')
-                //{
                 //直接过滤
                 sumquery = sumquery.Where(m => m.a.CompleteFlag != PatientRegisterCompleteFlag.PreRegistration);
-                //}
             }
 
             if (input.IsAudit != null)
@@ -1215,102 +1448,110 @@ namespace Shentun.Peis.PatientRegisters
 
             if (input.Asbitems.Any())
             {
-                //组合项目
-                var query_asbitem = from a in await _registerCheckAsbitemRepository.GetQueryableAsync()
-                                    where input.Asbitems.Contains(a.AsbitemId)
-                                    select a.PatientRegisterId;
-                sumquery = sumquery.Where(m => query_asbitem.Contains(m.a.Id));
+
+                sumquery = sumquery.Where(m => input.Asbitems.Contains(m.AsbitemId));
             }
 
-            if (input.IsPicture == 'Y')
+
+
+            if (input.AsbitemCompleteFlag != null)
             {
-                //查询有图数据
-                var query_picture = from a in await _registerCheckAsbitemRepository.GetQueryableAsync()
-                                    join b in await _registerCheckPictureRepository.GetQueryableAsync() on a.RegisterCheckId equals b.RegisterCheckId
-                                    select a.PatientRegisterId;
-                sumquery = sumquery.Where(m => query_picture.Contains(m.a.Id));
+                sumquery = sumquery.Where(m => m.RegisterCheckCompleteFlag == input.AsbitemCompleteFlag);
             }
 
+            if (input.AsbitemIsAudit != null)
+            {
+                sumquery = sumquery.Where(m => m.RegisterCheckIsAudit == input.AsbitemIsAudit);
+            }
 
 
+            var sumqueryGroup = sumquery.ToList().GroupBy(g => g.a.Id);
 
-            int totalCount = sumquery.Count();
 
-            sumquery = sumquery.Skip(input.SkipCount * input.MaxResultCount).Take(input.MaxResultCount);
+            List entlist = new List();
 
-            var entlist = sumquery.Select(s => new PatientRegisterOrNoDto
+            foreach (var s in sumqueryGroup.OrderBy(o => o.Key))
             {
-                CreationTime = s.a.CreationTime,
-                CreatorId = s.a.CreatorId,
-                Id = s.a.Id,
-                LastModificationTime = s.a.LastModificationTime,
-                LastModifierId = s.a.LastModifierId,
-                ThirdInfo = s.a.ThirdInfo,
-                SummaryDoctorId = s.a.SummaryDoctorId,
-                SummaryDate = DataHelper.ConversionDateToString(s.a.SummaryDate),
-                SexId = s.a.SexId,
-                Age = s.a.Age,
-                AuditDate = DataHelper.ConversionDateToString(s.a.AuditDate),
-                AuditDoctorId = s.a.AuditDoctorId,
-                BirthDate = DataHelper.ConversionDateToString(s.a.BirthDate),
-                CompleteFlag = s.a.CompleteFlag,
-                CustomerOrgGroupId = s.a.CustomerOrgGroupId,
-                CustomerOrgId = s.a.CustomerOrgId,
-                CustomerOrgRegisterId = s.a.CustomerOrgRegisterId,
-                GuidePrintTimes = s.a.GuidePrintTimes,
-                InterposeMeasure = s.a.InterposeMeasure,
-                IsAudit = s.a.IsAudit,
-                IsLock = s.a.IsLock,
-                IsMedicalStart = s.a.IsMedicalStart,
-                IsNameHide = s.a.IsNameHide,
-                IsPhoneFollow = s.a.IsPhoneFollow,
-                IsRecoverGuide = s.a.IsRecoverGuide,
-                IsUpload = s.a.IsUpload,
-                IsVip = s.a.IsVip,
-                JobCardNo = s.a.JobCardNo,
-                JobPost = s.a.JobPost,
-                JobTitle = s.a.JobTitle,
-                MaritalStatusId = s.a.MaritalStatusId,
-                MedicalCardNo = s.a.MedicalCardNo,
-                MedicalConclusionId = s.a.MedicalConclusionId,
-                MedicalPackageId = s.a.MedicalPackageId,
-                MedicalStartDate = DataHelper.ConversionDateToString(s.a.MedicalStartDate),
-                MedicalTimes = s.a.MedicalTimes,
-                MedicalTypeId = s.a.MedicalTypeId,
-                MedicalCenterId = s.a.MedicalCenterId,
-                PatientId = s.a.PatientId,
-                PatientName = s.a.PatientName,
-                PatientRegisterNo = s.a.PatientRegisterNo,
-                PersonnelTypeId = s.a.PersonnelTypeId,
-                Photo = s.a.Photo,
-                Remark = s.a.Remark,
-                ReportPrintTimes = s.a.ReportPrintTimes,
-                Salesman = s.a.Salesman,
-                SexHormoneTermId = s.a.SexHormoneTermId,
-                CreatorName = s.ac != null ? s.ac.Surname : "",
-                LastModifierName = s.ad != null ? s.ad.Surname : "",
-                Address = s.ab.Address,  //档案表信息
-                BirthPlaceId = s.ab.BirthPlaceId,
-                DisplayName = s.ab.DisplayName,
-                Email = s.ab.Email,
-                IdNo = s.ab.IdNo,
-                MobileTelephone = s.ab.MobileTelephone,
-                NationId = s.ab.NationId,
-                PatientNo = s.ab.PatientNo,
-                PatientPassword = s.ab.PatientPassword,
-                PostalCode = s.ab.PostalCode,
-                Telephone = s.ab.Telephone,
-                CustomerOrgName = EntityHelper.GetCustomerOrgNameNoSql(customerOrgList, s.a.CustomerOrgId),
-                CustomerOrgParentId = EntityHelper.GetParentNoSql(customerOrgList, s.a.CustomerOrgId),
-                CustomerOrgParentName = EntityHelper.GetCustomerOrgParentNameNoSql(customerOrgList, s.a.CustomerOrgId)
+                if (input.CompleteFlag != PatientRegisterCompleteFlag.ItemCheckUnSumCheck
+                    || s.Where(m => m.RegisterCheckCompleteFlag != RegisterCheckCompleteFlag.Checked).Count() == 0)
+                {
+                    entlist.Add(new PatientRegisterOrNoDto
+                    {
+                        CreationTime = s.FirstOrDefault().a.CreationTime,
+                        CreatorId = s.FirstOrDefault().a.CreatorId,
+                        Id = s.FirstOrDefault().a.Id,
+                        LastModificationTime = s.FirstOrDefault().a.LastModificationTime,
+                        LastModifierId = s.FirstOrDefault().a.LastModifierId,
+                        ThirdInfo = s.FirstOrDefault().a.ThirdInfo,
+                        SummaryDoctorId = s.FirstOrDefault().a.SummaryDoctorId,
+                        SummaryDate = DataHelper.ConversionDateToString(s.FirstOrDefault().a.SummaryDate),
+                        SexId = s.FirstOrDefault().a.SexId,
+                        Age = s.FirstOrDefault().a.Age,
+                        AuditDate = DataHelper.ConversionDateToString(s.FirstOrDefault().a.AuditDate),
+                        AuditDoctorId = s.FirstOrDefault().a.AuditDoctorId,
+                        BirthDate = DataHelper.ConversionDateToString(s.FirstOrDefault().a.BirthDate),
+                        CompleteFlag = s.FirstOrDefault().a.CompleteFlag,
+                        CustomerOrgGroupId = s.FirstOrDefault().a.CustomerOrgGroupId,
+                        CustomerOrgId = s.FirstOrDefault().a.CustomerOrgId,
+                        CustomerOrgRegisterId = s.FirstOrDefault().a.CustomerOrgRegisterId,
+                        GuidePrintTimes = s.FirstOrDefault().a.GuidePrintTimes,
+                        InterposeMeasure = s.FirstOrDefault().a.InterposeMeasure,
+                        IsAudit = s.FirstOrDefault().a.IsAudit,
+                        IsLock = s.FirstOrDefault().a.IsLock,
+                        IsMedicalStart = s.FirstOrDefault().a.IsMedicalStart,
+                        IsNameHide = s.FirstOrDefault().a.IsNameHide,
+                        IsPhoneFollow = s.FirstOrDefault().a.IsPhoneFollow,
+                        IsRecoverGuide = s.FirstOrDefault().a.IsRecoverGuide,
+                        IsUpload = s.FirstOrDefault().a.IsUpload,
+                        IsVip = s.FirstOrDefault().a.IsVip,
+                        JobCardNo = s.FirstOrDefault().a.JobCardNo,
+                        JobPost = s.FirstOrDefault().a.JobPost,
+                        JobTitle = s.FirstOrDefault().a.JobTitle,
+                        MaritalStatusId = s.FirstOrDefault().a.MaritalStatusId,
+                        MedicalCardNo = s.FirstOrDefault().a.MedicalCardNo,
+                        MedicalConclusionId = s.FirstOrDefault().a.MedicalConclusionId,
+                        MedicalPackageId = s.FirstOrDefault().a.MedicalPackageId,
+                        MedicalStartDate = DataHelper.ConversionDateToString(s.FirstOrDefault().a.MedicalStartDate),
+                        MedicalTimes = s.FirstOrDefault().a.MedicalTimes,
+                        MedicalTypeId = s.FirstOrDefault().a.MedicalTypeId,
+                        MedicalCenterId = s.FirstOrDefault().a.MedicalCenterId,
+                        PatientId = s.FirstOrDefault().a.PatientId,
+                        PatientName = s.FirstOrDefault().a.PatientName,
+                        PatientRegisterNo = s.FirstOrDefault().a.PatientRegisterNo,
+                        PersonnelTypeId = s.FirstOrDefault().a.PersonnelTypeId,
+                        Photo = s.FirstOrDefault().a.Photo,
+                        Remark = s.FirstOrDefault().a.Remark,
+                        ReportPrintTimes = s.FirstOrDefault().a.ReportPrintTimes,
+                        Salesman = s.FirstOrDefault().a.Salesman,
+                        SexHormoneTermId = s.FirstOrDefault().a.SexHormoneTermId,
+                        CreatorName = "",
+                        LastModifierName = "",
+                        Address = s.FirstOrDefault().ab.Address,  //档案表信息
+                        BirthPlaceId = s.FirstOrDefault().ab.BirthPlaceId,
+                        DisplayName = s.FirstOrDefault().ab.DisplayName,
+                        Email = s.FirstOrDefault().ab.Email,
+                        IdNo = s.FirstOrDefault().ab.IdNo,
+                        MobileTelephone = s.FirstOrDefault().ab.MobileTelephone,
+                        NationId = s.FirstOrDefault().ab.NationId,
+                        PatientNo = s.FirstOrDefault().ab.PatientNo,
+                        PatientPassword = s.FirstOrDefault().ab.PatientPassword,
+                        PostalCode = s.FirstOrDefault().ab.PostalCode,
+                        Telephone = s.FirstOrDefault().ab.Telephone,
+                        CustomerOrgName = _cacheService.GetCustomerOrgNameAsync(s.FirstOrDefault().a.CustomerOrgId).Result,
+                        CustomerOrgParentId = _cacheService.GetTopCustomerOrgAsync(s.FirstOrDefault().a.CustomerOrgId).Result.Id,
+                        CustomerOrgParentName = _cacheService.GetTopCustomerOrgNameAsync(s.FirstOrDefault().a.CustomerOrgId).Result
+                    });
+                }
 
-            }).ToList();
+            }
 
-            return new PagedResultDto(totalCount, entlist);
+            int totalCount = entlist.Count;
 
-        }
+            entlist = entlist.Skip(input.SkipCount * input.MaxResultCount).Take(input.MaxResultCount).ToList();
 
+            return new PagedResultDto(totalCount, entlist);
 
+        }
 
 
 
diff --git a/src/Shentun.Peis.Domain.Shared/Enums/PatientRegisterCompleteFlag.cs b/src/Shentun.Peis.Domain.Shared/Enums/PatientRegisterCompleteFlag.cs
index a908dd4..00c5afa 100644
--- a/src/Shentun.Peis.Domain.Shared/Enums/PatientRegisterCompleteFlag.cs
+++ b/src/Shentun.Peis.Domain.Shared/Enums/PatientRegisterCompleteFlag.cs
@@ -30,5 +30,8 @@ namespace Shentun.Peis.Enums
 
         [Description("已审核")]
         public const char Audit = '4';
+
+        [Description("项目全部已检未总检")]
+        public const char ItemCheckUnSumCheck = '5';
     }
 }