Browse Source

插件

bjmzak
DESKTOP-G961P6V\Zhh 1 year ago
parent
commit
5bc64f62da
  1. 58
      src/Shentun.Peis.Application/ChargeRequests/ChargeRequestAppService.cs

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

@ -20,7 +20,7 @@ namespace Shentun.Peis.ChargeRequests
{ {
[ApiExplorerSettings(GroupName = "Work")] [ApiExplorerSettings(GroupName = "Work")]
[Authorize] [Authorize]
public class ChargeRequestAppService: ApplicationService
public class ChargeRequestAppService : ApplicationService
{ {
private readonly IRepository<ChargeRequest, Guid> _chargeRequestRepository; private readonly IRepository<ChargeRequest, Guid> _chargeRequestRepository;
private readonly IRepository<ChargeRequestAsbitem, Guid> _chargeRequestAsbitemRepository; private readonly IRepository<ChargeRequestAsbitem, Guid> _chargeRequestAsbitemRepository;
@ -73,7 +73,7 @@ namespace Shentun.Peis.ChargeRequests
join asbitem in await _asbitemRepository.GetQueryableAsync() join asbitem in await _asbitemRepository.GetQueryableAsync()
on registerCheckAsbitem.AsbitemId equals asbitem.Id on registerCheckAsbitem.AsbitemId equals asbitem.Id
where registerCheck.PatientRegisterId == input.PatientRegisterId && where registerCheck.PatientRegisterId == input.PatientRegisterId &&
input.RegisterCheckAsbitems.Select(o=>o.RegisterCheckAsbitemId)
input.RegisterCheckAsbitems.Select(o => o.RegisterCheckAsbitemId)
.Contains(registerCheckAsbitem.Id) .Contains(registerCheckAsbitem.Id)
select new select new
{ {
@ -83,15 +83,15 @@ namespace Shentun.Peis.ChargeRequests
var chargeRequestSource = new ChargeRequest() var chargeRequestSource = new ChargeRequest()
{ {
PatientRegisterId = input.PatientRegisterId PatientRegisterId = input.PatientRegisterId
};
};
var chargeRequest = await _chargeRequestManager.CreateAsync(chargeRequestSource); var chargeRequest = await _chargeRequestManager.CreateAsync(chargeRequestSource);
//更新登记组合项目 //更新登记组合项目
foreach (var item in list) foreach (var item in list)
{ {
if(item.registerCheckAsbitem.ChargeRequestId != null)
if (item.registerCheckAsbitem.ChargeRequestId != null)
{ {
var haveChargeRequest = await _chargeRequestRepository.GetAsync((Guid)item.registerCheckAsbitem.ChargeRequestId);
if(haveChargeRequest.ChargeRequestFlag == ChargeRequestFlag.ChargeRequest ||
var haveChargeRequest = await _chargeRequestRepository.GetAsync((Guid)item.registerCheckAsbitem.ChargeRequestId);
if (haveChargeRequest.ChargeRequestFlag == ChargeRequestFlag.ChargeRequest ||
haveChargeRequest.ChargeRequestFlag == ChargeRequestFlag.CancelChargeRequest || haveChargeRequest.ChargeRequestFlag == ChargeRequestFlag.CancelChargeRequest ||
haveChargeRequest.ChargeRequestFlag == ChargeRequestFlag.RefundRequest) haveChargeRequest.ChargeRequestFlag == ChargeRequestFlag.RefundRequest)
{ {
@ -121,7 +121,13 @@ namespace Shentun.Peis.ChargeRequests
await _unitOfWorkManager.Current.CompleteAsync(); await _unitOfWorkManager.Current.CompleteAsync();
//await UnitOfWorkManager.Current.SaveChangesAsync(); //await UnitOfWorkManager.Current.SaveChangesAsync();
//await UnitOfWorkManager.Current.CompleteAsync(); //await UnitOfWorkManager.Current.CompleteAsync();
await _chargeRequestManager.SendThirChargeRequestAsync(chargeRequest.Id, "SendChargeRequestAsync");
using (var unitOfWork = _unitOfWorkManager.Begin(isTransactional: true))
{
await _chargeRequestManager.SendThirChargeRequestAsync(chargeRequest.Id, "SendChargeRequestAsync");
await unitOfWork.CompleteAsync();
}
ChargeRequestDto result = new ChargeRequestDto(); ChargeRequestDto result = new ChargeRequestDto();
result.Id = chargeRequest.Id; result.Id = chargeRequest.Id;
@ -146,7 +152,13 @@ namespace Shentun.Peis.ChargeRequests
{ {
throw new UserFriendlyException("状态不是收费申请,不允许作废申请"); throw new UserFriendlyException("状态不是收费申请,不允许作废申请");
} }
await _chargeRequestManager.SendThirChargeRequestAsync(input.ChargeRequestId, "CancelChargeRequestAsync");
using (var unitOfWork = _unitOfWorkManager.Begin(isTransactional: true))
{
await _chargeRequestManager.SendThirChargeRequestAsync(input.ChargeRequestId, "CancelChargeRequestAsync");
await unitOfWork.CompleteAsync();
}
ChargeRequestDto result = new ChargeRequestDto(); ChargeRequestDto result = new ChargeRequestDto();
@ -170,7 +182,13 @@ namespace Shentun.Peis.ChargeRequests
{ {
throw new UserFriendlyException("状态不是已收费,不允许退费申请"); throw new UserFriendlyException("状态不是已收费,不允许退费申请");
} }
using (var unitOfWork = _unitOfWorkManager.Begin(isTransactional: true))
{
await _chargeRequestManager.SendThirChargeRequestAsync(input.ChargeRequestId, "RefundRequestAsync"); await _chargeRequestManager.SendThirChargeRequestAsync(input.ChargeRequestId, "RefundRequestAsync");
await unitOfWork.CompleteAsync();
}
ChargeRequestDto result = new ChargeRequestDto(); ChargeRequestDto result = new ChargeRequestDto();
@ -192,26 +210,26 @@ namespace Shentun.Peis.ChargeRequests
//var patientRegister = _patientRegisterRepository.GetAsync(input.PatientRegisterId); //var patientRegister = _patientRegisterRepository.GetAsync(input.PatientRegisterId);
var list = (from chargeRequest in await _chargeRequestRepository.GetQueryableAsync() var list = (from chargeRequest in await _chargeRequestRepository.GetQueryableAsync()
join patientRegister in await _patientRegisterRepository.GetQueryableAsync()
on chargeRequest.PatientRegisterId equals patientRegister.Id
join chargeRequestAsbitem in await _chargeRequestAsbitemRepository.GetQueryableAsync()
on chargeRequest.Id equals chargeRequestAsbitem.ChargeRequestId
where patientRegister.Id == input.PatientRegisterId
select new
{
chargeRequest,
chargeRequestAsbitem
}).ToList();
join patientRegister in await _patientRegisterRepository.GetQueryableAsync()
on chargeRequest.PatientRegisterId equals patientRegister.Id
join chargeRequestAsbitem in await _chargeRequestAsbitemRepository.GetQueryableAsync()
on chargeRequest.Id equals chargeRequestAsbitem.ChargeRequestId
where patientRegister.Id == input.PatientRegisterId
select new
{
chargeRequest,
chargeRequestAsbitem
}).ToList();
var result = list.GroupBy(o => o.chargeRequest).Select(o => new ChargeRequestDto() var result = list.GroupBy(o => o.chargeRequest).Select(o => new ChargeRequestDto()
{ {
Id = o.First().chargeRequest.Id, Id = o.First().chargeRequest.Id,
ChargeRequestNo = o.First().chargeRequest.ChargeRequestNo, ChargeRequestNo = o.First().chargeRequest.ChargeRequestNo,
ChargeRequestFlag = o.First().chargeRequest.ChargeRequestFlag, ChargeRequestFlag = o.First().chargeRequest.ChargeRequestFlag,
HisChargeNo = o.First().chargeRequest.HisChargeNo, HisChargeNo = o.First().chargeRequest.HisChargeNo,
Charges = o.Sum(o=>o.chargeRequestAsbitem.Amount * o.chargeRequestAsbitem.ChargePrice),
Charges = o.Sum(o => o.chargeRequestAsbitem.Amount * o.chargeRequestAsbitem.ChargePrice),
CreationTime = o.First().chargeRequest.CreationTime, CreationTime = o.First().chargeRequest.CreationTime,
}).OrderByDescending(o=>o.CreationTime).ToList();
}).OrderByDescending(o => o.CreationTime).ToList();
return result; return result;
} }

Loading…
Cancel
Save