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);
}