@ -2,6 +2,7 @@ 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					using  Microsoft.AspNetCore.Authorization ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					using  Microsoft.AspNetCore.Identity ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					using  Microsoft.AspNetCore.Mvc ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					using  Microsoft.EntityFrameworkCore ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					using  Microsoft.EntityFrameworkCore.Query ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					using  Microsoft.Extensions.DependencyModel ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					using  Microsoft.Extensions.Logging ;  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				
					@ -41,8 +42,8 @@ namespace Shentun.Peis.DataMigrations 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    /// <summary>
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    /// 基础数据处理
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    /// </summary>
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    //[Authorize]
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    //[RemoteService(false)]
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    [Authorize]  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    [RemoteService(false)]  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    public  class  BaseDataHandleAppService  :  ApplicationService  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				
					@ -2120,33 +2121,33 @@ namespace Shentun.Peis.DataMigrations 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        /// <summary>
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        /// 处理异常 人员登记 异常后更新状态
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        /// </summary>
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        /// <returns></returns>
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        [RemoteService(false)]  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        public  async  Task  HandPatientRegisterStatus ( )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            List < string >  updateIds  =  new  List < string > ( ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            List < string >  newIds  =  ( await  _fieldComparisonRepository . GetQueryableAsync ( ) ) . Where ( m  = >  m . TableName  = =  "patient_register" ) . Select ( s  = >  s . OldKeyValue ) . ToList ( ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        /////  <summary>
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        /////  处理异常 人员登记 异常后更新状态
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        /////  </summary>
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        /////  <returns></returns>
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //[RemoteService(false)]
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //public async Task HandPatientRegisterStatus()
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //{
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //    List<string> updateIds = new List<string>();
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //    List<string> newIds = (await _fieldComparisonRepository.GetQueryableAsync()).Where(m => m.TableName == "patient_register").Select(s => s.OldKeyValue).ToList();
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            var  oldPatientRegisterList  =  await  Db . Ado . GetDataTableAsync (  "select  patient_register_id,is_dj from patient_register where is_dj is not null order by patient_register_id asc" ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            if  ( oldPatientRegisterList . Rows . Count  >  0 )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                foreach  ( DataRow  row  in  oldPatientRegisterList . Rows )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    if  ( ! newIds . Contains ( row [ "patient_register_id" ] . ToString ( ) ) )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                         updateIds . Add ( row [ "patient_register_id" ] . ToString ( ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //    var oldPatientRegisterList = await Db.Ado.GetDataTableAsync( "select  patient_register_id,is_dj from patient_register where is_dj is not null order by patient_register_id asc");
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //    if (oldPatientRegisterList.Rows.Count > 0)
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //    {
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //        foreach (DataRow row in oldPatientRegisterList.Rows)
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //        {
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //            if (!newIds.Contains(row["patient_register_id"].ToString()))
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //            {
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                  updateIds.Add(row["patient_register_id"].ToString());
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //            }
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //        }
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                if  ( updateIds . Any ( ) )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    await  Db . Ado . ExecuteCommandAsync (  "update patient_register set is_dj=null where patient_register_id in (@ids) " ,   new   {   ids   =   updateIds   } ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //        if (updateIds.Any())
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //        {
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //            await Db.Ado.ExecuteCommandAsync( "update patient_register set is_dj=null where patient_register_id in (@ids) ", new  { ids =  updateIds });
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //        }
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //    }
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //}
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				
					@ -2376,7 +2377,10 @@ namespace Shentun.Peis.DataMigrations 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            string  nextKeyValue  =  Db . Ado . GetString ( "select keyvalue from tb_export_key where tablename='register_check_asbitem'" ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            var  registerCheckAsbitemList  =  await  _registerCheckAsbitemRepository . GetListAsync ( m  = >  string . Compare ( m . Id . ToString ( ) ,  nextKeyValue )  >  0 ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            var  registerCheckAsbitemList  =  ( await  _registerCheckAsbitemRepository . GetQueryableAsync ( ) ) . OrderBy ( o  = >  o . Id )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                . Where ( m  = >  string . Compare ( m . Id . ToString ( ) ,  nextKeyValue )  >  0 ) . ToList ( ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            if  ( registerCheckAsbitemList . Any ( ) )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				
					@ -2461,6 +2465,7 @@ namespace Shentun.Peis.DataMigrations 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            var  registerCheckAsbitemList  =  ( from  registerCheckQuery  in  await  _registerCheckRepository . GetQueryableAsync ( )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                                            join  registerCheckAsbitemQuery  in  await  _registerCheckAsbitemRepository . GetQueryableAsync ( )  on  registerCheckQuery . Id  equals  registerCheckAsbitemQuery . RegisterCheckId  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                                            orderby  registerCheckQuery . Id  ascending  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                                            where  string . Compare ( registerCheckQuery . Id . ToString ( ) ,  nextKeyValue )  >  0  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                                            select  new  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                                            {  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				
					@ -2725,54 +2730,217 @@ namespace Shentun.Peis.DataMigrations 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        /// <summary>
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        /// 迁移人员图片数据
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        /// </summary>
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        /// <returns></returns>
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        public  async  Task  TransferPersonPhohoData ( int  handcount )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            string  nextKeyValue  =  Db . Ado . GetString (  "select keyvalue from tb_export_key where tablename='patient_register_photo'" ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        /////  <summary>
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        /////  迁移人员图片数据
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        /////  </summary>
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        /////  <returns></returns>
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //public async Task TransferPersonPhohoData(int handcount)
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //{
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //    string nextKeyValue = Db.Ado.GetString( "select keyvalue from tb_export_key where tablename='patient_register_photo'");
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            var  patientRegisterList  =  ( await  _patientRegisterRepository . GetQueryableAsync ( ) ) . OrderBy ( o  = >  o . Id )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                 . Where ( m  = >  string . Compare ( m . Id . ToString ( ) ,  nextKeyValue )  >  0 ) . Take ( handcount ) . ToList ( ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //    var patientRegisterList = (await _patientRegisterRepository.GetQueryableAsync()).OrderBy(o => o.Id)
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //         .Where(m => string.Compare(m.Id.ToString(), nextKeyValue) > 0).Take(handcount).ToList();
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            if  ( patientRegisterList . Any ( ) )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //    if (patientRegisterList.Any())
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //    {
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                foreach  ( var  item  in  patientRegisterList )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //        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
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //            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   photograph   =   await   Db . Ado . GetScalarAsync ( $"select photograph from patient_register where patient_register_id='{oldPatientRegisterId}' " ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                  var photograph =  await Db.Ado.GetScalarAsync($"select photograph from patient_register where patient_register_id='{oldPatientRegisterId}' ");
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                         #region 上传图片,获取地址
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                  #region 上传图片,获取地址
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                         if   ( photograph   ! =   null   & &   ! string . IsNullOrEmpty ( photograph . ToString ( ) ) )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                         {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                             string   photo  =   UpLoadImg ( item . Id ,   item . CreationTime ,   ( byte [ ] ) photograph ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                  if (photograph !=  null &&  !string.IsNullOrEmpty(photograph.ToString()))
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                  {
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                      string photo =  UpLoadImg(item.Id, item.CreationTime, (byte[])photograph);
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                            item . Photo   =   photo ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                     item.Photo =  photo;
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                            await   _patientRegisterRepository . UpdateAsync ( item ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                     await _patientRegisterRepository.UpdateAsync(item);
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                         }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                  }
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                         #endregion
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                  #endregion
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                         await   uow . CompleteAsync ( ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                  await uow.CompleteAsync();
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                        await  Db . Ado . ExecuteCommandAsync ( $"update  tb_export_key set  keyvalue='{item.Id}',addtime=getdate(),handlecount+=1 where tablename='patient_register_photo' " ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                await Db.Ado.ExecuteCommandAsync($"update  tb_export_key set  keyvalue='{item.Id}',addtime=getdate(),handlecount+=1 where tablename='patient_register_photo' ");
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //            }
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //        }
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //    }
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //}
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        ///// <summary>
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        ///// 纠正登记项目明细数据
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        ///// </summary>
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        ///// <returns></returns>
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //public async Task CorrectRegisterCheckItemData()
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //{
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //    string nextKeyValue = Db.Ado.GetString("select keyvalue from tb_export_key where tablename='register_check_asbitem_2'");
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //    //var registerCheckAsbitemList = (await _registerCheckAsbitemRepository.GetQueryableAsync()).OrderBy(o => o.Id)
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //    //    .Where(m => string.Compare(m.Id.ToString(), nextKeyValue) > 0).ToList();
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //    var registerCheckAsbitemList = (from registerCheckQuery in (await _registerCheckRepository.GetQueryableAsync()).Include(x => x.RegisterCheckItems)
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                                    join registerCheckAsbitemQuery in await _registerCheckAsbitemRepository.GetQueryableAsync() on registerCheckQuery.Id equals registerCheckAsbitemQuery.RegisterCheckId
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                                    orderby registerCheckQuery.Id ascending
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                                    where (registerCheckQuery.RegisterCheckItems.Count == 0 && string.Compare(registerCheckQuery.Id.ToString(), nextKeyValue) > 0)
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                                    select registerCheckAsbitemQuery).ToList();
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //    if (registerCheckAsbitemList.Any())
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //    {
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //        foreach (var item in registerCheckAsbitemList)
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //        {
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //            using (var uow = _unitOfWorkManager.Begin(requiresNew: true, isTransactional: true))
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //            {
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                List<RegisterCheckItem> registerCheckItemInsert = new List<RegisterCheckItem>();
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                #region 转换成老系统PatientRegisterId
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                string oldPatientRegisterId = (await _fieldComparisonRepository.GetQueryableAsync())
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                    .Where(m => m.TableName == "patient_register" && m.NewKeyValue == item.PatientRegisterId.ToString()).FirstOrDefault().OldKeyValue;
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                #endregion
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                #region 转换成老系统AsbitemId
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                string oldAsbitemId = (await _fieldComparisonRepository.GetQueryableAsync())
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                    .Where(m => m.TableName == "asbitem" && m.NewKeyValue == item.AsbitemId.ToString()).FirstOrDefault().OldKeyValue;
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                #endregion
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                var oldRegisterCheckItemList = await Db.Ado.GetDataTableAsync($"select * from register_item where patient_register_id='{oldPatientRegisterId}' and asbitem_id='{oldAsbitemId}'");
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                if (oldRegisterCheckItemList.Rows.Count > 0)
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                {
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                    foreach (DataRow row in oldRegisterCheckItemList.Rows)
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                    {
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                        #region 转换项目ID  老转新
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                        Guid newItemId = Guid.Parse((await _fieldComparisonRepository.GetQueryableAsync())
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                    .Where(m => m.TableName == "item" && m.OldKeyValue == row["item_id"].ToString()).FirstOrDefault().NewKeyValue);
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                        #endregion
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                        var data = new RegisterCheckItem
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                        {
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                            CheckDate = string.IsNullOrEmpty(row["check_date"].ToString()) ? null : Convert.ToDateTime(row["check_date"].ToString()),
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                            CriticalValue = null,
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                            CheckDoctorName = row["check_doctor"].ToString().Trim(),
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                            CriticalRangeValue = null,
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                            ItemId = newItemId,
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                            ReferenceRangeValue = row["reference_range_value"].ToString(),
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                            RegisterCheckId = item.RegisterCheckId,
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                            Result = row["result"].ToString(),
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                            ResultStatusId = _registerCheckItemManager.GetResultStatusId(row["result"].ToString(), row["reference_range_value"].ToString()),
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                            Unit = row["Unit"].ToString()
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                        };
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                        registerCheckItemInsert.Add(data);
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                    }
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                }
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                if (registerCheckItemInsert.Any())
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                    await _registerCheckItemRepository.InsertManyAsync(registerCheckItemInsert);
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                await uow.CompleteAsync();
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                await Db.Ado.ExecuteCommandAsync($"update  tb_export_key set  keyvalue='{item.Id}',addtime=getdate(),handlecount+=1 where tablename='register_check_asbitem_2' ");
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //            }
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //        }
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //    }
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //}
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        ///// <summary>
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        ///// 纠正医生小结数据
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        ///// </summary>
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        ///// <returns></returns>
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //public async Task CorrectRegisterCheckSummaryData()
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //{
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //    string nextKeyValue = Db.Ado.GetString("select keyvalue from tb_export_key where tablename='register_check_summary_2'");
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //    //var registerCheckAsbitemList = (from registerCheckQuery in await _registerCheckRepository.GetQueryableAsync()
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //    //                                join registerCheckAsbitemQuery in await _registerCheckAsbitemRepository.GetQueryableAsync() on registerCheckQuery.Id equals registerCheckAsbitemQuery.RegisterCheckId
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //    //                                orderby registerCheckQuery.Id ascending
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //    //                                where string.Compare(registerCheckQuery.Id.ToString(), nextKeyValue) > 0
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //    //                                select new
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //    //                                {
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //    //                                    PatientRegisterId = registerCheckQuery.PatientRegisterId,
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //    //                                    RegisterCheckId = registerCheckQuery.Id,
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //    //                                    AsbitemId = registerCheckAsbitemQuery.AsbitemId
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //    //                                }).ToList();
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //    var registerCheckAsbitemList = (from registerCheckQuery in (await _registerCheckRepository.GetQueryableAsync()).Include(x => x.RegisterCheckSummaries).AsQueryable()
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                                    join registerCheckAsbitemQuery in await _registerCheckAsbitemRepository.GetQueryableAsync() on registerCheckQuery.Id equals registerCheckAsbitemQuery.RegisterCheckId
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                                    orderby registerCheckQuery.Id ascending
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                                    where (registerCheckQuery.RegisterCheckSummaries.Count == 0 && string.Compare(registerCheckQuery.Id.ToString(), nextKeyValue) > 0)
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                                    select new
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                                    {
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                                        PatientRegisterId = registerCheckQuery.PatientRegisterId,
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                                        RegisterCheckId = registerCheckQuery.Id,
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                                        AsbitemId = registerCheckAsbitemQuery.AsbitemId
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                                    }).ToList();
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //    if (registerCheckAsbitemList.Any())
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //    {
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //        foreach (var item in registerCheckAsbitemList)
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //        {
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //            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.PatientRegisterId.ToString()).FirstOrDefault().OldKeyValue;
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                #endregion
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                #region 转换成老系统AsbitemId
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                string oldAsbitemId = (await _fieldComparisonRepository.GetQueryableAsync())
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                    .Where(m => m.TableName == "asbitem" && m.NewKeyValue == item.AsbitemId.ToString()).FirstOrDefault().OldKeyValue;
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                #endregion
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                var oldSummary = await Db.Ado.GetStringAsync($"select summary from register_asbitem where patient_register_id='{oldPatientRegisterId}' and asbitem_id='{oldAsbitemId}'");
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                if (!string.IsNullOrWhiteSpace(oldSummary))
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                {
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                    var data = new RegisterCheckSummary
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                    {
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                        RegisterCheckId = item.RegisterCheckId,
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                        DisplayOrder = 1,
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                        Summary = oldSummary,
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                        SummaryFlag = '0'
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                    };
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                    await _registerCheckSummaryRepository.InsertAsync(data);
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                    await uow.CompleteAsync();
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                }
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //                await Db.Ado.ExecuteCommandAsync($"update  tb_export_key set  keyvalue='{item.RegisterCheckId}',addtime=getdate(),handlecount+=1 where tablename='register_check_summary_2' ");
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //            }
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //        }
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //    }
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //}
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        #endregion