diff --git a/src/Shentun.Peis.Application/DataMigrations/BaseDataHandleAppService.cs b/src/Shentun.Peis.Application/DataMigrations/BaseDataHandleAppService.cs
index 59b4238..a154095 100644
--- a/src/Shentun.Peis.Application/DataMigrations/BaseDataHandleAppService.cs
+++ b/src/Shentun.Peis.Application/DataMigrations/BaseDataHandleAppService.cs
@@ -49,7 +49,7 @@ namespace Shentun.Peis.DataMigrations
 
         private readonly SqlSugarClient Db = new SqlSugarClient(new ConnectionConfig()
         {
-            ConnectionString = "Data Source=.;Initial Catalog=mypeis;User ID=sa;Password=123",
+            ConnectionString = "Data Source=.;Initial Catalog=mypeis;User ID=sa;Password=123;",
             DbType = SqlSugar.DbType.SqlServer,
             IsAutoCloseConnection = true
         });
@@ -1951,7 +1951,8 @@ namespace Shentun.Peis.DataMigrations
                     Guid customerOrgRegisterId = GuidFlag.PersonCustomerOrgRegisterId;
                     if (row["org_id"].ToString() != "00000")
                     {
-                        var customerOrgRegisterEnt = customerOrgRegisterList.Where(m => m.CustomerOrgId == customerOrgId
+                        Guid topCustomerOrgId = Guid.Parse(fieldComparisonList.Where(m => m.TableName == "customer_org" && m.OldKeyValue == row["org_id"].ToString().Substring(0, 5)).FirstOrDefault().NewKeyValue);
+                        var customerOrgRegisterEnt = customerOrgRegisterList.Where(m => m.CustomerOrgId == topCustomerOrgId
                         && m.MedicalTimes == (short)Convert.ToInt32(row["org_medical_times"].ToString())).FirstOrDefault();
                         if (customerOrgRegisterEnt != null)
                         {
@@ -2728,7 +2729,66 @@ namespace Shentun.Peis.DataMigrations
             }
         }
 
+        /// 
+        /// 处理人员体检次数
+        /// 
+        /// 
+        public async Task TransferPersonPhohoData(int handcount)
+        {
+            string nextKeyValue = Db.Ado.GetString("select keyvalue from tb_export_key where tablename='patient_register_customer_org_register'");
+
+            var patientRegisterList = (await _patientRegisterRepository.GetQueryableAsync()).OrderBy(o => o.Id)
+                 .Where(m => m.CustomerOrgRegisterId == GuidFlag.PersonCustomerOrgRegisterId && m.CustomerOrgId != GuidFlag.PersonCustomerOrgId
+                 && string.Compare(m.Id.ToString(), nextKeyValue) > 0).Take(handcount).ToList();
+
+            if (patientRegisterList.Any())
+            {
+                List customerOrgRegisterList = await _customerOrgRegisterRepository.GetListAsync();
+
+                foreach (var item in patientRegisterList)
+                {
+
+                    using (var uow = _unitOfWorkManager.Begin(requiresNew: true, isTransactional: true))
+                    {
+                        #region 转换成老系统PatientRegisterId
+                        string oldPatientRegisterId = (await _fieldComparisonRepository.GetQueryableAsync())
+                        .Where(m => m.TableName == "patient_register" && m.NewKeyValue == item.Id.ToString()).FirstOrDefault().OldKeyValue;
+                        #endregion
+
+                        //老系统数据
+                        var oldPatientRegisterEnt = Db.Ado.GetDataTable($"select org_medical_times,org_id from patient_register where patient_register_id='{oldPatientRegisterId}'");
+
+                        string oldTopCustomerOrgId = oldPatientRegisterEnt.Rows[0][1].ToString().Substring(0, 5);
+
+                        //一级单位ID
+                        Guid customerOrgId = Guid.Parse((await _fieldComparisonRepository.GetQueryableAsync())
+                        .Where(m => m.TableName == "customer_org" && m.OldKeyValue == oldTopCustomerOrgId).FirstOrDefault().NewKeyValue);
+                        short orgMedicalTimes = Convert.ToInt16(oldPatientRegisterEnt.Rows[0][0].ToString());
+
+                        #region 转换单位体检次数ID   没有增加默认值
+                        Guid customerOrgRegisterId = GuidFlag.PersonCustomerOrgRegisterId;
+
+                        var customerOrgRegisterEnt = customerOrgRegisterList.Where(m => m.CustomerOrgId == customerOrgId
+                        && m.MedicalTimes == orgMedicalTimes).FirstOrDefault();
+                        if (customerOrgRegisterEnt != null)
+                        {
+                            customerOrgRegisterId = customerOrgRegisterEnt.Id;
+
+                            item.CustomerOrgRegisterId = customerOrgRegisterId;
+                            await _patientRegisterRepository.UpdateAsync(item);
+                        }
 
+                        #endregion
+
+
+
+                        await uow.CompleteAsync();
+
+                        await Db.Ado.ExecuteCommandAsync($"update  tb_export_key set  keyvalue='{item.Id}',addtime=getdate(),handlecount+=1 where tablename='patient_register_customer_org_register' ");
+                    }
+                }
+            }
+        }
 
         ///// 
         ///// 迁移人员图片数据
diff --git a/src/Shentun.Peis.Application/PatientRegisters/PatientRegisterAppService.cs b/src/Shentun.Peis.Application/PatientRegisters/PatientRegisterAppService.cs
index 77c18e9..7413c32 100644
--- a/src/Shentun.Peis.Application/PatientRegisters/PatientRegisterAppService.cs
+++ b/src/Shentun.Peis.Application/PatientRegisters/PatientRegisterAppService.cs
@@ -624,8 +624,13 @@ namespace Shentun.Peis.PatientRegisters
                 {
                     throw new UserFriendlyException("未找到人员信息");
                 }
-                ent = patientRegisterList.First();
 
+                patientRegisterList = patientRegisterList.Where(m => m.CompleteFlag != PatientRegisterCompleteFlag.PreRegistration).ToList();
+                if (patientRegisterList.Count == 0)
+                {
+                    throw new UserFriendlyException("该人未正式登记");
+                }
+                ent = patientRegisterList.First();
             }
 
             else
diff --git a/src/Shentun.Peis.Application/SumSummaryReports/SumSummaryReportAppService.cs b/src/Shentun.Peis.Application/SumSummaryReports/SumSummaryReportAppService.cs
index 22bb7dc..faffa42 100644
--- a/src/Shentun.Peis.Application/SumSummaryReports/SumSummaryReportAppService.cs
+++ b/src/Shentun.Peis.Application/SumSummaryReports/SumSummaryReportAppService.cs
@@ -3,13 +3,16 @@ using Microsoft.AspNetCore.Authorization;
 using Microsoft.AspNetCore.Mvc;
 using Microsoft.EntityFrameworkCore;
 using Microsoft.VisualBasic;
+using NPOI.OpenXmlFormats.Wordprocessing;
 using Shentun.Peis.Enums;
 using Shentun.Peis.Models;
 using System;
 using System.Collections.Generic;
+using System.Collections.Immutable;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
+using Volo.Abp.Account;
 using Volo.Abp.Application.Services;
 using Volo.Abp.Domain.Repositories;
 using Volo.Abp.Identity;
@@ -31,6 +34,8 @@ namespace Shentun.Peis.SumSummaryReports
         private readonly IRepository _resultStatusRepository;
         private readonly ISumSummaryReportRepository _sumSummaryReportRepository;
         private readonly CacheService _cacheService;
+        private readonly IRepository _registerCheckSummaryRepository;
+        private readonly IRepository _asbitemRepository;
         public SumSummaryReportAppService(
             IRepository registerCheckRepository,
             IRepository identityUserRepository,
@@ -39,8 +44,9 @@ namespace Shentun.Peis.SumSummaryReports
             IRepository registerAsbitemRepository,
             ISumSummaryReportRepository sumSummaryReportRepository,
             IRepository resultStatusRepository,
-            CacheService cacheService
-            )
+            CacheService cacheService,
+            IRepository registerCheckSummaryRepository,
+            IRepository asbitemRepository)
         {
             this._registerCheckRepository = registerCheckRepository;
             this._identityUserRepository = identityUserRepository;
@@ -50,6 +56,8 @@ namespace Shentun.Peis.SumSummaryReports
             this._sumSummaryReportRepository = sumSummaryReportRepository;
             _cacheService = cacheService;
             _resultStatusRepository = resultStatusRepository;
+            _registerCheckSummaryRepository = registerCheckSummaryRepository;
+            _asbitemRepository = asbitemRepository;
         }
 
         /// 
@@ -68,7 +76,7 @@ namespace Shentun.Peis.SumSummaryReports
                  .Include(x => x.RegisterCheckAsbitems)
                  .ThenInclude(x => x.Asbitem)
                  .ThenInclude(x => x.ItemType)
-                 .ThenInclude(x=>x.MedicalReportType)
+                 .ThenInclude(x => x.MedicalReportType)
                  .Include(x => x.RegisterCheckSummaries)
                  .Include(x => x.RegisterCheckItems)
                  .ThenInclude(x => x.Item)
@@ -89,7 +97,7 @@ namespace Shentun.Peis.SumSummaryReports
                     ItemName = sa.Item.DisplayName,
                     ItemResult = sa.Result,
                     ReferenceRangeValue = sa.ReferenceRangeValue,
-                    ResultStatusName = (resultStatus.Where(o=>o.Id == sa.ResultStatusId).FirstOrDefault() == null)? "": resultStatus.Where(o => o.Id == sa.ResultStatusId).FirstOrDefault().ReportPrompt,
+                    ResultStatusName = (resultStatus.Where(o => o.Id == sa.ResultStatusId).FirstOrDefault() == null) ? "" : resultStatus.Where(o => o.Id == sa.ResultStatusId).FirstOrDefault().ReportPrompt,
                     Unit = sa.Unit
                 }).ToList(),
                 Summarys = s.RegisterCheckSummaries.Count > 0 ? s.RegisterCheckSummaries.Select(sb => new DetailedResultsList_Asbitem_Summary
@@ -125,49 +133,29 @@ namespace Shentun.Peis.SumSummaryReports
         [HttpGet("api/app/sumsummaryreport/getitemtypecontrastlist")]
         public async Task> GetItemTypeContrastListAsync(Guid PatientId)
         {
-
-
             List msg = new List();
 
-            var userlist = await _identityUserRepository.GetListAsync();
-
-            //var entlist = (await _registerCheckRepository.GetDbSetAsync())
-            //     .Include(x => x.RegisterAsbitem.PatientRegister)
-            //     .Include(x => x.RegisterAsbitem.Asbitem.ItemType)
-            //     .Include(x => x.RegisterCheckSummaries)
-            //     .Include(x => x.RegisterCheckItems)
-            //     .ThenInclude(x => x.Item)
-            //     .Where(m => m.RegisterAsbitem.PatientRegister.PatientId == PatientId)
-            //     .ToList();
-
-            var entlist = (await _registerCheckRepository.GetDbSetAsync())
-                       .Include(x => x.RegisterCheckAsbitems)
-                       .ThenInclude(x => x.Asbitem)
-                       .ThenInclude(x => x.ItemType)
-                       .Include(x => x.RegisterCheckAsbitems)
-                       .ThenInclude(x => x.PatientRegister)
-                       .Include(x => x.RegisterCheckSummaries)
-                       .Include(x => x.RegisterCheckItems)
-                       .ThenInclude(x => x.Item)
-                       .Where(m => m.RegisterCheckAsbitems.First().PatientRegister.PatientId == PatientId)
-                       .ToList();
-
-            ////查询所有项目类别
-            //var ItemTypeNames = new HashSet(entlist.Select(s => s.RegisterAsbitem.Asbitem.ItemType.DisplayName).ToList()).ToList();
-
-            //以registercheck表为主
-            var registercheckList = entlist.Select(s => new ItemTypeContrastList_Result
-            {
-                ItemTypeName = string.Join("|", s.RegisterCheckAsbitems.Select(rs => rs.Asbitem.ItemType.DisplayName).ToList()),
-                RegisterDate = DataHelper.ConversionDateToString(s.RegisterCheckAsbitems.First().PatientRegister.CreationTime),
-                PatientRegisterId = s.RegisterCheckAsbitems.First().PatientRegisterId,
-                Summarys = string.Join("|", s.RegisterCheckAsbitems.Select(rs => rs.Asbitem.DisplayName).ToList()) + ":" + string.Join(",", s.RegisterCheckSummaries.Select(sb => sb.Summary).ToList())
-            }).ToList();
+            var query = from a in await _patientRegisterRepository.GetQueryableAsync()
+                        join b in await _registerCheckRepository.GetQueryableAsync() on a.Id equals b.PatientRegisterId
+                        join c in await _registerAsbitemRepository.GetQueryableAsync() on b.Id equals c.RegisterCheckId
+                        join d in await _asbitemRepository.GetQueryableAsync() on c.AsbitemId equals d.Id into dd
+                        from ad in dd.DefaultIfEmpty()
+                        join e in await _itemTypeRepository.GetQueryableAsync() on ad.ItemTypeId equals e.Id
+                        join f in await _registerCheckSummaryRepository.GetQueryableAsync() on b.Id equals f.RegisterCheckId into ff
+                        from af in ff.DefaultIfEmpty()
+                        where a.PatientId == PatientId && a.CompleteFlag != PatientRegisterCompleteFlag.PreRegistration
+                        select new
+                        {
+                            RegisterDate = a.CreationTime,
+                            PatientRegisterId = a.Id,
+                            ItemTypeName = e.DisplayName,
+                            Summary = af != null ? af.Summary : ""
+                        };
 
 
 
 
-            var grouplist = registercheckList.GroupBy(g => new { g.PatientRegisterId, g.ItemTypeName });
+            var grouplist = query.ToList().GroupBy(g => new { g.PatientRegisterId, g.ItemTypeName });
 
             foreach (var g in grouplist)
             {
@@ -176,8 +164,8 @@ namespace Shentun.Peis.SumSummaryReports
                 {
 
                     ItemTypeName = glist.FirstOrDefault().ItemTypeName,
-                    RegisterDate = glist.FirstOrDefault().RegisterDate,
-                    Summarys = string.Join("\n", glist.Select(s => s.Summarys).ToList())
+                    RegisterDate = DataHelper.ConversionDateToString(glist.FirstOrDefault().RegisterDate),
+                    Summarys = string.Join("\n", glist.Select(s => s.Summary).ToList())
                 };
                 msg.Add(resultlist);
             }
@@ -205,7 +193,8 @@ namespace Shentun.Peis.SumSummaryReports
                  .ThenInclude(x => x.SumSummaryContents)
                  .Include(x => x.SumSuggestionHeaders)
                  .ThenInclude(x => x.SumSuggestionContents)
-                 .Where(m => m.PatientId == PatientId && (m.SumSummaryHeaders.Count > 0 || m.SumSuggestionHeaders.Count > 0))
+                 .Where(m => m.PatientId == PatientId && (m.SumSummaryHeaders.Count > 0 || m.SumSuggestionHeaders.Count > 0)
+                 && m.CompleteFlag != PatientRegisterCompleteFlag.PreRegistration)
                  .ToList();
 
 
@@ -240,7 +229,7 @@ namespace Shentun.Peis.SumSummaryReports
             .Include(x => x.Asbitem)
             .Include(x => x.RegisterCheck)
             .Include(x => x.PatientRegister)
-            .Where(m => m.PatientRegister.PatientId == PatientId)
+            .Where(m => m.PatientRegister.PatientId == PatientId && m.PatientRegister.CompleteFlag != PatientRegisterCompleteFlag.PreRegistration)
             .ToList();
 
             var grouplist = entlist.GroupBy(o => o.AsbitemId);
diff --git a/src/Shentun.Peis.EntityFrameworkCore/SumSummaryReports/SumSummaryReportRepository.cs b/src/Shentun.Peis.EntityFrameworkCore/SumSummaryReports/SumSummaryReportRepository.cs
index 91a7598..9b767a7 100644
--- a/src/Shentun.Peis.EntityFrameworkCore/SumSummaryReports/SumSummaryReportRepository.cs
+++ b/src/Shentun.Peis.EntityFrameworkCore/SumSummaryReports/SumSummaryReportRepository.cs
@@ -43,7 +43,7 @@ namespace Shentun.Peis.SumSummaryReports
                         join e in dbContext.RegisterChecks.DefaultIfEmpty() on a.RegisterCheckId equals e.Id
                         join f in dbContext.RegisterCheckAsbitems.DefaultIfEmpty() on e.Id equals f.RegisterCheckId
                         join g in dbContext.PatientRegisters.DefaultIfEmpty() on f.PatientRegisterId equals g.Id
-                        where (g.PatientId == PatientId && f.AsbitemId == AsbitemId)
+                        where (g.PatientId == PatientId && f.AsbitemId == AsbitemId && g.CompleteFlag != PatientRegisterCompleteFlag.PreRegistration)
                         select new HorizontalComparisonListEntity
                         {
                             CheckDate = DataHelper.ConversionDateToString(g.CreationTime),