|
|
|
@ -657,6 +657,8 @@ namespace Shentun.WebPeis.AppointPatientRegisters |
|
|
|
{ |
|
|
|
MedicalPackageId = medicalPackage.MedicalPackageId, |
|
|
|
MedicalPackageName = medicalPackage.MedicalPackageName, |
|
|
|
Price = medicalPackage.Price, |
|
|
|
SumPrice = medicalPackage.Price, |
|
|
|
DisplayOrder = medicalPackage.DisplayOrder |
|
|
|
}; |
|
|
|
|
|
|
|
@ -664,6 +666,8 @@ namespace Shentun.WebPeis.AppointPatientRegisters |
|
|
|
var medicalPackageAsbitems = (from medicalPackageDetail in await _medicalPackageDetailRepository.GetQueryableAsync() |
|
|
|
join asbitem in await _asbitemRepository.GetQueryableAsync() |
|
|
|
on medicalPackageDetail.AsbitemId equals asbitem.AsbitemId |
|
|
|
join itemType in await _itemTypeRepository.GetQueryableAsync() |
|
|
|
on asbitem.ItemTypeId equals itemType.ItemTypeId |
|
|
|
where medicalPackageDetail.MedicalPackageId == medicalPackage.MedicalPackageId |
|
|
|
select new RecommendMedicalPackageAsbitem() |
|
|
|
{ |
|
|
|
@ -674,7 +678,7 @@ namespace Shentun.WebPeis.AppointPatientRegisters |
|
|
|
ClinicalMeaning = asbitem.ClinicalMeaning, |
|
|
|
Warn = asbitem.Warn, |
|
|
|
IsBelongMedicalPackage = 'Y', |
|
|
|
DisplayOrder = asbitem.DisplayOrder |
|
|
|
DisplayOrder = itemType.DisplayOrder * 100 + asbitem.DisplayOrder |
|
|
|
}).ToList(); |
|
|
|
|
|
|
|
recommendMedicalPackageDto.Asbitems.AddRange(medicalPackageAsbitems); |
|
|
|
@ -690,14 +694,18 @@ namespace Shentun.WebPeis.AppointPatientRegisters |
|
|
|
} |
|
|
|
|
|
|
|
//----推荐组合项目
|
|
|
|
|
|
|
|
var personDiseaseRiskLevelDtos = await GetDiseaseRiskListByPersonIdAsync(input.PersonId); |
|
|
|
//去掉基本套餐中已经包含的组合项目
|
|
|
|
foreach (var personDiseaseRiskLevelDto in personDiseaseRiskLevelDtos) |
|
|
|
{ |
|
|
|
foreach (var personDiseaseRiskLevelAsbitem in personDiseaseRiskLevelDto.Asbitems) |
|
|
|
for (var i = 0; i< personDiseaseRiskLevelDto.Asbitems.Count; i++ ) |
|
|
|
{ |
|
|
|
var personDiseaseRiskLevelAsbitem = personDiseaseRiskLevelDto.Asbitems[i]; |
|
|
|
if (medicalPackageAsbitems.Where(o => o.AsbitemId == personDiseaseRiskLevelAsbitem.AsbitemId).Any()) |
|
|
|
{ |
|
|
|
personDiseaseRiskLevelAsbitem.IsBelongMedicalPackage = 'Y'; |
|
|
|
personDiseaseRiskLevelDto.Asbitems.Remove(personDiseaseRiskLevelAsbitem); |
|
|
|
i --; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
@ -705,29 +713,25 @@ namespace Shentun.WebPeis.AppointPatientRegisters |
|
|
|
var personDiseaseRiskLevelResultDtos = new List<PersonDiseaseRiskLevelDto>(); |
|
|
|
foreach (var personDiseaseRiskLevelDto in personDiseaseRiskLevelDtos) |
|
|
|
{ |
|
|
|
var personDiseaseRiskLevelResultDto = new PersonDiseaseRiskLevelDto() |
|
|
|
if(personDiseaseRiskLevelDto.Asbitems.Where(o=>o.AsbitemRecommendLevelId == input.RecommendId).Count() > 0) |
|
|
|
{ |
|
|
|
DiseaseRiskId = personDiseaseRiskLevelDto.DiseaseRiskId, |
|
|
|
DiseaseRiskName = personDiseaseRiskLevelDto.DiseaseRiskName, |
|
|
|
DisplayOrder = personDiseaseRiskLevelDto.DisplayOrder, |
|
|
|
DiseaseRiskLevelId = personDiseaseRiskLevelDto.DiseaseRiskLevelId, |
|
|
|
DiseaseRiskLevelName = personDiseaseRiskLevelDto.DiseaseRiskLevelName |
|
|
|
}; |
|
|
|
personDiseaseRiskLevelResultDtos.Add(personDiseaseRiskLevelResultDto); |
|
|
|
} |
|
|
|
//一级推荐组合项目
|
|
|
|
foreach (var personDiseaseRiskLevelResultDto in personDiseaseRiskLevelResultDtos) |
|
|
|
{ |
|
|
|
var personDiseaseRiskLevelDto = personDiseaseRiskLevelDtos.Where(o => |
|
|
|
o.DiseaseRiskLevelId == personDiseaseRiskLevelResultDto.DiseaseRiskLevelId |
|
|
|
).First(); |
|
|
|
var asbitems = personDiseaseRiskLevelDto.Asbitems.Where(o => o.AsbitemRecommendLevelId == input.RecommendId |
|
|
|
|| o.IsBelongMedicalPackage == 'Y') |
|
|
|
.ToList(); |
|
|
|
personDiseaseRiskLevelResultDto.Asbitems.AddRange(asbitems); |
|
|
|
//只有有推荐的项目才进入推荐风险项目列表
|
|
|
|
var personDiseaseRiskLevelResultDto = new PersonDiseaseRiskLevelDto() |
|
|
|
{ |
|
|
|
DiseaseRiskId = personDiseaseRiskLevelDto.DiseaseRiskId, |
|
|
|
DiseaseRiskName = personDiseaseRiskLevelDto.DiseaseRiskName, |
|
|
|
DisplayOrder = personDiseaseRiskLevelDto.DisplayOrder, |
|
|
|
DiseaseRiskLevelId = personDiseaseRiskLevelDto.DiseaseRiskLevelId, |
|
|
|
DiseaseRiskLevelName = personDiseaseRiskLevelDto.DiseaseRiskLevelName |
|
|
|
}; |
|
|
|
personDiseaseRiskLevelResultDto.Asbitems = |
|
|
|
personDiseaseRiskLevelDto.Asbitems.Where(o => o.AsbitemRecommendLevelId == input.RecommendId).ToList(); |
|
|
|
recommendMedicalPackageDto.SumPrice += personDiseaseRiskLevelResultDto.Asbitems.Sum(o => o.Price); |
|
|
|
personDiseaseRiskLevelResultDtos.Add(personDiseaseRiskLevelResultDto); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
recommendMedicalPackageDto.DiseaseRiskLevelAsbitems.AddRange(personDiseaseRiskLevelResultDtos); |
|
|
|
recommendMedicalPackageDto.DiseaseRiskLevelAsbitems = personDiseaseRiskLevelResultDtos; |
|
|
|
return recommendMedicalPackageDto; |
|
|
|
|
|
|
|
} |
|
|
|
@ -858,7 +862,8 @@ namespace Shentun.WebPeis.AppointPatientRegisters |
|
|
|
join asbitem in await _asbitemRepository.GetQueryableAsync() |
|
|
|
on diseaseRiskLevelAsbitem.AsbitemId equals asbitem.AsbitemId |
|
|
|
where diseaseRiskLevelAsbitem.DiseaseRiskLevelId == diseaseRisk.DiseaseRiskLevelId |
|
|
|
select new PersonDiseaseRiskLevelAsbitem() |
|
|
|
orderby asbitem.DisplayOrder |
|
|
|
select new RecommendMedicalPackageAsbitem() |
|
|
|
{ |
|
|
|
AsbitemId = asbitem.AsbitemId, |
|
|
|
AsbitemName = asbitem.AsbitemName, |
|
|
|
|