diff --git a/src/Shentun.Peis.Application.Contracts/MedicalConclusions/MedicalConclusionDto.cs b/src/Shentun.Peis.Application.Contracts/MedicalConclusions/MedicalConclusionDto.cs index d2bbb67..e6c6a8b 100644 --- a/src/Shentun.Peis.Application.Contracts/MedicalConclusions/MedicalConclusionDto.cs +++ b/src/Shentun.Peis.Application.Contracts/MedicalConclusions/MedicalConclusionDto.cs @@ -14,6 +14,11 @@ namespace Shentun.Peis.MedicalConclusions /// public string MedicalConclusionTypeId { get; set; } + /// + /// 类别名称 + /// + public string MedicalConclusionTypeName { get; set; } + public string SimpleCode { get; set; } public int DisplayOrder { get; set; } diff --git a/src/Shentun.Peis.Application.Contracts/PatientRegisters/PatientRegisterOrNoDto.cs b/src/Shentun.Peis.Application.Contracts/PatientRegisters/PatientRegisterOrNoDto.cs index 38ec288..345f9fa 100644 --- a/src/Shentun.Peis.Application.Contracts/PatientRegisters/PatientRegisterOrNoDto.cs +++ b/src/Shentun.Peis.Application.Contracts/PatientRegisters/PatientRegisterOrNoDto.cs @@ -258,6 +258,76 @@ namespace Shentun.Peis.PatientRegisters #endregion + + #region 人员登记扩展信息 + + /// + /// 0-高原 1-健康 + /// + public char? QztlType { get; set; } + + /// + /// 扩展 + /// + public char? QztlIsCw { get; set; } = 'N'; + + /// + /// 扩展 + /// + public char? QztlIsCy { get; set; } = 'N'; + + /// + /// 扩展 + /// + public char? QztlIsGt { get; set; } = 'N'; + + /// + /// 扩展 + /// + public char? QztlIsMain { get; set; } = 'N'; + + /// + /// 扩展 + /// + public char? QztlIsWh { get; set; } = 'N'; + + /// + /// 扩展 + /// + public char? QztlIsFj { get; set; } = 'N'; + + /// + /// 扩展 + /// + public char? IsQztlImport { get; set; } = 'N'; + + /// + /// 扩展 + /// + public char? UploadQztlFlag { get; set; } = 'N'; + + /// + /// 扩展 + /// + public string Planuserid { get; set; } + + /// + /// 扩展 + /// + public string Remark2 { get; set; } + + /// + /// 扩展 + /// + public string Remark3 { get; set; } + + /// + /// 扩展 + /// + public string Remark4 { get; set; } + + #endregion + public List RegisterCheckAsbitems { get; set; } } diff --git a/src/Shentun.Peis.Application/MedicalConclusions/MedicalConclusionAppService.cs b/src/Shentun.Peis.Application/MedicalConclusions/MedicalConclusionAppService.cs index 8f9e5d7..7a271db 100644 --- a/src/Shentun.Peis.Application/MedicalConclusions/MedicalConclusionAppService.cs +++ b/src/Shentun.Peis.Application/MedicalConclusions/MedicalConclusionAppService.cs @@ -35,16 +35,19 @@ namespace Shentun.Peis.MedicalConclusions private readonly IRepository _userRepository; private readonly MedicalConclusionManager _manager; private readonly CacheService _cacheService; + private readonly IRepository _medicalConclusionTypeRepository; public MedicalConclusionAppService( IRepository repository, IRepository userRepository, MedicalConclusionManager manager, - CacheService cacheService) + CacheService cacheService, + IRepository medicalConclusionTypeRepository) : base(repository) { _userRepository = userRepository; _manager = manager; _cacheService = cacheService; + _medicalConclusionTypeRepository = medicalConclusionTypeRepository; } /// /// 获取通过主键 @@ -70,28 +73,37 @@ namespace Shentun.Peis.MedicalConclusions /// public async Task> GetListInTypeAsync(GetListInTypeDto input) { - var entlist = await Repository.GetQueryableAsync(); + var entlist = from medicalConclusion in await Repository.GetQueryableAsync() + join medicalConclusionType in await _medicalConclusionTypeRepository.GetQueryableAsync() + on medicalConclusion.MedicalConclusionTypeId equals medicalConclusionType.Id into medicalConclusionTypeTemp + from medicalConclusionType in medicalConclusionTypeTemp.DefaultIfEmpty() + select new + { + medicalConclusion, + MedicalConclusionTypeName = medicalConclusionType != null ? medicalConclusionType.DisplayName : "" + }; if (!string.IsNullOrEmpty(input.TypeId)) - entlist = entlist.Where(m => m.MedicalConclusionTypeId == input.TypeId); + entlist = entlist.Where(m => m.medicalConclusion.MedicalConclusionTypeId == input.TypeId); + - var entdto = entlist.Select(s => new MedicalConclusionDto { - CreationTime = s.CreationTime, - CreatorId = s.CreatorId, - DisplayName = s.DisplayName, - DisplayOrder = s.DisplayOrder, - Id = s.Id, - LastModificationTime = s.LastModificationTime, - LastModifierId = s.LastModifierId, - SimpleCode = s.SimpleCode, - MedicalConclusionTypeId = s.MedicalConclusionTypeId, - CreatorName = _cacheService.GetSurnameAsync(s.CreatorId).Result, - LastModifierName = _cacheService.GetSurnameAsync(s.LastModifierId).Result + CreationTime = s.medicalConclusion.CreationTime, + CreatorId = s.medicalConclusion.CreatorId, + DisplayName = s.medicalConclusion.DisplayName, + DisplayOrder = s.medicalConclusion.DisplayOrder, + Id = s.medicalConclusion.Id, + LastModificationTime = s.medicalConclusion.LastModificationTime, + LastModifierId = s.medicalConclusion.LastModifierId, + SimpleCode = s.medicalConclusion.SimpleCode, + MedicalConclusionTypeId = s.medicalConclusion.MedicalConclusionTypeId, + MedicalConclusionTypeName = s.MedicalConclusionTypeName, + CreatorName = _cacheService.GetSurnameAsync(s.medicalConclusion.CreatorId).Result, + LastModifierName = _cacheService.GetSurnameAsync(s.medicalConclusion.LastModifierId).Result }).OrderBy(m => m.DisplayOrder).ToList(); - return entdto; + return entdto; } diff --git a/src/Shentun.Peis.Application/PatientRegisters/PatientRegisterAppService.cs b/src/Shentun.Peis.Application/PatientRegisters/PatientRegisterAppService.cs index cd7ee06..39ca6a6 100644 --- a/src/Shentun.Peis.Application/PatientRegisters/PatientRegisterAppService.cs +++ b/src/Shentun.Peis.Application/PatientRegisters/PatientRegisterAppService.cs @@ -101,11 +101,10 @@ namespace Shentun.Peis.PatientRegisters private readonly PatientRegisterManager _manager; private readonly CacheService _cacheService; private readonly SysParmValueManager _sysParmValueManager; - private readonly IRepository _patientRegisterRepository; + private readonly IRepository _patientRegisterExterRepository; public PatientRegisterAppService( IRepository repository, IRepository patientRepository, - IRepository patientRegisterRepository, IRepository userRepository, IRepository sexRepository, IRepository birthPlaceRepository, @@ -146,8 +145,8 @@ namespace Shentun.Peis.PatientRegisters SumSummaryContentManager sumSummaryContentManager, SumSuggestionHeaderManager sumSuggestionHeaderManager, SumSuggestionContentManager sumSuggestionContentManager, - SysParmValueManager sysParmValueManager - ) + SysParmValueManager sysParmValueManager, + IRepository patientRegisterExterRepository) : base(repository) { this._repository = repository; @@ -193,7 +192,7 @@ namespace Shentun.Peis.PatientRegisters _sumSuggestionHeaderManager = sumSuggestionHeaderManager; _sumSuggestionContentManager = sumSuggestionContentManager; _sysParmValueManager = sysParmValueManager; - _patientRegisterRepository = patientRegisterRepository; + _patientRegisterExterRepository = patientRegisterExterRepository; } /// /// 获取通过主键 @@ -215,83 +214,84 @@ namespace Shentun.Peis.PatientRegisters [HttpPost("api/app/patientregister/getinfoorpatient")] public async Task GetInfoOrPatientAsync(PatientRegisterIdInputDto input) { - var ent = (await _repository.GetDbSetAsync()).Include(x => x.Patient).Where(m => m.Id == input.PatientRegisterId).FirstOrDefault(); - - var entdto = new PatientRegisterOrNoDto(); - if (ent != null) - { - //var userList = await _userRepository.GetListAsync(); - //var customerOrgList = await _customerOrgRepository.GetListAsync(); - - entdto = new PatientRegisterOrNoDto - { - HisPatientId = ent.HisPatientId, - Age = ent.Age, - AuditDate = DataHelper.ConversionDateToString(ent.AuditDate), - Id = ent.Id, - AuditDoctorId = ent.AuditDoctorId, - BirthDate = DataHelper.ConversionDateToString(ent.BirthDate), - CompleteFlag = ent.CompleteFlag, - CreationTime = ent.CreationTime, - CreatorId = ent.CreatorId, - CustomerOrgGroupId = ent.CustomerOrgGroupId, - CustomerOrgId = ent.CustomerOrgId, - CustomerOrgRegisterId = ent.CustomerOrgRegisterId, - GuidePrintTimes = ent.GuidePrintTimes, - InterposeMeasure = ent.InterposeMeasure, - IsAudit = ent.IsAudit, - IsLock = ent.IsLock, - IsMedicalStart = ent.IsMedicalStart, - IsNameHide = ent.IsNameHide, - IsPhoneFollow = ent.IsPhoneFollow, - IsRecoverGuide = ent.IsRecoverGuide, - IsUpload = ent.IsUpload, - IsVip = ent.IsVip, - JobCardNo = ent.JobCardNo, - JobPost = ent.JobPost, - JobTitle = ent.JobTitle, - LastModificationTime = ent.LastModificationTime, - LastModifierId = ent.LastModifierId, - MaritalStatusId = ent.MaritalStatusId, - MedicalCardNo = ent.MedicalCardNo, - MedicalConclusionId = ent.MedicalConclusionId, - MedicalPackageId = ent.MedicalPackageId, - MedicalStartDate = DataHelper.ConversionDateToString(ent.MedicalStartDate), - MedicalTimes = ent.MedicalTimes, - MedicalTypeId = ent.MedicalTypeId, - MedicalCenterId = ent.MedicalCenterId, - PatientId = ent.PatientId, - PatientName = ent.PatientName, - PatientRegisterNo = ent.PatientRegisterNo, - PersonnelTypeId = ent.PersonnelTypeId, - Photo = ent.Photo, - Remark = ent.Remark, - ReportPrintTimes = ent.ReportPrintTimes, - Salesman = ent.Salesman, - SexHormoneTermId = ent.SexHormoneTermId, - SexId = ent.SexId, - SummaryDate = DataHelper.ConversionDateToString(ent.SummaryDate), - SummaryDoctorId = ent.SummaryDoctorId, - ThirdInfo = ent.ThirdInfo, - CreatorName = _cacheService.GetSurnameAsync(ent.CreatorId).Result, - LastModifierName = _cacheService.GetSurnameAsync(ent.LastModifierId).Result, - Address = ent.Patient.Address, //档案表信息 - BirthPlaceId = ent.Patient.BirthPlaceId, - DisplayName = ent.Patient.DisplayName, - Email = ent.Patient.Email, - IdNo = ent.Patient.IdNo, - MobileTelephone = ent.Patient.MobileTelephone, - NationId = ent.Patient.NationId, - PatientNo = ent.Patient.PatientNo, - PatientPassword = ent.Patient.PatientPassword, - PostalCode = ent.Patient.PostalCode, - Telephone = ent.Patient.Telephone, - CustomerOrgName = _cacheService.GetCustomerOrgNameAsync(ent.CustomerOrgId).Result, - CustomerOrgParentId = _cacheService.GetTopCustomerOrgAsync(ent.CustomerOrgId).Result.Id, - //CustomerOrgParentName = EntityHelper.GetCustomerOrgParentNameNoSql(customerOrgList, ent.CustomerOrgId) - }; - } - return entdto; + return await GetPatientRegisterOrNo(input.PatientRegisterId); + //var ent = (await _repository.GetQueryableAsync()).Include(x => x.Patient).Where(m => m.Id == input.PatientRegisterId).FirstOrDefault(); + + //var entdto = new PatientRegisterOrNoDto(); + //if (ent != null) + //{ + // //var userList = await _userRepository.GetListAsync(); + // //var customerOrgList = await _customerOrgRepository.GetListAsync(); + + // entdto = new PatientRegisterOrNoDto + // { + // HisPatientId = ent.HisPatientId, + // Age = ent.Age, + // AuditDate = DataHelper.ConversionDateToString(ent.AuditDate), + // Id = ent.Id, + // AuditDoctorId = ent.AuditDoctorId, + // BirthDate = DataHelper.ConversionDateToString(ent.BirthDate), + // CompleteFlag = ent.CompleteFlag, + // CreationTime = ent.CreationTime, + // CreatorId = ent.CreatorId, + // CustomerOrgGroupId = ent.CustomerOrgGroupId, + // CustomerOrgId = ent.CustomerOrgId, + // CustomerOrgRegisterId = ent.CustomerOrgRegisterId, + // GuidePrintTimes = ent.GuidePrintTimes, + // InterposeMeasure = ent.InterposeMeasure, + // IsAudit = ent.IsAudit, + // IsLock = ent.IsLock, + // IsMedicalStart = ent.IsMedicalStart, + // IsNameHide = ent.IsNameHide, + // IsPhoneFollow = ent.IsPhoneFollow, + // IsRecoverGuide = ent.IsRecoverGuide, + // IsUpload = ent.IsUpload, + // IsVip = ent.IsVip, + // JobCardNo = ent.JobCardNo, + // JobPost = ent.JobPost, + // JobTitle = ent.JobTitle, + // LastModificationTime = ent.LastModificationTime, + // LastModifierId = ent.LastModifierId, + // MaritalStatusId = ent.MaritalStatusId, + // MedicalCardNo = ent.MedicalCardNo, + // MedicalConclusionId = ent.MedicalConclusionId, + // MedicalPackageId = ent.MedicalPackageId, + // MedicalStartDate = DataHelper.ConversionDateToString(ent.MedicalStartDate), + // MedicalTimes = ent.MedicalTimes, + // MedicalTypeId = ent.MedicalTypeId, + // MedicalCenterId = ent.MedicalCenterId, + // PatientId = ent.PatientId, + // PatientName = ent.PatientName, + // PatientRegisterNo = ent.PatientRegisterNo, + // PersonnelTypeId = ent.PersonnelTypeId, + // Photo = ent.Photo, + // Remark = ent.Remark, + // ReportPrintTimes = ent.ReportPrintTimes, + // Salesman = ent.Salesman, + // SexHormoneTermId = ent.SexHormoneTermId, + // SexId = ent.SexId, + // SummaryDate = DataHelper.ConversionDateToString(ent.SummaryDate), + // SummaryDoctorId = ent.SummaryDoctorId, + // ThirdInfo = ent.ThirdInfo, + // CreatorName = _cacheService.GetSurnameAsync(ent.CreatorId).Result, + // LastModifierName = _cacheService.GetSurnameAsync(ent.LastModifierId).Result, + // Address = ent.Patient.Address, //档案表信息 + // BirthPlaceId = ent.Patient.BirthPlaceId, + // DisplayName = ent.Patient.DisplayName, + // Email = ent.Patient.Email, + // IdNo = ent.Patient.IdNo, + // MobileTelephone = ent.Patient.MobileTelephone, + // NationId = ent.Patient.NationId, + // PatientNo = ent.Patient.PatientNo, + // PatientPassword = ent.Patient.PatientPassword, + // PostalCode = ent.Patient.PostalCode, + // Telephone = ent.Patient.Telephone, + // CustomerOrgName = _cacheService.GetCustomerOrgNameAsync(ent.CustomerOrgId).Result, + // CustomerOrgParentId = _cacheService.GetTopCustomerOrgAsync(ent.CustomerOrgId).Result.Id + // //CustomerOrgParentName = EntityHelper.GetCustomerOrgParentNameNoSql(customerOrgList, ent.CustomerOrgId) + // }; + //} + //return entdto; } /// @@ -1486,7 +1486,7 @@ namespace Shentun.Peis.PatientRegisters } } entity.CompleteFlag = PatientRegisterCompleteFlag.PartCheck; - var newentity = await _patientRegisterRepository.UpdateAsync(entity); + var newentity = await _repository.UpdateAsync(entity); return ObjectMapper.Map(newentity); } /// @@ -1946,7 +1946,7 @@ namespace Shentun.Peis.PatientRegisters if (CustomerOrgIds.Any()) { - query = query.Where(m => m.a.CustomerOrgId != null && CustomerOrgIds.Contains(m.a.CustomerOrgId)); + query = query.Where(m => CustomerOrgIds.Contains(m.a.CustomerOrgId)); } //体检次数 if (input.CustomerOrgRegisterId != Guid.Empty) @@ -2538,6 +2538,30 @@ namespace Shentun.Peis.PatientRegisters } entdto.RegisterCheckAsbitems = entdto.RegisterCheckAsbitems.OrderByDescending(o => o.IsBelongGroupPackage). OrderBy(o => o.Id).ToList(); + + + #region 扩展信息 + + + var patientRegisterExterEnt = await _patientRegisterExterRepository.FirstOrDefaultAsync(m => m.PatientRegisterId == PatientRegisterId); + if (patientRegisterExterEnt != null) + { + entdto.QztlIsCw = patientRegisterExterEnt.QztlIsCw; + entdto.QztlIsCy = patientRegisterExterEnt.QztlIsCy; + entdto.QztlIsFj = patientRegisterExterEnt.QztlIsFj; + entdto.QztlIsGt = patientRegisterExterEnt.QztlIsGt; + entdto.QztlIsMain = patientRegisterExterEnt.QztlIsMain; + entdto.QztlIsWh = patientRegisterExterEnt.QztlIsWh; + entdto.QztlType = patientRegisterExterEnt.QztlType; + entdto.Remark2 = patientRegisterExterEnt.Remark2; + entdto.Remark3 = patientRegisterExterEnt.Remark3; + entdto.Remark4 = patientRegisterExterEnt.Remark4; + entdto.UploadQztlFlag = patientRegisterExterEnt.UploadQztlFlag; + entdto.IsQztlImport = patientRegisterExterEnt.IsQztlImport; + entdto.Planuserid = patientRegisterExterEnt.Planuserid; + } + + #endregion } return entdto; }