Browse Source

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

bjmzak
wxd 1 year 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. 39
      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("完成标志错误");

39
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
/// <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