Browse Source

修改登记信息是处理体检日期跟状态、增加查询人员条码号接口

bjmzak
wxd 2 years ago
parent
commit
da43bfaeb3
  1. 14
      src/Shentun.Peis.Application.Contracts/PatientRegisters/CheckRequestNoInputDto.cs
  2. 14
      src/Shentun.Peis.Application.Contracts/PatientRegisters/LisRequestNoInputDto.cs
  3. 11
      src/Shentun.Peis.Application.Contracts/PatientRegisters/PatientRegisterSimpleDto.cs
  4. 82
      src/Shentun.Peis.Application/PatientRegisters/PatientRegisterAppService.cs
  5. 9
      src/Shentun.Peis.Domain/PatientRegisters/PatientRegisterManager.cs

14
src/Shentun.Peis.Application.Contracts/PatientRegisters/CheckRequestNoInputDto.cs

@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Shentun.Peis.PatientRegisters
{
public class CheckRequestNoInputDto
{
/// <summary>
/// 检查单号
/// </summary>
public string CheckRequestNo { get; set; }
}
}

14
src/Shentun.Peis.Application.Contracts/PatientRegisters/LisRequestNoInputDto.cs

@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Shentun.Peis.PatientRegisters
{
public class LisRequestNoInputDto
{
/// <summary>
/// Lis申请单号
/// </summary>
public string LisRequestNo { get; set; }
}
}

11
src/Shentun.Peis.Application.Contracts/PatientRegisters/PatientRegisterSimpleDto.cs

@ -0,0 +1,11 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Shentun.Peis.PatientRegisters
{
public class PatientRegisterSimpleDto
{
public string PatientRegisterNo { get; set; }
}
}

82
src/Shentun.Peis.Application/PatientRegisters/PatientRegisterAppService.cs

@ -12,6 +12,7 @@ using Shentun.Peis.CommonCharTypes;
using Shentun.Peis.CustomerOrgRegisters;
using Shentun.Peis.CustomerOrgs;
using Shentun.Peis.Enums;
using Shentun.Peis.LisRequests;
using Shentun.Peis.Models;
using Shentun.Peis.PatientRegisterExters;
using Shentun.Peis.Patients;
@ -104,6 +105,7 @@ namespace Shentun.Peis.PatientRegisters
private readonly SysParmValueManager _sysParmValueManager;
private readonly IRepository<PatientRegisterExter> _patientRegisterExterRepository;
private readonly PatientRegisterExterManager _patientRegisterExterManager;
private readonly IRepository<LisRequest, Guid> _lisRequestRepository;
public PatientRegisterAppService(
IRepository<PatientRegister, Guid> repository,
IRepository<Patient, Guid> patientRepository,
@ -149,7 +151,8 @@ namespace Shentun.Peis.PatientRegisters
SumSuggestionContentManager sumSuggestionContentManager,
SysParmValueManager sysParmValueManager,
IRepository<PatientRegisterExter> patientRegisterExterRepository,
PatientRegisterExterManager patientRegisterExterManager)
PatientRegisterExterManager patientRegisterExterManager,
IRepository<LisRequest, Guid> lisRequestRepository)
: base(repository)
{
this._repository = repository;
@ -197,6 +200,7 @@ namespace Shentun.Peis.PatientRegisters
_sysParmValueManager = sysParmValueManager;
_patientRegisterExterRepository = patientRegisterExterRepository;
_patientRegisterExterManager = patientRegisterExterManager;
_lisRequestRepository = lisRequestRepository;
}
/// <summary>
/// 获取通过主键
@ -209,6 +213,72 @@ namespace Shentun.Peis.PatientRegisters
}
/// <summary>
/// 根据lis申请单号 获取人员条码号
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
/// <exception cref="UserFriendlyException"></exception>
[HttpPost("api/app/PatientRegister/GetPatientRegisterNoByLisRequestNo")]
public async Task<PatientRegisterSimpleDto> GetPatientRegisterNoByLisRequestNoAsync(LisRequestNoInputDto input)
{
if (input == null)
{
throw new UserFriendlyException("请求参数有误");
}
var patientRegisterNo = (from lisRequest in await _lisRequestRepository.GetQueryableAsync()
join registerCheckAsbitem in await _registerCheckAsbitemRepository.GetQueryableAsync() on lisRequest.Id equals registerCheckAsbitem.LisRequestId
join registerCheck in await _registerCheckRepository.GetQueryableAsync() on registerCheckAsbitem.RegisterCheckId equals registerCheck.Id
join patientRegister in await Repository.GetQueryableAsync() on registerCheck.PatientRegisterId equals patientRegister.Id
where lisRequest.LisRequestNo == input.LisRequestNo
select patientRegister.PatientRegisterNo).FirstOrDefault();
if (!string.IsNullOrEmpty(patientRegisterNo))
{
return new PatientRegisterSimpleDto
{
PatientRegisterNo = patientRegisterNo
};
}
else
{
throw new UserFriendlyException("Lis申请单有误");
}
}
/// <summary>
/// 根据检查单号 获取人员条码号
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
/// <exception cref="UserFriendlyException"></exception>
[HttpPost("api/app/PatientRegister/GetPatientRegisterNoByCheckRequestNo")]
public async Task<PatientRegisterSimpleDto> GetPatientRegisterNoByCheckRequestNoAsync(CheckRequestNoInputDto input)
{
if (input == null)
{
throw new UserFriendlyException("请求参数有误");
}
var patientRegisterNo = (from registerCheck in await _registerCheckRepository.GetQueryableAsync()
join patientRegister in await Repository.GetQueryableAsync() on registerCheck.PatientRegisterId equals patientRegister.Id
where registerCheck.CheckRequestNo == input.CheckRequestNo
select patientRegister.PatientRegisterNo).FirstOrDefault();
if (!string.IsNullOrEmpty(patientRegisterNo))
{
return new PatientRegisterSimpleDto
{
PatientRegisterNo = patientRegisterNo
};
}
else
{
throw new UserFriendlyException("检查单有误");
}
}
/// <summary>
/// 编辑反写接口,包含档案表跟登记表的信息
@ -820,7 +890,7 @@ namespace Shentun.Peis.PatientRegisters
}
//创建人员登记信息
createPatientRegisterArg.PatientId = patient.Id;
if(patient.BirthDate != null)
if (patient.BirthDate != null)
{
createPatientRegisterArg.BirthDate = patient.BirthDate;
}
@ -1162,7 +1232,7 @@ namespace Shentun.Peis.PatientRegisters
}
int totalCount = sumquery.Count();
@ -2791,9 +2861,9 @@ namespace Shentun.Peis.PatientRegisters
}
patientRegisterList.ForEach(f =>
patientRegisterList.ForEach(f =>
{
if(f.CompleteFlag == PatientRegisterCompleteFlag.PreRegistration
if (f.CompleteFlag == PatientRegisterCompleteFlag.PreRegistration
&& input.CompleteFlag == PatientRegisterCompleteFlag.Registration)
{
f.MedicalStartDate = DateTime.Now;
@ -2809,7 +2879,7 @@ namespace Shentun.Peis.PatientRegisters
patientRegisterList.ForEach(f => f.MedicalStartDate = PageHelper.ConvertDatetimeV(input.MedicalStartDate));
}
await _repository.UpdateManyAsync(patientRegisterList);

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

@ -672,6 +672,15 @@ namespace Shentun.Peis.PatientRegisters
throw new UserFriendlyException("人员信息姓名和性别和原来的信息都不一致,禁止修改");
}
//预登记改正式登记 修改体检日期跟状态
if (targetEntity.CompleteFlag == PatientRegisterCompleteFlag.PreRegistration
&& sourceEntity.CompleteFlag == PatientRegisterCompleteFlag.Registration)
{
targetEntity.MedicalStartDate = DateTime.Now;
targetEntity.IsMedicalStart = 'Y';
}
//targetEntity.AuditDate = sourceEntity.AuditDate;
//targetEntity.AuditDoctor = sourceEntity.AuditDoctor;
targetEntity.BirthDate = sourceEntity.BirthDate;

Loading…
Cancel
Save