|
|
|
@ -29,12 +29,25 @@ namespace Shentun.Peis.MedicalPackageDetails |
|
|
|
private readonly IRepository<MedicalPackageDetail> _repository; |
|
|
|
private readonly IRepository<IdentityUser, Guid> _userRepository; |
|
|
|
private readonly MedicalPackageDetailManager _manager; |
|
|
|
|
|
|
|
public MedicalPackageDetailAppService(IRepository<MedicalPackageDetail> repository, IRepository<IdentityUser, Guid> userRepository, MedicalPackageDetailManager manager) |
|
|
|
private readonly IRepository<Asbitem, Guid> _asbitemRepository; |
|
|
|
private readonly IRepository<ItemType, Guid> _itemTypeRepository; |
|
|
|
private readonly CacheService _cacheService; |
|
|
|
|
|
|
|
|
|
|
|
public MedicalPackageDetailAppService( |
|
|
|
IRepository<MedicalPackageDetail> repository, |
|
|
|
IRepository<IdentityUser, Guid> userRepository, |
|
|
|
MedicalPackageDetailManager manager, |
|
|
|
IRepository<Asbitem, Guid> asbitemRepository, |
|
|
|
IRepository<ItemType, Guid> itemTypeRepository, |
|
|
|
CacheService cacheService) |
|
|
|
{ |
|
|
|
this._repository = repository; |
|
|
|
this._userRepository = userRepository; |
|
|
|
this._manager = manager; |
|
|
|
_asbitemRepository = asbitemRepository; |
|
|
|
_itemTypeRepository = itemTypeRepository; |
|
|
|
_cacheService = cacheService; |
|
|
|
} |
|
|
|
|
|
|
|
///// <summary>
|
|
|
|
@ -110,51 +123,58 @@ namespace Shentun.Peis.MedicalPackageDetails |
|
|
|
[HttpPost("api/app/medicalpackagedetail/getmedicalpackageinasbitem")] |
|
|
|
public async Task<List<MedicalPackageDetailDto>> GetMedicalPackageInAsbitemAsync(MedicalPackageInAsbitemDto input) |
|
|
|
{ |
|
|
|
|
|
|
|
var entlist = (await _repository.GetDbSetAsync()).Include(c => c.Asbitem) |
|
|
|
.Where(m => m.MedicalPackageId == input.MedicalPackageId).ToList(); |
|
|
|
|
|
|
|
var userList = await _userRepository.GetListAsync(); |
|
|
|
|
|
|
|
var entdto = entlist.Select(s => new MedicalPackageDetailDto |
|
|
|
var query = from medicalPackageDetail in await _repository.GetQueryableAsync() |
|
|
|
join asbitem in await _asbitemRepository.GetQueryableAsync() on medicalPackageDetail.AsbitemId equals asbitem.Id |
|
|
|
join itemType in await _itemTypeRepository.GetQueryableAsync() on asbitem.ItemTypeId equals itemType.Id |
|
|
|
where medicalPackageDetail.MedicalPackageId == input.MedicalPackageId |
|
|
|
select new |
|
|
|
{ |
|
|
|
itemType, |
|
|
|
asbitem, |
|
|
|
medicalPackageDetail |
|
|
|
}; |
|
|
|
|
|
|
|
var entListDto = query.ToList().Select(s => new MedicalPackageDetailDto |
|
|
|
{ |
|
|
|
ClinicalMeaning = s.Asbitem.ClinicalMeaning, |
|
|
|
CreationTime = s.Asbitem.CreationTime, |
|
|
|
CreatorId = s.Asbitem.CreatorId, |
|
|
|
DefaultResult = s.Asbitem.DefaultResult, |
|
|
|
DeviceTypeId = s.Asbitem.DeviceTypeId, |
|
|
|
DiagnosisFunction = s.Asbitem.DiagnosisFunction, |
|
|
|
DisplayName = s.Asbitem.DisplayName, |
|
|
|
DisplayOrder = s.Asbitem.DisplayOrder, |
|
|
|
ForSexId = s.Asbitem.ForSexId, |
|
|
|
Id = s.Asbitem.Id, |
|
|
|
//InvoiceItemTypeId = s.Asbitem.InvoiceItemTypeId,
|
|
|
|
IsActive = s.Asbitem.IsActive, |
|
|
|
IsBeforeEat = s.Asbitem.IsBeforeEat, |
|
|
|
IsCheck = s.Asbitem.IsCheck, |
|
|
|
IsContinueProcess = s.Asbitem.IsContinueProcess, |
|
|
|
IsDiagnosisFunction = s.Asbitem.IsDiagnosisFunction, |
|
|
|
IsItemResultMerger = s.Asbitem.IsItemResultMerger, |
|
|
|
IsPictureRotate = s.Asbitem.IsPictureRotate, |
|
|
|
ItemTypeId = s.Asbitem.ItemTypeId, |
|
|
|
LastModificationTime = s.Asbitem.LastModificationTime, |
|
|
|
LastModifierId = s.Asbitem.LastModifierId, |
|
|
|
Price = s.Asbitem.Price, |
|
|
|
QueueTime = s.Asbitem.QueueTime, |
|
|
|
ShortName = s.Asbitem.ShortName, |
|
|
|
SimpleCode = s.Asbitem.SimpleCode, |
|
|
|
AsbitemMoney = s.Amount * s.Asbitem.Price, |
|
|
|
Discount = s.Asbitem.Price == 0 ? 100 : Math.Round(s.Price * 100 / s.Asbitem.Price, 2), |
|
|
|
MedicalPackageDetailAmount = s.Amount, |
|
|
|
MedicalPackageDetailMoney = s.Amount * s.Price, |
|
|
|
MedicalPackageDetailPrice = s.Price, |
|
|
|
CreatorName = EntityHelper.GetSurnameNoSql(userList, s.Asbitem.CreatorId), |
|
|
|
LastModifierName = EntityHelper.GetSurnameNoSql(userList, s.Asbitem.LastModifierId), |
|
|
|
MaritalStatusId = s.Asbitem.MaritalStatusId, |
|
|
|
IsDiscount = s.Asbitem.IsDiscount |
|
|
|
ClinicalMeaning = s.asbitem.ClinicalMeaning, |
|
|
|
CreationTime = s.asbitem.CreationTime, |
|
|
|
CreatorId = s.asbitem.CreatorId, |
|
|
|
DefaultResult = s.asbitem.DefaultResult, |
|
|
|
DeviceTypeId = s.asbitem.DeviceTypeId, |
|
|
|
DiagnosisFunction = s.asbitem.DiagnosisFunction, |
|
|
|
DisplayName = (s.itemType.DisplayOrder * 3000) + s.asbitem.DisplayName, |
|
|
|
DisplayOrder = s.asbitem.DisplayOrder, |
|
|
|
ForSexId = s.asbitem.ForSexId, |
|
|
|
Id = s.asbitem.Id, |
|
|
|
//InvoiceItemTypeId = s.asbitem.InvoiceItemTypeId,
|
|
|
|
IsActive = s.asbitem.IsActive, |
|
|
|
IsBeforeEat = s.asbitem.IsBeforeEat, |
|
|
|
IsCheck = s.asbitem.IsCheck, |
|
|
|
IsContinueProcess = s.asbitem.IsContinueProcess, |
|
|
|
IsDiagnosisFunction = s.asbitem.IsDiagnosisFunction, |
|
|
|
IsItemResultMerger = s.asbitem.IsItemResultMerger, |
|
|
|
IsPictureRotate = s.asbitem.IsPictureRotate, |
|
|
|
ItemTypeId = s.asbitem.ItemTypeId, |
|
|
|
LastModificationTime = s.asbitem.LastModificationTime, |
|
|
|
LastModifierId = s.asbitem.LastModifierId, |
|
|
|
Price = s.asbitem.Price, |
|
|
|
QueueTime = s.asbitem.QueueTime, |
|
|
|
ShortName = s.asbitem.ShortName, |
|
|
|
SimpleCode = s.asbitem.SimpleCode, |
|
|
|
AsbitemMoney = s.medicalPackageDetail.Amount * s.asbitem.Price, |
|
|
|
Discount = s.asbitem.Price == 0 ? 100 : Math.Round(s.medicalPackageDetail.Price * 100 / s.asbitem.Price, 2), |
|
|
|
MedicalPackageDetailAmount = s.medicalPackageDetail.Amount, |
|
|
|
MedicalPackageDetailMoney = s.medicalPackageDetail.Amount * s.medicalPackageDetail.Price, |
|
|
|
MedicalPackageDetailPrice = s.medicalPackageDetail.Price, |
|
|
|
CreatorName = _cacheService.GetSurnameAsync(s.asbitem.CreatorId).GetAwaiter().GetResult(), |
|
|
|
LastModifierName = _cacheService.GetSurnameAsync(s.asbitem.LastModifierId).GetAwaiter().GetResult(), |
|
|
|
MaritalStatusId = s.asbitem.MaritalStatusId, |
|
|
|
IsDiscount = s.asbitem.IsDiscount |
|
|
|
}).ToList(); |
|
|
|
|
|
|
|
return entdto; |
|
|
|
|
|
|
|
|
|
|
|
return entListDto; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|