Browse Source

创建档案、删除项目收费判断

bjmzak
wxd 2 years ago
parent
commit
a61a0b9bf9
  1. 5
      src/Shentun.Peis.Application.Contracts/Patients/CreatePatientDto.cs
  2. 1
      src/Shentun.Peis.Application/Patients/PatientAppService.cs
  3. 12
      src/Shentun.Peis.Domain/PatientRegisters/PatientRegisterManager.cs
  4. 23
      src/Shentun.Peis.Domain/RegisterCheckAsbitems/RegisterCheckAsbitemManager.cs

5
src/Shentun.Peis.Application.Contracts/Patients/CreatePatientDto.cs

@ -80,5 +80,10 @@ namespace Shentun.Peis.Patients
/// 地址
/// </summary>
public string? Address { get; set; }
/// <summary>
/// 体检中心
/// </summary>
public Guid MedicalCenterId { get; set; }
}
}

1
src/Shentun.Peis.Application/Patients/PatientAppService.cs

@ -147,6 +147,7 @@ namespace Shentun.Peis.Patients
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("api/app/patient/Create")]
public override async Task<PatientDto> CreateAsync(CreatePatientDto input)
{
var createEntity = ObjectMapper.Map<CreatePatientDto, Patient>(input);

12
src/Shentun.Peis.Domain/PatientRegisters/PatientRegisterManager.cs

@ -505,15 +505,9 @@ namespace Shentun.Peis.PatientRegisters
DataHelper.CheckCharIsYOrN(sourceEntity.IsNameHide, "姓名隐藏");
//if (sourceEntity.CompleteFlag != PatientRegisterCompleteFlag.PreRegistration &&
// sourceEntity.CompleteFlag != PatientRegisterCompleteFlag.Registration &&
// sourceEntity.CompleteFlag != PatientRegisterCompleteFlag.PartCheck
// )
//{
// throw new ArgumentException("完成标志错误");
//}
if (sourceEntity.CompleteFlag == PatientRegisterCompleteFlag.SumCheck &&
targetEntity.CompleteFlag != PatientRegisterCompleteFlag.SumCheck
if (sourceEntity.CompleteFlag != PatientRegisterCompleteFlag.PreRegistration &&
sourceEntity.CompleteFlag != PatientRegisterCompleteFlag.Registration &&
sourceEntity.CompleteFlag != PatientRegisterCompleteFlag.PartCheck
)
{
throw new ArgumentException("完成标志错误");

23
src/Shentun.Peis.Domain/RegisterCheckAsbitems/RegisterCheckAsbitemManager.cs

@ -673,7 +673,7 @@ namespace Shentun.Peis.RegisterAsbitems
/// <returns></returns>
public async Task DeleteAsync(Guid RegisterAsbitemId)
{
var registerAsbitemEnt = await _registerCheckAsbitemRepository.GetAsync(RegisterAsbitemId);
var registerAsbitemEnt = (await _registerCheckAsbitemRepository.GetQueryableAsync()).Include(x => x.Asbitem).FirstOrDefault(f => f.Id == RegisterAsbitemId);
if (registerAsbitemEnt == null)
throw new UserFriendlyException($"数据有误");
if (registerAsbitemEnt.IsCharge == 'Y')
@ -682,6 +682,27 @@ namespace Shentun.Peis.RegisterAsbitems
if (registerCheckEnt != null && registerCheckEnt.CompleteFlag == RegisterCheckCompleteFlag.Checked)
throw new UserFriendlyException($"当前体检项目已完成,不能删除");
if (registerAsbitemEnt.ChargeRequestId != null)
{
var chargeRequest = (await _chargeRequestRepository.GetQueryableAsync()).Where(o => o.Id == registerAsbitemEnt.ChargeRequestId).FirstOrDefault();
if (chargeRequest != null)
{
if (chargeRequest.ChargeRequestFlag == ChargeRequestFlag.ChargeRequest)
{
throw new UserFriendlyException($"{registerAsbitemEnt.Asbitem.DisplayName}已有收费申请不能删除,必须先作废收费申请");
}
if (chargeRequest.ChargeRequestFlag == ChargeRequestFlag.CancelChargeRequest)
{
throw new UserFriendlyException($"{registerAsbitemEnt.Asbitem.DisplayName}已有作废申请不能删除,必须先作废成功");
}
if (chargeRequest.ChargeRequestFlag == ChargeRequestFlag.RefundRequest)
{
throw new UserFriendlyException($"{registerAsbitemEnt.Asbitem.DisplayName}已有退费申请不能删除,必须先退费");
}
}
}
await _registerCheckAsbitemRepository.DeleteAsync(registerAsbitemEnt);
}

Loading…
Cancel
Save