From a61a0b9bf99b9f63533119e384037121a5c80e54 Mon Sep 17 00:00:00 2001 From: wxd <123@qq.com> Date: Wed, 22 May 2024 17:11:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9B=E5=BB=BA=E6=A1=A3=E6=A1=88=E3=80=81?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E9=A1=B9=E7=9B=AE=E6=94=B6=E8=B4=B9=E5=88=A4?= =?UTF-8?q?=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Patients/CreatePatientDto.cs | 5 +++ .../Patients/PatientAppService.cs | 1 + .../PatientRegisterManager.cs | 12 ++---- .../RegisterCheckAsbitemManager.cs | 39 ++++++++++++++----- 4 files changed, 39 insertions(+), 18 deletions(-) diff --git a/src/Shentun.Peis.Application.Contracts/Patients/CreatePatientDto.cs b/src/Shentun.Peis.Application.Contracts/Patients/CreatePatientDto.cs index 07c8cd6..4ec1459 100644 --- a/src/Shentun.Peis.Application.Contracts/Patients/CreatePatientDto.cs +++ b/src/Shentun.Peis.Application.Contracts/Patients/CreatePatientDto.cs @@ -80,5 +80,10 @@ namespace Shentun.Peis.Patients /// 地址 /// public string? Address { get; set; } + + /// + /// 体检中心 + /// + public Guid MedicalCenterId { get; set; } } } diff --git a/src/Shentun.Peis.Application/Patients/PatientAppService.cs b/src/Shentun.Peis.Application/Patients/PatientAppService.cs index 93e8771..fea38cf 100644 --- a/src/Shentun.Peis.Application/Patients/PatientAppService.cs +++ b/src/Shentun.Peis.Application/Patients/PatientAppService.cs @@ -147,6 +147,7 @@ namespace Shentun.Peis.Patients /// /// /// + [HttpPost("api/app/patient/Create")] public override async Task CreateAsync(CreatePatientDto input) { var createEntity = ObjectMapper.Map(input); diff --git a/src/Shentun.Peis.Domain/PatientRegisters/PatientRegisterManager.cs b/src/Shentun.Peis.Domain/PatientRegisters/PatientRegisterManager.cs index eecae3d..37a144a 100644 --- a/src/Shentun.Peis.Domain/PatientRegisters/PatientRegisterManager.cs +++ b/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("完成标志错误"); diff --git a/src/Shentun.Peis.Domain/RegisterCheckAsbitems/RegisterCheckAsbitemManager.cs b/src/Shentun.Peis.Domain/RegisterCheckAsbitems/RegisterCheckAsbitemManager.cs index a637c80..4269683 100644 --- a/src/Shentun.Peis.Domain/RegisterCheckAsbitems/RegisterCheckAsbitemManager.cs +++ b/src/Shentun.Peis.Domain/RegisterCheckAsbitems/RegisterCheckAsbitemManager.cs @@ -407,12 +407,12 @@ namespace Shentun.Peis.RegisterAsbitems { throw new UserFriendlyException($"{asbitem.DisplayName}已锁住不能删除"); } - if(existRegisterAsbitem.ChargeRequestId != null) + if (existRegisterAsbitem.ChargeRequestId != null) { var chargeRequest = (await _chargeRequestRepository.GetQueryableAsync()).Where(o => o.Id == existRegisterAsbitem.ChargeRequestId).FirstOrDefault(); - if(chargeRequest != null) + if (chargeRequest != null) { - if(chargeRequest.ChargeRequestFlag == ChargeRequestFlag.ChargeRequest) + if (chargeRequest.ChargeRequestFlag == ChargeRequestFlag.ChargeRequest) { throw new UserFriendlyException($"{asbitem.DisplayName}已有收费申请不能删除,必须先作废收费申请"); } @@ -426,7 +426,7 @@ namespace Shentun.Peis.RegisterAsbitems } } } - + createRegisterCheckAsbitemEntity.DeleteRegisterCheckAsbitems.Add(existRegisterAsbitem); } } @@ -444,8 +444,8 @@ namespace Shentun.Peis.RegisterAsbitems } if (registerAsbitem.Id == Guid.Empty) { - if (existRegisterAsbitems.Where(o => o.AsbitemId == registerAsbitem.AsbitemId).Count() > 0 && - createRegisterCheckAsbitemEntity.DeleteRegisterCheckAsbitems.Where(o=>o.AsbitemId == registerAsbitem.AsbitemId).Count() == 0) + if (existRegisterAsbitems.Where(o => o.AsbitemId == registerAsbitem.AsbitemId).Count() > 0 && + createRegisterCheckAsbitemEntity.DeleteRegisterCheckAsbitems.Where(o => o.AsbitemId == registerAsbitem.AsbitemId).Count() == 0) { throw new UserFriendlyException($"组合项目:{asbitem.DisplayName}已存在不能增加"); } @@ -475,7 +475,7 @@ namespace Shentun.Peis.RegisterAsbitems if (string.IsNullOrWhiteSpace(registerCheck.CheckRequestNo)) { //没有申请号的要重新生成申请号,所有设置成修改状态 - isModified = true ; + isModified = true; } if (!isModified) { @@ -547,7 +547,7 @@ namespace Shentun.Peis.RegisterAsbitems } } //没有检查申请单号的,重新生成检查申请单号 - if(string.IsNullOrWhiteSpace(registerCheck.CheckRequestNo)) + if (string.IsNullOrWhiteSpace(registerCheck.CheckRequestNo)) { registerCheck.CheckRequestNo = await _registerCheckManager.CreateCheckRequestNo(patientRegister.MedicalCenterId); } @@ -673,7 +673,7 @@ namespace Shentun.Peis.RegisterAsbitems /// 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); }