Browse Source

预约

master
DESKTOP-G961P6V\Zhh 1 year ago
parent
commit
cc2710d4cb
  1. 4
      src/Shentun.WebPeis.Application.Contracts/AppointPatientRegisters/AppointPatientRegisterInputDto.cs
  2. 18
      src/Shentun.WebPeis.Application.Contracts/AppointRegisterAsbitems/AppointRegisterAsbitemDto.cs
  3. 17
      src/Shentun.WebPeis.Application/AppointPatientRegisters/AppointPatientRegisterAppService.cs

4
src/Shentun.WebPeis.Application.Contracts/AppointPatientRegisters/AppointPatientRegisterInputDto.cs

@ -7,8 +7,8 @@ namespace Shentun.WebPeis.AppointPatientRegisters
public class AppointPatientRegisterInputDto
{
public Guid? MedicalCenterId { get; set; }
public string IdNo { get; set; }
public string MobilePhone { get; set; }
public string? IdNo { get; set; }
public string? MobilePhone { get; set; }
public DateTime? AppointStartDate { get; set; }
public DateTime? AppointStopDate { get; set; }

18
src/Shentun.WebPeis.Application.Contracts/AppointRegisterAsbitems/AppointRegisterAsbitemDto.cs

@ -14,8 +14,19 @@ namespace Shentun.WebPeis.AppointRegisterAsbitems
/// 组合项目ID
/// </summary>
public Guid AsbitemId { get; set; }
/// <summary>
/// 组合项目名称
/// </summary>
public string AsbitemName { get; set; }
/// <summary>
/// 项目类别ID
/// </summary>
public Guid ItemTypeId { get; set; }
/// <summary>
/// 项目类别名称
/// </summary>
public string ItemTypeName { get; set; }
/// <summary>
/// 预约主档ID
/// </summary>
public Guid AppointPatientRegisterId { get; set; }
@ -41,5 +52,12 @@ namespace Shentun.WebPeis.AppointRegisterAsbitems
public short Amount { get; set; }
public char IsInMedicalPackage { get; set; } = 'N';
/// <summary>
/// 项目类别顺序
/// </summary>
public int ItemTypeDisplayOrder { get; set; }
public int DisplayOrder { get; set; }
}
}

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

@ -245,6 +245,8 @@ namespace Shentun.WebPeis.AppointPatientRegisters
from appointRegisterAsbitem in await _appointRegisterAsbitemRepository.GetQueryableAsync()
join asbitem in await _asbitemRepository.GetQueryableAsync()
on appointRegisterAsbitem.AsbitemId equals asbitem.AsbitemId
join itemType in await _itemTypeRepository.GetQueryableAsync()
on asbitem.ItemTypeId equals itemType.ItemTypeId
orderby appointPatientRegister.AppointDate
where appointRegisterAsbitem.AppointPatientRegisterId == input.AppointPatientRegisterId
select new AppointRegisterAsbitemDto()
@ -255,7 +257,11 @@ namespace Shentun.WebPeis.AppointPatientRegisters
StandardPrice = appointRegisterAsbitem.StandardPrice,
ChargePrice = appointRegisterAsbitem.ChargePrice,
Amount = appointRegisterAsbitem.Amount,
IsCharge = appointRegisterAsbitem.IsCharge
IsCharge = appointRegisterAsbitem.IsCharge,
DisplayOrder = asbitem.DisplayOrder,
ItemTypeId = itemType.ItemTypeId,
ItemTypeName = itemType.ItemTypeName,
ItemTypeDisplayOrder = itemType.DisplayOrder,
}
).ToList();
@ -274,15 +280,20 @@ namespace Shentun.WebPeis.AppointPatientRegisters
.Where(o => o.CustomerOrgGroupId == appointPatientRegister.CustomerOrgGroupId)
.Select(x => x.AsbitemId).ToList();
}
var itemTypes = await _itemTypeRepository.GetListAsync();
appointRegisterAsbitemDtos.ForEach(o =>
{
if (asbitems.Where(x => x == o.AsbitemId).ToList().Any())
{
o.IsInMedicalPackage = 'Y';
}
var itemType = itemTypes.Where(o => o.ItemTypeId == o.ItemTypeId).First();
itemType = itemTypes.Where(o=>o.PathCode == itemType.PathCode.Substring(0,5)).First();
o.ItemTypeId = itemType.ItemTypeId;
o.ItemTypeDisplayOrder = itemType.DisplayOrder;
});
appointRegisterAsbitemDtos = appointRegisterAsbitemDtos.OrderBy(o=>o.ItemTypeDisplayOrder)
.OrderBy(o=>o.DisplayOrder).ToList();
return appointRegisterAsbitemDtos;
}
}

Loading…
Cancel
Save