Browse Source

新加批量导入图片

master
wxd 2 years ago
parent
commit
f78a532ff0
  1. 14
      src/Shentun.Peis.Application.Contracts/PatientRegisters/PatientRegisterNosInputDto.cs
  2. 29
      src/Shentun.Peis.Application.Contracts/RegisterCheckPictures/ImportRegisterCheckPictureByLisRequestNoInputDto.cs
  3. 29
      src/Shentun.Peis.Application.Contracts/RegisterCheckPictures/ImportRegisterCheckPictureByPatientRegisterNoInputDto.cs
  4. 100
      src/Shentun.Peis.Application/RegisterCheckPictures/RegisterCheckPictureAppService.cs
  5. 25
      src/Shentun.Peis.Application/RegisterChecks/RegisterCheckAppService.cs

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

@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Shentun.Peis.PatientRegisters
{
public class PatientRegisterNosInputDto
{
/// <summary>
/// 人员条码号集合
/// </summary>
public List<string> PatientRegisterNos { get; set; }
}
}

29
src/Shentun.Peis.Application.Contracts/RegisterCheckPictures/ImportRegisterCheckPictureByLisRequestNoInputDto.cs

@ -0,0 +1,29 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Shentun.Peis.RegisterCheckPictures
{
public class ImportRegisterCheckPictureByLisRequestNoInputDto
{
/// <summary>
/// 检查申请单号 不以人员条码号模式
/// </summary>
public string LisRequestNo { get; set; }
/// <summary>
/// 组合项目ID
/// </summary>
public Guid AsbitemId { get; set; }
/// <summary>
/// 图片原始名称
/// </summary>
public string PictureName { get; set; }
/// <summary>
/// 图片base64字符串
/// </summary>
public string PictureBase64 { get; set; }
}
}

29
src/Shentun.Peis.Application.Contracts/RegisterCheckPictures/ImportRegisterCheckPictureByPatientRegisterNoInputDto.cs

@ -0,0 +1,29 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Shentun.Peis.RegisterCheckPictures
{
public class ImportRegisterCheckPictureByPatientRegisterNoInputDto
{
/// <summary>
/// 人员条码号
/// </summary>
public string PatientRegisterNo { get; set; }
/// <summary>
/// 组合项目ID
/// </summary>
public Guid AsbitemId { get; set; }
/// <summary>
/// 图片原始名称
/// </summary>
public string PictureName { get; set; }
/// <summary>
/// 图片base64字符串
/// </summary>
public string PictureBase64 { get; set; }
}
}

100
src/Shentun.Peis.Application/RegisterCheckPictures/RegisterCheckPictureAppService.cs

@ -5,6 +5,7 @@ using Microsoft.Extensions.Configuration;
using Shentun.Peis.Enums; using Shentun.Peis.Enums;
using Shentun.Peis.GuideTypes; using Shentun.Peis.GuideTypes;
using Shentun.Peis.Models; using Shentun.Peis.Models;
using Shentun.Peis.PatientRegisters;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
@ -26,9 +27,10 @@ namespace Shentun.Peis.RegisterCheckPictures
{ {
private readonly IRepository<IdentityUser, Guid> _userRepository; private readonly IRepository<IdentityUser, Guid> _userRepository;
private readonly IRepository<RegisterCheckPicture, Guid> _registerCheckPictureRepository; private readonly IRepository<RegisterCheckPicture, Guid> _registerCheckPictureRepository;
private readonly IRepository<RegisterCheckAsbitem, Guid> _registerAsbitemRepository;
private readonly IRepository<RegisterCheckAsbitem, Guid> _registerCheckAsbitemRepository;
private readonly IRepository<RegisterCheck, Guid> _registerCheckRepository; private readonly IRepository<RegisterCheck, Guid> _registerCheckRepository;
private readonly IRepository<PatientRegister, Guid> _patientRegisterRepository; private readonly IRepository<PatientRegister, Guid> _patientRegisterRepository;
private readonly IRepository<LisRequest, Guid> _lisRequestRepository;
private readonly RegisterCheckPictureManager _registerCheckPictureManager; private readonly RegisterCheckPictureManager _registerCheckPictureManager;
private readonly IConfiguration _configuration; private readonly IConfiguration _configuration;
@ -36,18 +38,20 @@ namespace Shentun.Peis.RegisterCheckPictures
IRepository<RegisterCheckPicture, Guid> registerCheckPictureRepository, IRepository<RegisterCheckPicture, Guid> registerCheckPictureRepository,
RegisterCheckPictureManager registerCheckPictureManager, RegisterCheckPictureManager registerCheckPictureManager,
IRepository<IdentityUser, Guid> userRepository, IRepository<IdentityUser, Guid> userRepository,
IRepository<RegisterCheckAsbitem, Guid> registerAsbitemRepository,
IRepository<RegisterCheckAsbitem, Guid> registerCheckAsbitemRepository,
IConfiguration configuration, IConfiguration configuration,
IRepository<RegisterCheck, Guid> registerCheckRepository, IRepository<RegisterCheck, Guid> registerCheckRepository,
IRepository<PatientRegister, Guid> patientRegisterRepository)
IRepository<PatientRegister, Guid> patientRegisterRepository,
IRepository<LisRequest, Guid> lisRequestRepository)
{ {
_registerCheckPictureRepository = registerCheckPictureRepository; _registerCheckPictureRepository = registerCheckPictureRepository;
_registerCheckPictureManager = registerCheckPictureManager; _registerCheckPictureManager = registerCheckPictureManager;
_userRepository = userRepository; _userRepository = userRepository;
_registerAsbitemRepository = registerAsbitemRepository;
_registerCheckAsbitemRepository = registerCheckAsbitemRepository;
_configuration = configuration; _configuration = configuration;
_registerCheckRepository = registerCheckRepository; _registerCheckRepository = registerCheckRepository;
_patientRegisterRepository = patientRegisterRepository; _patientRegisterRepository = patientRegisterRepository;
_lisRequestRepository = lisRequestRepository;
} }
/// <summary> /// <summary>
@ -248,7 +252,7 @@ namespace Shentun.Peis.RegisterCheckPictures
string PatientRegisterId = ""; string PatientRegisterId = "";
var registerAsbitemEntity = await _registerAsbitemRepository.FirstOrDefaultAsync(m => m.RegisterCheckId == RegisterCheckId);
var registerAsbitemEntity = await _registerCheckAsbitemRepository.FirstOrDefaultAsync(m => m.RegisterCheckId == RegisterCheckId);
if (registerAsbitemEntity != null) if (registerAsbitemEntity != null)
{ {
PatientRegisterId = registerAsbitemEntity.PatientRegisterId.ToString(); PatientRegisterId = registerAsbitemEntity.PatientRegisterId.ToString();
@ -341,7 +345,7 @@ namespace Shentun.Peis.RegisterCheckPictures
/// <summary> /// <summary>
/// 导入检查图片
/// 导入检查图片 根据检查单号
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost("api/app/RegisterCheckPicture/ImportRegisterCheckPicture")] [HttpPost("api/app/RegisterCheckPicture/ImportRegisterCheckPicture")]
@ -370,5 +374,89 @@ namespace Shentun.Peis.RegisterCheckPictures
} }
/// <summary>
/// 导入检查图片 根据人员条码号+项目ID
/// </summary>
/// <returns></returns>
[HttpPost("api/app/RegisterCheckPicture/ImportRegisterCheckPictureByPatientRegisterNo")]
public async Task ImportRegisterCheckPictureByPatientRegisterNoAsync(ImportRegisterCheckPictureByPatientRegisterNoInputDto input)
{
var registerCheckList = (from patientRegister in await _patientRegisterRepository.GetQueryableAsync()
join registerCheck in await _registerCheckRepository.GetQueryableAsync() on patientRegister.Id equals registerCheck.PatientRegisterId
join registerCheckAsbitem in await _registerCheckAsbitemRepository.GetQueryableAsync() on registerCheck.Id equals registerCheckAsbitem.RegisterCheckId
where patientRegister.PatientRegisterNo == input.PatientRegisterNo && registerCheckAsbitem.AsbitemId == input.AsbitemId
select registerCheck).ToList();
if (!registerCheckList.Any())
throw new UserFriendlyException("人员信息或项目信息不正确");
if (string.IsNullOrWhiteSpace(input.PictureBase64))
throw new UserFriendlyException("图片不能为空");
var pic = new List<UploadRegisterCheckPictureManyPictureBaseStrsDto>();
pic.Add(new UploadRegisterCheckPictureManyPictureBaseStrsDto
{
FileName = input.PictureName,
PictureBaseStr = input.PictureBase64
});
foreach (var registerCheck in registerCheckList)
{
await UploadRegisterCheckPictureManyAsync(new UploadRegisterCheckPictureManyDto
{
PictureBaseStrs = pic,
PictureFileType = '0',
RegisterCheckId = registerCheck.Id
});
}
}
/// <summary>
/// 导入检查图片 根据检验申请号
/// </summary>
/// <returns></returns>
[HttpPost("api/app/RegisterCheckPicture/ImportRegisterCheckPictureByLisRequestNo")]
public async Task ImportRegisterCheckPictureByLisRequestNoAsync(ImportRegisterCheckPictureByLisRequestNoInputDto input)
{
var registerCheckList = (from registerCheck in await _registerCheckRepository.GetQueryableAsync()
join registerCheckAsbitem in await _registerCheckAsbitemRepository.GetQueryableAsync() on registerCheck.Id equals registerCheckAsbitem.RegisterCheckId
join lisRequest in await _lisRequestRepository.GetQueryableAsync() on registerCheckAsbitem.LisRequestId equals lisRequest.Id
where lisRequest.LisRequestNo == input.LisRequestNo && registerCheckAsbitem.AsbitemId == input.AsbitemId
select registerCheck).ToList();
if (!registerCheckList.Any())
throw new UserFriendlyException("人员信息或项目信息不正确");
if (string.IsNullOrWhiteSpace(input.PictureBase64))
throw new UserFriendlyException("图片不能为空");
var pic = new List<UploadRegisterCheckPictureManyPictureBaseStrsDto>();
pic.Add(new UploadRegisterCheckPictureManyPictureBaseStrsDto
{
FileName = input.PictureName,
PictureBaseStr = input.PictureBase64
});
foreach (var registerCheck in registerCheckList)
{
await UploadRegisterCheckPictureManyAsync(new UploadRegisterCheckPictureManyDto
{
PictureBaseStrs = pic,
PictureFileType = '0',
RegisterCheckId = registerCheck.Id
});
}
}
} }
} }

25
src/Shentun.Peis.Application/RegisterChecks/RegisterCheckAppService.cs

@ -529,6 +529,31 @@ namespace Shentun.Peis.RegisterChecks
} }
/// <summary>
/// 根据人员条码号集合获取所有项目
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("api/app/RegisterCheck/GetRegisterCheckAsbitemsByPatientRegisterNos")]
public async Task<List<SimpleAsbitemDto>> GetRegisterCheckAsbitemsByPatientRegisterNosAsync(PatientRegisterNosInputDto input)
{
if (!input.PatientRegisterNos.Any())
throw new UserFriendlyException("人员条码号不能为空");
var entListDto = (from patientRegister in await _patientRegisterRepository.GetQueryableAsync()
join registerCheck in await _registerCheckRepository.GetQueryableAsync() on patientRegister.Id equals registerCheck.PatientRegisterId
join registerCheckAsbitem in await _registerCheckAsbitemRepository.GetQueryableAsync() on registerCheck.Id equals registerCheckAsbitem.RegisterCheckId
join asbitem in await _asbitemRepository.GetQueryableAsync() on registerCheckAsbitem.AsbitemId equals asbitem.Id
where input.PatientRegisterNos.Contains(patientRegister.PatientRegisterNo) && asbitem.IsCheck == 'Y'
select new SimpleAsbitemDto
{
AsbitemId = registerCheckAsbitem.AsbitemId,
AsbitemName = asbitem.DisplayName
}).Distinct().ToList();
return entListDto;
}
/// <summary> /// <summary>
/// 批量修改医生 根据人员ID集合 /// 批量修改医生 根据人员ID集合
/// </summary> /// </summary>

Loading…
Cancel
Save