| 
					
					
						
							
						
					
					
				 | 
				@ -14,6 +14,7 @@ using Shentun.Peis.RegisterCheckPictures; | 
			
		
		
	
		
			
				 | 
				 | 
				using Shentun.Peis.RegisterChecks; | 
				 | 
				 | 
				using Shentun.Peis.RegisterChecks; | 
			
		
		
	
		
			
				 | 
				 | 
				using Shentun.Peis.RegisterCheckSuggestions; | 
				 | 
				 | 
				using Shentun.Peis.RegisterCheckSuggestions; | 
			
		
		
	
		
			
				 | 
				 | 
				using Shentun.Peis.RegisterCheckSummarys; | 
				 | 
				 | 
				using Shentun.Peis.RegisterCheckSummarys; | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				using Shentun.Peis.SysParmValues; | 
			
		
		
	
		
			
				 | 
				 | 
				using Shentun.Utilities; | 
				 | 
				 | 
				using Shentun.Utilities; | 
			
		
		
	
		
			
				 | 
				 | 
				using System; | 
				 | 
				 | 
				using System; | 
			
		
		
	
		
			
				 | 
				 | 
				using System.Collections.Generic; | 
				 | 
				 | 
				using System.Collections.Generic; | 
			
		
		
	
	
		
			
				| 
					
						
							
						
					
					
						
							
						
					
					
				 | 
				@ -65,7 +66,7 @@ namespace Shentun.Peis.PatientRegisters | 
			
		
		
	
		
			
				 | 
				 | 
				        private readonly RegisterCheckManager _registerCheckManager; | 
				 | 
				 | 
				        private readonly RegisterCheckManager _registerCheckManager; | 
			
		
		
	
		
			
				 | 
				 | 
				        private readonly IRepository<SysParmValue> _sysParmValueRepository; | 
				 | 
				 | 
				        private readonly IRepository<SysParmValue> _sysParmValueRepository; | 
			
		
		
	
		
			
				 | 
				 | 
				        private readonly IGuidGenerator _guidGenerator; | 
				 | 
				 | 
				        private readonly IGuidGenerator _guidGenerator; | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        private readonly SysParmValueManager _sysParmValueManager; | 
			
		
		
	
		
			
				 | 
				 | 
				        public PatientRegisterManager( | 
				 | 
				 | 
				        public PatientRegisterManager( | 
			
		
		
	
		
			
				 | 
				 | 
				            IRepository<PatientRegister, Guid> repository, | 
				 | 
				 | 
				            IRepository<PatientRegister, Guid> repository, | 
			
		
		
	
		
			
				 | 
				 | 
				            IRepository<CustomerOrgRegister, Guid> customerOrgRegisterRepository, | 
				 | 
				 | 
				            IRepository<CustomerOrgRegister, Guid> customerOrgRegisterRepository, | 
			
		
		
	
	
		
			
				| 
					
						
							
						
					
					
						
							
						
					
					
				 | 
				@ -95,7 +96,8 @@ namespace Shentun.Peis.PatientRegisters | 
			
		
		
	
		
			
				 | 
				 | 
				            RegisterCheckItemManager registerCheckItemManager, | 
				 | 
				 | 
				            RegisterCheckItemManager registerCheckItemManager, | 
			
		
		
	
		
			
				 | 
				 | 
				            RegisterCheckCriticalValueManager registerCheckCriticalValueManager, | 
				 | 
				 | 
				            RegisterCheckCriticalValueManager registerCheckCriticalValueManager, | 
			
		
		
	
		
			
				 | 
				 | 
				            RegisterCheckManager registerCheckManager, | 
				 | 
				 | 
				            RegisterCheckManager registerCheckManager, | 
			
		
		
	
		
			
				 | 
				 | 
				            IGuidGenerator guidGenerator) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            IGuidGenerator guidGenerator, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            SysParmValueManager sysParmValueManager) | 
			
		
		
	
		
			
				 | 
				 | 
				        { | 
				 | 
				 | 
				        { | 
			
		
		
	
		
			
				 | 
				 | 
				            _repository = repository; | 
				 | 
				 | 
				            _repository = repository; | 
			
		
		
	
		
			
				 | 
				 | 
				            this._customerOrgRepository = customerOrgRepository; | 
				 | 
				 | 
				            this._customerOrgRepository = customerOrgRepository; | 
			
		
		
	
	
		
			
				| 
					
						
							
						
					
					
						
							
						
					
					
				 | 
				@ -126,6 +128,7 @@ namespace Shentun.Peis.PatientRegisters | 
			
		
		
	
		
			
				 | 
				 | 
				            this._registerCheckManager = registerCheckManager; | 
				 | 
				 | 
				            this._registerCheckManager = registerCheckManager; | 
			
		
		
	
		
			
				 | 
				 | 
				            this._sysParmValueRepository = sysParmValueRepository; | 
				 | 
				 | 
				            this._sysParmValueRepository = sysParmValueRepository; | 
			
		
		
	
		
			
				 | 
				 | 
				            _guidGenerator = guidGenerator; | 
				 | 
				 | 
				            _guidGenerator = guidGenerator; | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            _sysParmValueManager = sysParmValueManager; | 
			
		
		
	
		
			
				 | 
				 | 
				        } | 
				 | 
				 | 
				        } | 
			
		
		
	
		
			
				 | 
				 | 
				        /// <summary>
 | 
				 | 
				 | 
				        /// <summary>
 | 
			
		
		
	
		
			
				 | 
				 | 
				        /// 创建
 | 
				 | 
				 | 
				        /// 创建
 | 
			
		
		
	
	
		
			
				| 
					
						
							
						
					
					
						
							
						
					
					
				 | 
				@ -756,90 +759,25 @@ namespace Shentun.Peis.PatientRegisters | 
			
		
		
	
		
			
				 | 
				 | 
				        /// 生成条码号(规则,先找体检中心的配置,如未找到,就直接使用全局的)
 | 
				 | 
				 | 
				        /// 生成条码号(规则,先找体检中心的配置,如未找到,就直接使用全局的)
 | 
			
		
		
	
		
			
				 | 
				 | 
				        /// 模式(0 日期+尾号   1.顺序递增)
 | 
				 | 
				 | 
				        /// 模式(0 日期+尾号   1.顺序递增)
 | 
			
		
		
	
		
			
				 | 
				 | 
				        /// </summary>
 | 
				 | 
				 | 
				        /// </summary>
 | 
			
		
		
	
		
			
				 | 
				 | 
				        /// <param name="OrganizationUnitId">体检中心ID</param>
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        /// <param name="medicalCenterId">体检中心ID</param>
 | 
			
		
		
	
		
			
				 | 
				 | 
				        /// <returns></returns>
 | 
				 | 
				 | 
				        /// <returns></returns>
 | 
			
		
		
	
		
			
				 | 
				 | 
				        public async Task<string> CreatePatientRegisterNo(Guid OrganizationUnitId) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        public async Task<string> CreatePatientRegisterNo(Guid medicalCenterId) | 
			
		
		
	
		
			
				 | 
				 | 
				        { | 
				 | 
				 | 
				        { | 
			
		
		
	
		
			
				 | 
				 | 
				            string PatientRegisterNo = "";  //条码号
 | 
				 | 
				 | 
				            string PatientRegisterNo = "";  //条码号
 | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				            List<SysParmValue> spvlist = await _sysParmValueRepository.GetListAsync(); | 
				 | 
				 | 
				            List<SysParmValue> spvlist = await _sysParmValueRepository.GetListAsync(); | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				            var spv_tjzx = spvlist.Where(m => m.MedicalCenterId == OrganizationUnitId); //体检中心配置
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            var spv_tjzx = spvlist.Where(m => m.MedicalCenterId == medicalCenterId); //体检中心配置
 | 
			
		
		
	
		
			
				 | 
				 | 
				            var spv_global = spvlist.Where(m => m.MedicalCenterId == Guid.Empty);  //全局配置
 | 
				 | 
				 | 
				            var spv_global = spvlist.Where(m => m.MedicalCenterId == Guid.Empty);  //全局配置
 | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				            var patient_register_no_rule_coding = "";  // 模式(0 日期+尾号   1.顺序递增)
 | 
				 | 
				 | 
				            var patient_register_no_rule_coding = "";  // 模式(0 日期+尾号   1.顺序递增)
 | 
			
		
		
	
		
			
				 | 
				 | 
				            var patient_register_no_rule_tail_len = "";  //尾号长度
 | 
				 | 
				 | 
				            var patient_register_no_rule_tail_len = "";  //尾号长度
 | 
			
		
		
	
		
			
				 | 
				 | 
				            var patient_register_no_rule_prefix = ""; //前缀
 | 
				 | 
				 | 
				            var patient_register_no_rule_prefix = ""; //前缀
 | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            patient_register_no_rule_coding = await _sysParmValueManager.GetSysParmValueAsync(medicalCenterId, "patient_register_no_rule_coding"); | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            patient_register_no_rule_tail_len = await _sysParmValueManager.GetSysParmValueAsync(medicalCenterId, "patient_register_no_rule_tail_len"); | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            patient_register_no_rule_prefix = await _sysParmValueManager.GetSysParmValueAsync(medicalCenterId, "patient_register_no_rule_prefix"); | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				            if (spv_tjzx.Where(m => m.SysParmId == "patient_register_no_rule_coding").Count() > 0) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				            { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                //获取体检中心配置
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                patient_register_no_rule_coding = spv_tjzx.Where(m => m.SysParmId == "patient_register_no_rule_coding").FirstOrDefault().ParmValue; | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				            } | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				            if (string.IsNullOrWhiteSpace(patient_register_no_rule_coding)) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				            { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                var patient_register_no_rule_coding_ent = spv_global.Where(m => m.SysParmId == "patient_register_no_rule_coding").FirstOrDefault(); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                if (patient_register_no_rule_coding_ent == null) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                    throw new UserFriendlyException("全局系统参数patient_register_no_rule_coding未配置"); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                } | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                else | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                    //获取全局配置
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                    patient_register_no_rule_coding = patient_register_no_rule_coding_ent.ParmValue; | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                } | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				            } | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				            if (string.IsNullOrWhiteSpace(patient_register_no_rule_coding)) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				            { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                throw new UserFriendlyException("人员条码号编码方式不能为空"); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				            } | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				            patient_register_no_rule_coding = patient_register_no_rule_coding.Trim(); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				            if (spv_tjzx.Where(m => m.SysParmId == "patient_register_no_rule_prefix").Count() > 0) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				            { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                //获取体检中心配置
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                patient_register_no_rule_prefix = spv_tjzx.Where(m => m.SysParmId == "patient_register_no_rule_prefix").FirstOrDefault().ParmValue; | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				            } | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				            if (string.IsNullOrWhiteSpace(patient_register_no_rule_prefix)) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				            { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                var patient_register_no_rule_prefix_ent = spv_global.Where(m => m.SysParmId == "patient_register_no_rule_prefix").FirstOrDefault(); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                if (patient_register_no_rule_prefix_ent == null) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                    throw new UserFriendlyException("全局系统参数patient_register_no_rule_prefix未配置"); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                } | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                else | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                    //获取全局配置
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                    patient_register_no_rule_prefix = patient_register_no_rule_prefix_ent.ParmValue; | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                } | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				            } | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				            if (!string.IsNullOrEmpty(patient_register_no_rule_prefix)) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				            { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                patient_register_no_rule_prefix = patient_register_no_rule_prefix.Trim(); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				            } | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				            if (spv_tjzx.Where(m => m.SysParmId == "patient_register_no_rule_tail_len").Count() > 0) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				            { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                //获取体检中心配置
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                patient_register_no_rule_tail_len = spv_tjzx.Where(m => m.SysParmId == "patient_register_no_rule_tail_len").FirstOrDefault().ParmValue; | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				            } | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				            if (string.IsNullOrWhiteSpace(patient_register_no_rule_tail_len)) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				            { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                var patient_register_no_rule_tail_len_ent = spv_global.Where(m => m.SysParmId == "patient_register_no_rule_tail_len").FirstOrDefault(); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                if (patient_register_no_rule_tail_len_ent == null) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                    throw new UserFriendlyException("全局系统参数patient_register_no_rule_tail_len未配置"); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                } | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                else | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                    //获取全局配置
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                    patient_register_no_rule_tail_len = patient_register_no_rule_tail_len_ent.ParmValue; | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                } | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				            } | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				            if (string.IsNullOrWhiteSpace(patient_register_no_rule_tail_len)) | 
				 | 
				 | 
				            if (string.IsNullOrWhiteSpace(patient_register_no_rule_tail_len)) | 
			
		
		
	
		
			
				 | 
				 | 
				            { | 
				 | 
				 | 
				            { | 
			
		
		
	
	
		
			
				| 
					
						
							
						
					
					
					
				 | 
				
  |