Browse Source

事务冲突

master
wxd 3 months ago
parent
commit
0ce5149366
  1. 13
      src/Shentun.Peis.Application/ChargeRequests/ChargeRequestAppService.cs
  2. 14
      src/Shentun.Peis.Application/LisRequests/LisRequestAppService.cs
  3. 13
      src/Shentun.Peis.Application/PrintReports/PrintReportAppService.cs

13
src/Shentun.Peis.Application/ChargeRequests/ChargeRequestAppService.cs

@ -68,7 +68,10 @@ namespace Shentun.Peis.ChargeRequests
{
throw new UserFriendlyException("input参数不能为空");
}
var chargeRequest = new ChargeRequest();
using (var uow = _unitOfWorkManager.Begin(requiresNew: true, isTransactional: true))
{
var patientRegisterEnt = await _patientRegisterRepository.FirstOrDefaultAsync(f => f.Id == input.PatientRegisterId);
if (patientRegisterEnt == null)
throw new UserFriendlyException("人员不存在");
@ -96,7 +99,7 @@ namespace Shentun.Peis.ChargeRequests
{
PatientRegisterId = input.PatientRegisterId
};
var chargeRequest = await _chargeRequestManager.CreateAsync(chargeRequestSource);
chargeRequest = await _chargeRequestManager.CreateAsync(chargeRequestSource);
//更新登记组合项目
foreach (var item in list)
{
@ -129,12 +132,12 @@ namespace Shentun.Peis.ChargeRequests
var chargeRequestAsbitem = await _chargeRequestAsbitemManager.CreateAsync(chargeRequestAsbitemSource);
await _chargeRequestAsbitemRepository.InsertAsync(chargeRequestAsbitem);
}
await _unitOfWorkManager.Current.SaveChangesAsync();
await _unitOfWorkManager.Current.CompleteAsync();
//await _unitOfWorkManager.Current.SaveChangesAsync();
await uow.CompleteAsync();
//await UnitOfWorkManager.Current.SaveChangesAsync();
//await UnitOfWorkManager.Current.CompleteAsync();
using (var unitOfWork = _unitOfWorkManager.Begin(isTransactional: true))
}
using (var unitOfWork = _unitOfWorkManager.Begin(requiresNew: false, isTransactional: false))
{
await _chargeRequestManager.SendThirChargeRequestAsync(chargeRequest.Id, "SendChargeRequestAsync");
await unitOfWork.CompleteAsync();

14
src/Shentun.Peis.Application/LisRequests/LisRequestAppService.cs

@ -653,13 +653,13 @@ namespace Shentun.Peis.LisRequests
//生成LIS条码
var lisRequests = await _lisRequestManager.SetLisRequestAsync(patientRegisterId);
await _unitOfWorkManager.Current.SaveChangesAsync();
await _unitOfWorkManager.Current.CompleteAsync();
//await _unitOfWorkManager.Current.SaveChangesAsync();
//await _unitOfWorkManager.Current.CompleteAsync();
using (var uow = _unitOfWorkManager.Begin(
requiresNew: false, isTransactional: false
))
{
// using (var uow = _unitOfWorkManager.Begin(
// requiresNew: false, isTransactional: false
//))
// {
if (lisRequestNoPrintMode == "0")
{
var query = (from lisRequest in await _lisRequestRepository.GetQueryableAsync()
@ -750,7 +750,7 @@ namespace Shentun.Peis.LisRequests
return resultDto;
}
}
//}
}

13
src/Shentun.Peis.Application/PrintReports/PrintReportAppService.cs

@ -309,11 +309,18 @@ namespace Shentun.Peis.PrintReports
/// <returns></returns>
[HttpPost("api/app/PrintReport/GetLisRequestReportByPatientRegisterId")]
public async Task<List<LisRequestReportDto>> GetLisRequestReportByPatientRegisterIdAsync(PatientRegisterIdInputDto input)
{
var lisRequests = new List<LisRequest>();
using (var uow = _unitOfWorkManager.Begin(requiresNew: true, isTransactional: true))
{
//生成LIS条码
var lisRequests = await _lisRequestManager.SetLisRequestAsync(input.PatientRegisterId);
await _unitOfWorkManager.Current.SaveChangesAsync();
await _unitOfWorkManager.Current.CompleteAsync();
lisRequests = await _lisRequestManager.SetLisRequestAsync(input.PatientRegisterId);
//await _unitOfWorkManager.Current.SaveChangesAsync();
await uow.CompleteAsync();
}
var entlist = new List<LisRequestReportDto>();

Loading…
Cancel
Save