Browse Source

预约

master
DESKTOP-G961P6V\Zhh 1 year ago
parent
commit
6528da1930
  1. 34
      src/Shentun.WebPeis.Application/AppointPatientRegisters/AppointPatientRegisterAppService.cs
  2. 30
      src/Shentun.WebPeis.Application/Persons/PersonAppService.cs
  3. 39
      src/Shentun.WebPeis.Application/QuestionRegisters/QuestionRegisterAppService.cs

34
src/Shentun.WebPeis.Application/AppointPatientRegisters/AppointPatientRegisterAppService.cs

@ -60,8 +60,8 @@ namespace Shentun.WebPeis.AppointPatientRegisters
private readonly IRepository<QuestionSubjectType> _questionSubjectTypeRepository; private readonly IRepository<QuestionSubjectType> _questionSubjectTypeRepository;
private readonly IRepository<DiseaseRisk> _diseaseRiskRepository; private readonly IRepository<DiseaseRisk> _diseaseRiskRepository;
private readonly IRepository<DiseaseRiskLevel> _diseaseRiskLevelRepository; private readonly IRepository<DiseaseRiskLevel> _diseaseRiskLevelRepository;
private readonly IRepository<QuestionAnswerRiskLevel> _diseaseRiskLevelAnswerRepository;
private readonly IRepository<DiseaseRiskLevelAsbitem> _diseaseRiskLevelAsbitemRepository;
private readonly IRepository<QuestionAnswerRiskLevel> _questionAnswerRiskLevelRepository;
private readonly IRepository<QuestionAnswerAsbitem> _questionAnswerAsbitemRepository;
public AppointPatientRegisterAppService(IRepository<AppointPatientRegister> repository, public AppointPatientRegisterAppService(IRepository<AppointPatientRegister> repository,
CacheService cacheService, CacheService cacheService,
IRepository<ItemType> itemTypeRepository, IRepository<ItemType> itemTypeRepository,
@ -90,8 +90,8 @@ namespace Shentun.WebPeis.AppointPatientRegisters
IRepository<QuestionSubjectType> questionSubjectTypeRepository, IRepository<QuestionSubjectType> questionSubjectTypeRepository,
IRepository<DiseaseRisk> diseaseRiskRepository, IRepository<DiseaseRisk> diseaseRiskRepository,
IRepository<DiseaseRiskLevel> diseaseRiskLevelRepository, IRepository<DiseaseRiskLevel> diseaseRiskLevelRepository,
IRepository<QuestionAnswerRiskLevel> diseaseRiskLevelAnswerRepository,
IRepository<DiseaseRiskLevelAsbitem> diseaseRiskLevelAsbitemRepository
IRepository<QuestionAnswerRiskLevel> questionAnswerRiskLevelRepository,
IRepository<QuestionAnswerAsbitem> questionAnswerAsbitemRepository
) )
{ {
@ -123,8 +123,8 @@ namespace Shentun.WebPeis.AppointPatientRegisters
_questionSubjectTypeRepository = questionSubjectTypeRepository; _questionSubjectTypeRepository = questionSubjectTypeRepository;
_diseaseRiskRepository = diseaseRiskRepository; _diseaseRiskRepository = diseaseRiskRepository;
_diseaseRiskLevelRepository = diseaseRiskLevelRepository; _diseaseRiskLevelRepository = diseaseRiskLevelRepository;
_diseaseRiskLevelAnswerRepository = diseaseRiskLevelAnswerRepository;
_diseaseRiskLevelAsbitemRepository = diseaseRiskLevelAsbitemRepository;
_questionAnswerRiskLevelRepository = questionAnswerRiskLevelRepository;
_questionAnswerAsbitemRepository = questionAnswerAsbitemRepository;
} }
@ -956,15 +956,15 @@ namespace Shentun.WebPeis.AppointPatientRegisters
join diseaseRiskLevel in await _diseaseRiskLevelRepository.GetQueryableAsync() join diseaseRiskLevel in await _diseaseRiskLevelRepository.GetQueryableAsync()
on diseaseRisk.DiseaseRiskId equals diseaseRiskLevel.DiseaseRiskId into emptyDiseaseRiskLevel on diseaseRisk.DiseaseRiskId equals diseaseRiskLevel.DiseaseRiskId into emptyDiseaseRiskLevel
from haveDiseaseRiskLevel in emptyDiseaseRiskLevel.DefaultIfEmpty() 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 orderby diseaseRisk.DisplayOrder
select new select new
{ {
diseaseRisk, diseaseRisk,
haveDiseaseRiskLevel, haveDiseaseRiskLevel,
haveDiseaseRiskLevelAnswer
haveQuestionAnswerRiskLevel
}).ToList(); }).ToList();
var questionRegisterDiseaseRiskDtos = diseaseRisks.GroupBy(o => o.diseaseRisk) var questionRegisterDiseaseRiskDtos = diseaseRisks.GroupBy(o => o.diseaseRisk)
@ -984,9 +984,9 @@ namespace Shentun.WebPeis.AppointPatientRegisters
DiseaseRiskLevel matchDiseaseRiskLevel = null; DiseaseRiskLevel matchDiseaseRiskLevel = null;
foreach (var diseaseRiskLevel in diseaseRiskLevels) foreach (var diseaseRiskLevel in diseaseRiskLevels)
{ {
if (questionRegisterItems.Where(o => diseaseRiskLevel.haveDiseaseRiskLevelAnswer != null &&
if (questionRegisterItems.Where(o => diseaseRiskLevel.haveQuestionAnswerRiskLevel != null &&
o.questionRegisterAnswer.QuestionAnswerId == o.questionRegisterAnswer.QuestionAnswerId ==
diseaseRiskLevel.haveDiseaseRiskLevelAnswer.QuestionAnswerId).Any())
diseaseRiskLevel.haveQuestionAnswerRiskLevel.QuestionAnswerId).Any())
{ {
if (diseaseRiskLevel.haveDiseaseRiskLevel != null) if (diseaseRiskLevel.haveDiseaseRiskLevel != null)
{ {
@ -1005,10 +1005,12 @@ namespace Shentun.WebPeis.AppointPatientRegisters
diseaseRisk.DiseaseRiskLevelId = matchDiseaseRiskLevel.DiseaseRiskLevelId; diseaseRisk.DiseaseRiskLevelId = matchDiseaseRiskLevel.DiseaseRiskLevelId;
diseaseRisk.DiseaseRiskLevelName = matchDiseaseRiskLevel.DiseaseRiskLevelName; 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() 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 orderby asbitem.DisplayOrder
select new RecommendMedicalPackageAsbitem() select new RecommendMedicalPackageAsbitem()
{ {
@ -1019,7 +1021,7 @@ namespace Shentun.WebPeis.AppointPatientRegisters
ClinicalMeaning = asbitem.ClinicalMeaning, ClinicalMeaning = asbitem.ClinicalMeaning,
Warn = asbitem.Warn, Warn = asbitem.Warn,
DisplayOrder = asbitem.DisplayOrder, DisplayOrder = asbitem.DisplayOrder,
AsbitemRecommendLevelId = diseaseRiskLevelAsbitem.AsbitemRecommendLevelId
AsbitemRecommendLevelId = questionAnswerAsbitem.AsbitemRecommendLevelId
}).ToList(); }).ToList();
diseaseRisk.Asbitems.AddRange(personDiseaseRiskLevelAsbitems); diseaseRisk.Asbitems.AddRange(personDiseaseRiskLevelAsbitems);
} }

30
src/Shentun.WebPeis.Application/Persons/PersonAppService.cs

@ -288,6 +288,34 @@ namespace Shentun.WebPeis.Persons
return ObjectMapper.Map<Person, PersonDto>(person); return ObjectMapper.Map<Person, PersonDto>(person);
}
/// <summary>
/// 更新资料不带手机号码
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
/// <exception cref="UserFriendlyException"></exception>
[HttpPost("api/app/Person/UpdateNoMobileTelephone")]
public async Task<PersonDto> UpdateNoMobileTelephoneAsync(UpdatePersonDto input)
{
if (input == null) throw new UserFriendlyException("input参数不能为空");
var entity = ObjectMapper.Map<UpdatePersonDto, Person>(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, PersonDto>(person);
} }
/// <summary> /// <summary>
/// 创建亲属 /// 创建亲属
@ -543,6 +571,8 @@ namespace Shentun.WebPeis.Persons
} }
/// <summary> /// <summary>
/// 获取校验码 /// 获取校验码
/// </summary> /// </summary>

39
src/Shentun.WebPeis.Application/QuestionRegisters/QuestionRegisterAppService.cs

@ -33,8 +33,8 @@ namespace Shentun.WebPeis.QuestionRegisters
private readonly IRepository<QuestionSubjectType> _questionSubjectTypeRepository; private readonly IRepository<QuestionSubjectType> _questionSubjectTypeRepository;
private readonly IRepository<DiseaseRisk> _diseaseRiskRepository; private readonly IRepository<DiseaseRisk> _diseaseRiskRepository;
private readonly IRepository<DiseaseRiskLevel> _diseaseRiskLevelRepository; private readonly IRepository<DiseaseRiskLevel> _diseaseRiskLevelRepository;
private readonly IRepository<QuestionAnswerRiskLevel> _diseaseRiskLevelAnswerRepository;
private readonly IRepository<DiseaseRiskLevelAsbitem> _diseaseRiskLevelAsbitemRepository;
private readonly IRepository<QuestionAnswerRiskLevel> _questionAnswerRiskLevelRepository;
private readonly IRepository<QuestionAnswerAsbitem> _questionAnswerAsbitemRepository;
private readonly IRepository<Asbitem> _asbitemRepository; private readonly IRepository<Asbitem> _asbitemRepository;
private readonly QuestionRegisterManager _questionRegisterManager; private readonly QuestionRegisterManager _questionRegisterManager;
private readonly IUnitOfWorkManager _unitOfWorkManager; private readonly IUnitOfWorkManager _unitOfWorkManager;
@ -49,8 +49,8 @@ namespace Shentun.WebPeis.QuestionRegisters
IRepository<QuestionSubjectType> questionSubjectTypeRepository, IRepository<QuestionSubjectType> questionSubjectTypeRepository,
IRepository<DiseaseRisk> diseaseRiskRepository, IRepository<DiseaseRisk> diseaseRiskRepository,
IRepository<DiseaseRiskLevel> diseaseRiskLevelRepository, IRepository<DiseaseRiskLevel> diseaseRiskLevelRepository,
IRepository<QuestionAnswerRiskLevel> diseaseRiskLevelAnswerRepository,
IRepository<DiseaseRiskLevelAsbitem> diseaseRiskLevelAsbitemRepository,
IRepository<QuestionAnswerRiskLevel> questionAnswerRiskLevelRepository,
IRepository<QuestionAnswerAsbitem> questionAnswerAsbitemRepository,
IRepository<Asbitem> asbitemRepository, IRepository<Asbitem> asbitemRepository,
SysParmValueManager sysParmValueManager) SysParmValueManager sysParmValueManager)
{ {
@ -64,8 +64,8 @@ namespace Shentun.WebPeis.QuestionRegisters
_questionSubjectTypeRepository = questionSubjectTypeRepository; _questionSubjectTypeRepository = questionSubjectTypeRepository;
_diseaseRiskRepository = diseaseRiskRepository; _diseaseRiskRepository = diseaseRiskRepository;
_diseaseRiskLevelRepository = diseaseRiskLevelRepository; _diseaseRiskLevelRepository = diseaseRiskLevelRepository;
_diseaseRiskLevelAnswerRepository = diseaseRiskLevelAnswerRepository;
_diseaseRiskLevelAsbitemRepository = diseaseRiskLevelAsbitemRepository;
_questionAnswerRiskLevelRepository = questionAnswerRiskLevelRepository;
_questionAnswerAsbitemRepository = questionAnswerAsbitemRepository;
_asbitemRepository = asbitemRepository; _asbitemRepository = asbitemRepository;
_sysParmValueManager = sysParmValueManager; _sysParmValueManager = sysParmValueManager;
} }
@ -364,15 +364,15 @@ namespace Shentun.WebPeis.QuestionRegisters
join diseaseRiskLevel in await _diseaseRiskLevelRepository.GetQueryableAsync() join diseaseRiskLevel in await _diseaseRiskLevelRepository.GetQueryableAsync()
on diseaseRisk.DiseaseRiskId equals diseaseRiskLevel.DiseaseRiskId into emptyDiseaseRiskLevel on diseaseRisk.DiseaseRiskId equals diseaseRiskLevel.DiseaseRiskId into emptyDiseaseRiskLevel
from haveDiseaseRiskLevel in emptyDiseaseRiskLevel.DefaultIfEmpty() 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 orderby diseaseRisk.DisplayOrder
select new select new
{ {
diseaseRisk, diseaseRisk,
haveDiseaseRiskLevel, haveDiseaseRiskLevel,
haveDiseaseRiskLevelAnswer
haveQuestionAnswerRiskLevel
}).ToList(); }).ToList();
var questionRegisterDiseaseRiskDtos = diseaseRisks.GroupBy(o => o.diseaseRisk) var questionRegisterDiseaseRiskDtos = diseaseRisks.GroupBy(o => o.diseaseRisk)
@ -392,9 +392,9 @@ namespace Shentun.WebPeis.QuestionRegisters
DiseaseRiskLevel matchDiseaseRiskLevel = null; DiseaseRiskLevel matchDiseaseRiskLevel = null;
foreach (var diseaseRiskLevel in diseaseRiskLevels) foreach (var diseaseRiskLevel in diseaseRiskLevels)
{ {
if (questionRegisterItems.Where(o => diseaseRiskLevel.haveDiseaseRiskLevelAnswer != null &&
if (questionRegisterItems.Where(o => diseaseRiskLevel.haveQuestionAnswerRiskLevel != null &&
o.questionRegisterAnswer.QuestionAnswerId == o.questionRegisterAnswer.QuestionAnswerId ==
diseaseRiskLevel.haveDiseaseRiskLevelAnswer.QuestionAnswerId).Any())
diseaseRiskLevel.haveQuestionAnswerRiskLevel.QuestionAnswerId).Any())
{ {
if (diseaseRiskLevel.haveDiseaseRiskLevel != null) if (diseaseRiskLevel.haveDiseaseRiskLevel != null)
{ {
@ -443,10 +443,13 @@ namespace Shentun.WebPeis.QuestionRegisters
var diseaseRiskList = await GetDiseaseRiskListByPersonIdAsync(new PersonAppointInputDto() { PersonId = input.PersonId }); var diseaseRiskList = await GetDiseaseRiskListByPersonIdAsync(new PersonAppointInputDto() { PersonId = input.PersonId });
var personDiseaseRisk = diseaseRiskList.Where(o => o.DiseaseRiskId == input.DiseaseRiskId).First(); var personDiseaseRisk = diseaseRiskList.Where(o => o.DiseaseRiskId == input.DiseaseRiskId).First();
var diseaseRiskLevel = diseaseRiskLevels.Where(o => o.DiseaseRiskLevelId == personDiseaseRisk.DiseaseRiskLevelId).FirstOrDefault(); 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() 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 orderby asbitem.DisplayOrder
select asbitem).ToList(); select asbitem).ToList();
@ -491,10 +494,10 @@ namespace Shentun.WebPeis.QuestionRegisters
on questionRegisterItem.QuestionId equals question.QuestionId on questionRegisterItem.QuestionId equals question.QuestionId
join questionSubjectType in await _questionSubjectTypeRepository.GetQueryableAsync() join questionSubjectType in await _questionSubjectTypeRepository.GetQueryableAsync()
on question.QuestionSubjectTypeId equals questionSubjectType.QuestionSubjectTypeId 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 && where questionRegisterItem.QuestionRegisterId == questionRegister.QuestionRegisterId &&
diseaseRiskLevelAnswer.DiseaseRiskLevelId == diseaseRiskLevel.DiseaseRiskLevelId &&
questionAnswerRiskLevel.DiseaseRiskLevelId == diseaseRiskLevel.DiseaseRiskLevelId &&
questionAnswer.IsNone == 'N' questionAnswer.IsNone == 'N'
orderby questionSubjectType.DisplayOrder orderby questionSubjectType.DisplayOrder
select new select new

Loading…
Cancel
Save