diff --git a/src/Shentun.WebPeis.Application/AppointPatientRegisters/AppointPatientRegisterAppService.cs b/src/Shentun.WebPeis.Application/AppointPatientRegisters/AppointPatientRegisterAppService.cs index b2010e6..dfb2a04 100644 --- a/src/Shentun.WebPeis.Application/AppointPatientRegisters/AppointPatientRegisterAppService.cs +++ b/src/Shentun.WebPeis.Application/AppointPatientRegisters/AppointPatientRegisterAppService.cs @@ -60,8 +60,8 @@ namespace Shentun.WebPeis.AppointPatientRegisters private readonly IRepository _questionSubjectTypeRepository; private readonly IRepository _diseaseRiskRepository; private readonly IRepository _diseaseRiskLevelRepository; - private readonly IRepository _diseaseRiskLevelAnswerRepository; - private readonly IRepository _diseaseRiskLevelAsbitemRepository; + private readonly IRepository _questionAnswerRiskLevelRepository; + private readonly IRepository _questionAnswerAsbitemRepository; public AppointPatientRegisterAppService(IRepository repository, CacheService cacheService, IRepository itemTypeRepository, @@ -90,8 +90,8 @@ namespace Shentun.WebPeis.AppointPatientRegisters IRepository questionSubjectTypeRepository, IRepository diseaseRiskRepository, IRepository diseaseRiskLevelRepository, - IRepository diseaseRiskLevelAnswerRepository, - IRepository diseaseRiskLevelAsbitemRepository + IRepository questionAnswerRiskLevelRepository, + IRepository questionAnswerAsbitemRepository ) { @@ -123,8 +123,8 @@ namespace Shentun.WebPeis.AppointPatientRegisters _questionSubjectTypeRepository = questionSubjectTypeRepository; _diseaseRiskRepository = diseaseRiskRepository; _diseaseRiskLevelRepository = diseaseRiskLevelRepository; - _diseaseRiskLevelAnswerRepository = diseaseRiskLevelAnswerRepository; - _diseaseRiskLevelAsbitemRepository = diseaseRiskLevelAsbitemRepository; + _questionAnswerRiskLevelRepository = questionAnswerRiskLevelRepository; + _questionAnswerAsbitemRepository = questionAnswerAsbitemRepository; } @@ -956,15 +956,15 @@ namespace Shentun.WebPeis.AppointPatientRegisters join diseaseRiskLevel in await _diseaseRiskLevelRepository.GetQueryableAsync() on diseaseRisk.DiseaseRiskId equals diseaseRiskLevel.DiseaseRiskId into emptyDiseaseRiskLevel from haveDiseaseRiskLevel in emptyDiseaseRiskLevel.DefaultIfEmpty() - join diseaseRiskLevelAnswer in await _diseaseRiskLevelAnswerRepository.GetQueryableAsync() - on haveDiseaseRiskLevel.DiseaseRiskLevelId equals diseaseRiskLevelAnswer.DiseaseRiskLevelId into emptyDiseaseRiskLevelAnswer - from haveDiseaseRiskLevelAnswer in emptyDiseaseRiskLevelAnswer.DefaultIfEmpty() + join questionAnswerRiskLevel in await _questionAnswerRiskLevelRepository.GetQueryableAsync() + on haveDiseaseRiskLevel.DiseaseRiskLevelId equals questionAnswerRiskLevel.DiseaseRiskLevelId into emptyQuestionAnswerRiskLevel + from haveQuestionAnswerRiskLevel in emptyQuestionAnswerRiskLevel.DefaultIfEmpty() orderby diseaseRisk.DisplayOrder select new { diseaseRisk, haveDiseaseRiskLevel, - haveDiseaseRiskLevelAnswer + haveQuestionAnswerRiskLevel }).ToList(); var questionRegisterDiseaseRiskDtos = diseaseRisks.GroupBy(o => o.diseaseRisk) @@ -984,9 +984,9 @@ namespace Shentun.WebPeis.AppointPatientRegisters DiseaseRiskLevel matchDiseaseRiskLevel = null; foreach (var diseaseRiskLevel in diseaseRiskLevels) { - if (questionRegisterItems.Where(o => diseaseRiskLevel.haveDiseaseRiskLevelAnswer != null && + if (questionRegisterItems.Where(o => diseaseRiskLevel.haveQuestionAnswerRiskLevel != null && o.questionRegisterAnswer.QuestionAnswerId == - diseaseRiskLevel.haveDiseaseRiskLevelAnswer.QuestionAnswerId).Any()) + diseaseRiskLevel.haveQuestionAnswerRiskLevel.QuestionAnswerId).Any()) { if (diseaseRiskLevel.haveDiseaseRiskLevel != null) { @@ -1005,10 +1005,12 @@ namespace Shentun.WebPeis.AppointPatientRegisters diseaseRisk.DiseaseRiskLevelId = matchDiseaseRiskLevel.DiseaseRiskLevelId; diseaseRisk.DiseaseRiskLevelName = matchDiseaseRiskLevel.DiseaseRiskLevelName; - var personDiseaseRiskLevelAsbitems = (from diseaseRiskLevelAsbitem in await _diseaseRiskLevelAsbitemRepository.GetQueryableAsync() + var personDiseaseRiskLevelAsbitems = (from questionAnswerAsbitem in await _questionAnswerAsbitemRepository.GetQueryableAsync() join asbitem in await _asbitemRepository.GetQueryableAsync() - on diseaseRiskLevelAsbitem.AsbitemId equals asbitem.AsbitemId - where diseaseRiskLevelAsbitem.DiseaseRiskLevelId == diseaseRisk.DiseaseRiskLevelId + on questionAnswerAsbitem.AsbitemId equals asbitem.AsbitemId + join questionAnswerRiskLevel in await _questionAnswerRiskLevelRepository.GetQueryableAsync() + on questionAnswerAsbitem.QuestionAnswerId equals questionAnswerRiskLevel.QuestionAnswerId + where questionAnswerRiskLevel.DiseaseRiskLevelId == diseaseRisk.DiseaseRiskLevelId orderby asbitem.DisplayOrder select new RecommendMedicalPackageAsbitem() { @@ -1019,7 +1021,7 @@ namespace Shentun.WebPeis.AppointPatientRegisters ClinicalMeaning = asbitem.ClinicalMeaning, Warn = asbitem.Warn, DisplayOrder = asbitem.DisplayOrder, - AsbitemRecommendLevelId = diseaseRiskLevelAsbitem.AsbitemRecommendLevelId + AsbitemRecommendLevelId = questionAnswerAsbitem.AsbitemRecommendLevelId }).ToList(); diseaseRisk.Asbitems.AddRange(personDiseaseRiskLevelAsbitems); } diff --git a/src/Shentun.WebPeis.Application/Persons/PersonAppService.cs b/src/Shentun.WebPeis.Application/Persons/PersonAppService.cs index 29061e3..410b002 100644 --- a/src/Shentun.WebPeis.Application/Persons/PersonAppService.cs +++ b/src/Shentun.WebPeis.Application/Persons/PersonAppService.cs @@ -288,6 +288,34 @@ namespace Shentun.WebPeis.Persons return ObjectMapper.Map(person); + } + /// + /// 更新资料不带手机号码 + /// + /// + /// + /// + [HttpPost("api/app/Person/UpdateNoMobileTelephone")] + public async Task UpdateNoMobileTelephoneAsync(UpdatePersonDto input) + { + if (input == null) throw new UserFriendlyException("input参数不能为空"); + + var entity = ObjectMapper.Map(input); + + + //更新人员信息 + var person = await _repository.GetAsync(o => o.PersonId == input.PersonId); + + await _personManager.UpdateAsync(entity, person); + await _repository.UpdateAsync(person); + //更新用户信息 + var user = await _identityUserRepository.GetAsync(person.PersonId); + user.Name = input.PersonName; + + await _identityUserRepository.UpdateAsync(user); + + return ObjectMapper.Map(person); + } /// /// 创建亲属 @@ -543,6 +571,8 @@ namespace Shentun.WebPeis.Persons } + + /// /// 获取校验码 /// diff --git a/src/Shentun.WebPeis.Application/QuestionRegisters/QuestionRegisterAppService.cs b/src/Shentun.WebPeis.Application/QuestionRegisters/QuestionRegisterAppService.cs index add24c7..1d43a77 100644 --- a/src/Shentun.WebPeis.Application/QuestionRegisters/QuestionRegisterAppService.cs +++ b/src/Shentun.WebPeis.Application/QuestionRegisters/QuestionRegisterAppService.cs @@ -33,8 +33,8 @@ namespace Shentun.WebPeis.QuestionRegisters private readonly IRepository _questionSubjectTypeRepository; private readonly IRepository _diseaseRiskRepository; private readonly IRepository _diseaseRiskLevelRepository; - private readonly IRepository _diseaseRiskLevelAnswerRepository; - private readonly IRepository _diseaseRiskLevelAsbitemRepository; + private readonly IRepository _questionAnswerRiskLevelRepository; + private readonly IRepository _questionAnswerAsbitemRepository; private readonly IRepository _asbitemRepository; private readonly QuestionRegisterManager _questionRegisterManager; private readonly IUnitOfWorkManager _unitOfWorkManager; @@ -49,8 +49,8 @@ namespace Shentun.WebPeis.QuestionRegisters IRepository questionSubjectTypeRepository, IRepository diseaseRiskRepository, IRepository diseaseRiskLevelRepository, - IRepository diseaseRiskLevelAnswerRepository, - IRepository diseaseRiskLevelAsbitemRepository, + IRepository questionAnswerRiskLevelRepository, + IRepository questionAnswerAsbitemRepository, IRepository asbitemRepository, SysParmValueManager sysParmValueManager) { @@ -64,8 +64,8 @@ namespace Shentun.WebPeis.QuestionRegisters _questionSubjectTypeRepository = questionSubjectTypeRepository; _diseaseRiskRepository = diseaseRiskRepository; _diseaseRiskLevelRepository = diseaseRiskLevelRepository; - _diseaseRiskLevelAnswerRepository = diseaseRiskLevelAnswerRepository; - _diseaseRiskLevelAsbitemRepository = diseaseRiskLevelAsbitemRepository; + _questionAnswerRiskLevelRepository = questionAnswerRiskLevelRepository; + _questionAnswerAsbitemRepository = questionAnswerAsbitemRepository; _asbitemRepository = asbitemRepository; _sysParmValueManager = sysParmValueManager; } @@ -364,15 +364,15 @@ namespace Shentun.WebPeis.QuestionRegisters join diseaseRiskLevel in await _diseaseRiskLevelRepository.GetQueryableAsync() on diseaseRisk.DiseaseRiskId equals diseaseRiskLevel.DiseaseRiskId into emptyDiseaseRiskLevel from haveDiseaseRiskLevel in emptyDiseaseRiskLevel.DefaultIfEmpty() - join diseaseRiskLevelAnswer in await _diseaseRiskLevelAnswerRepository.GetQueryableAsync() - on haveDiseaseRiskLevel.DiseaseRiskLevelId equals diseaseRiskLevelAnswer.DiseaseRiskLevelId into emptyDiseaseRiskLevelAnswer - from haveDiseaseRiskLevelAnswer in emptyDiseaseRiskLevelAnswer.DefaultIfEmpty() + join questionAnswerRiskLevel in await _questionAnswerRiskLevelRepository.GetQueryableAsync() + on haveDiseaseRiskLevel.DiseaseRiskLevelId equals questionAnswerRiskLevel.DiseaseRiskLevelId into emptyQuestionAnswerRiskLevel + from haveQuestionAnswerRiskLevel in emptyQuestionAnswerRiskLevel.DefaultIfEmpty() orderby diseaseRisk.DisplayOrder select new { diseaseRisk, haveDiseaseRiskLevel, - haveDiseaseRiskLevelAnswer + haveQuestionAnswerRiskLevel }).ToList(); var questionRegisterDiseaseRiskDtos = diseaseRisks.GroupBy(o => o.diseaseRisk) @@ -392,9 +392,9 @@ namespace Shentun.WebPeis.QuestionRegisters DiseaseRiskLevel matchDiseaseRiskLevel = null; foreach (var diseaseRiskLevel in diseaseRiskLevels) { - if (questionRegisterItems.Where(o => diseaseRiskLevel.haveDiseaseRiskLevelAnswer != null && + if (questionRegisterItems.Where(o => diseaseRiskLevel.haveQuestionAnswerRiskLevel != null && o.questionRegisterAnswer.QuestionAnswerId == - diseaseRiskLevel.haveDiseaseRiskLevelAnswer.QuestionAnswerId).Any()) + diseaseRiskLevel.haveQuestionAnswerRiskLevel.QuestionAnswerId).Any()) { if (diseaseRiskLevel.haveDiseaseRiskLevel != null) { @@ -443,10 +443,13 @@ namespace Shentun.WebPeis.QuestionRegisters var diseaseRiskList = await GetDiseaseRiskListByPersonIdAsync(new PersonAppointInputDto() { PersonId = input.PersonId }); var personDiseaseRisk = diseaseRiskList.Where(o => o.DiseaseRiskId == input.DiseaseRiskId).First(); var diseaseRiskLevel = diseaseRiskLevels.Where(o => o.DiseaseRiskLevelId == personDiseaseRisk.DiseaseRiskLevelId).FirstOrDefault(); - var asbitems = (from diseaseRiskLevelAsbitem in await _diseaseRiskLevelAsbitemRepository.GetQueryableAsync() + + var asbitems = (from questionAnswerAsbitem in await _questionAnswerAsbitemRepository.GetQueryableAsync() join asbitem in await _asbitemRepository.GetQueryableAsync() - on diseaseRiskLevelAsbitem.AsbitemId equals asbitem.AsbitemId - where diseaseRiskLevelAsbitem.DiseaseRiskLevelId == diseaseRiskLevel.DiseaseRiskLevelId + on questionAnswerAsbitem.AsbitemId equals asbitem.AsbitemId + join questionAnswerRiskLevel in await _questionAnswerRiskLevelRepository.GetQueryableAsync() + on questionAnswerAsbitem.QuestionAnswerId equals questionAnswerRiskLevel.QuestionAnswerId + where questionAnswerRiskLevel.DiseaseRiskLevelId == diseaseRiskLevel.DiseaseRiskLevelId orderby asbitem.DisplayOrder select asbitem).ToList(); @@ -491,10 +494,10 @@ namespace Shentun.WebPeis.QuestionRegisters on questionRegisterItem.QuestionId equals question.QuestionId join questionSubjectType in await _questionSubjectTypeRepository.GetQueryableAsync() on question.QuestionSubjectTypeId equals questionSubjectType.QuestionSubjectTypeId - join diseaseRiskLevelAnswer in await _diseaseRiskLevelAnswerRepository.GetQueryableAsync() - on questionAnswer.QuestionAnswerId equals diseaseRiskLevelAnswer.QuestionAnswerId + join questionAnswerRiskLevel in await _questionAnswerRiskLevelRepository.GetQueryableAsync() + on questionAnswer.QuestionAnswerId equals questionAnswerRiskLevel.QuestionAnswerId where questionRegisterItem.QuestionRegisterId == questionRegister.QuestionRegisterId && - diseaseRiskLevelAnswer.DiseaseRiskLevelId == diseaseRiskLevel.DiseaseRiskLevelId && + questionAnswerRiskLevel.DiseaseRiskLevelId == diseaseRiskLevel.DiseaseRiskLevelId && questionAnswer.IsNone == 'N' orderby questionSubjectType.DisplayOrder select new