Browse Source

250219

master
wxd 9 months ago
parent
commit
0b1fcc50a2
  1. 33
      Shentun.WebPeis.Plugins/AppQueueRegisterPlugIns.cs
  2. 19
      src/Shentun.WebPeis.Application.Contracts/QueueRegisters/CreateGiveUpAsbitemInputDto.cs
  3. 19
      src/Shentun.WebPeis.Application.Contracts/QueueRegisters/CreateNewAsbitemTriageInputDto.cs
  4. 52
      src/Shentun.WebPeis.Application.Contracts/QueueRegisters/GetAppQueueRegisterByPersonIdDto.cs
  5. 11
      src/Shentun.WebPeis.Application.Contracts/QueueRegisters/SmallProgramResultDto.cs
  6. 42
      src/Shentun.WebPeis.Application/QueueRegisters/QueueRegisterAppService.cs
  7. 32
      src/Shentun.WebPeis.Domain/DataHelper.cs

33
Shentun.WebPeis.Plugins/AppQueueRegisterPlugIns.cs

@ -29,6 +29,8 @@ namespace Shentun.WebPeis.Plugins
private string? _appQueueRegisterUrl;
private string? _appIsPeisRegisterUrl;
private string? _appUpdateAppointPatientAsbitemStatusUrl;
private string? _appCreateGiveUpAsbitemUrl;
private string? _appCreateNewAsbitemTriageUrl;
public AppQueueRegisterPlugIns()
{
Init();
@ -52,6 +54,10 @@ namespace Shentun.WebPeis.Plugins
.GetSection("AppIsPeisRegisterUrl").Value;
_appUpdateAppointPatientAsbitemStatusUrl= AppConfig.GetSection("Peis")
.GetSection("AppUpdateAppointPatientAsbitemStatusUrl").Value;
_appCreateGiveUpAsbitemUrl = AppConfig.GetSection("Peis")
.GetSection("CreateGiveUpAsbitemUrl").Value;
_appCreateNewAsbitemTriageUrl = AppConfig.GetSection("Peis")
.GetSection("CreateNewAsbitemTriageUrl").Value;
}
@ -70,6 +76,33 @@ namespace Shentun.WebPeis.Plugins
/// <summary>
/// 放弃项目
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public async Task<SmallProgramResultDto> CreateGiveUpAsbitemAsync(CreateGiveUpAsbitemInputDto input)
{
var appCreateGiveUpAsbitemDto= await CallAppServiceAsync<CreateGiveUpAsbitemInputDto, SmallProgramResultDto>(_appCreateGiveUpAsbitemUrl,
input);
return appCreateGiveUpAsbitemDto;
}
/// <summary>
/// 创建新的项目分诊
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public async Task<SmallProgramResultDto> CreateNewAsbitemTriageAsync(CreateNewAsbitemTriageInputDto input)
{
var appCreateNewAsbitemTriageDto = await CallAppServiceAsync<CreateNewAsbitemTriageInputDto, SmallProgramResultDto>(_appCreateNewAsbitemTriageUrl,
input);
return appCreateNewAsbitemTriageDto;
}
/// <summary>
/// 获取预约记录是否在体检系统登记,用于判断是否能退款
/// </summary>

19
src/Shentun.WebPeis.Application.Contracts/QueueRegisters/CreateGiveUpAsbitemInputDto.cs

@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Shentun.WebPeis.QueueRegisters
{
public class CreateGiveUpAsbitemInputDto
{
/// <summary>
/// 检查ID
/// </summary>
public Guid RegisterCheckId { get; set; }
/// <summary>
/// 是否放弃 Y=放弃 N=未放弃
/// </summary>
public char IsGiveUp { get; set; }
}
}

19
src/Shentun.WebPeis.Application.Contracts/QueueRegisters/CreateNewAsbitemTriageInputDto.cs

@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Shentun.WebPeis.QueueRegisters
{
public class CreateNewAsbitemTriageInputDto
{
/// <summary>
/// 人员ID
/// </summary>
public Guid PatientRegisterId { get; set; }
/// <summary>
/// 排队房间Id
/// </summary>
public Guid RoomId { get; set; }
}
}

52
src/Shentun.WebPeis.Application.Contracts/QueueRegisters/GetAppQueueRegisterByPersonIdDto.cs

@ -6,6 +6,11 @@ namespace Shentun.WebPeis.QueueRegisters
{
public class GetAppQueueRegisterByPersonIdDto
{
/// <summary>
/// 人员ID
/// </summary>
public Guid PatientRegisterId { get; set; }
/// <summary>
/// 姓名
/// </summary>
@ -47,6 +52,10 @@ namespace Shentun.WebPeis.QueueRegisters
/// </summary>
public string RoomName { get; set; }
/// <summary>
/// 排队房间Id
/// </summary>
public Guid RoomId { get; set; }
/// <summary>
/// 候诊人数
@ -54,8 +63,49 @@ namespace Shentun.WebPeis.QueueRegisters
public int QueueCount { get; set; }
/// <summary>
/// 完成标志 (o=候诊 1=已呼 2=过号)
/// 完成标志 (o=候诊 1=已呼 2=过号 3=放弃)
/// </summary>
public char CompleteFlag { get; set; }
/// <summary>
/// 分诊过的项目,只取已呼人员
/// </summary>
public List<TriageAsbitemDetailDto> TriageAsbitemDetail { get; set; } = new List<TriageAsbitemDetailDto>();
}
/// <summary>
/// 分诊项目
/// </summary>
public class TriageAsbitemDetailDto
{
/// <summary>
/// 组合项目名称
/// </summary>
public string AsbitemName { get; set; }
/// <summary>
/// 检查ID
/// </summary>
public Guid RegisterCheckId { get; set; }
/// <summary>
/// 房间名称
/// </summary>
public string RoomName { get; set; }
/// <summary>
/// 状态(o=候诊 1=已呼 2=过号 )
/// </summary>
public char? CompleteFlag { get; set; }
/// <summary>
/// 是否放弃检查 Y=放弃 N=未放弃
/// </summary>
public char IsGiveUp { get; set; }
}
}

11
src/Shentun.WebPeis.Application.Contracts/QueueRegisters/SmallProgramResultDto.cs

@ -0,0 +1,11 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Shentun.WebPeis.QueueRegisters
{
public class SmallProgramResultDto
{
public bool IsSuccess { get; set; }
}
}

42
src/Shentun.WebPeis.Application/QueueRegisters/QueueRegisterAppService.cs

@ -1,5 +1,6 @@
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;
using Shentun.WebPeis.Models;
using Shentun.WebPeis.PatientRegisters;
using Shentun.WebPeis.Persons;
@ -23,11 +24,14 @@ namespace Shentun.WebPeis.QueueRegisters
public class QueueRegisterAppService : ApplicationService
{
private readonly IRepository<Person> _personRepository;
private readonly IConfiguration _configuration;
public QueueRegisterAppService(
IRepository<Person> personRepository
)
IRepository<Person> personRepository,
IConfiguration configuration)
{
_personRepository = personRepository;
_configuration = configuration;
}
/// <summary>
@ -46,7 +50,41 @@ namespace Shentun.WebPeis.QueueRegisters
throw new UserFriendlyException("人员不存在");
var appQueueRegisterPlugIns = new AppQueueRegisterPlugIns();
msg = await appQueueRegisterPlugIns.GetAppQueueRegisterByIdNoAsync(new IdNoInputDto { IdNo = personEnt.IdNo });
#region 转换图片
string peisBaseUrl = _configuration.GetValue<string>("Peis:PeisBaseUrl", "");
if (!string.IsNullOrWhiteSpace(peisBaseUrl) && !string.IsNullOrWhiteSpace(msg.Photo))
{
msg.Photo = await DataHelper.ConvertImageToBase64($"{peisBaseUrl}/{msg.Photo}");
}
#endregion
return msg;
}
/// <summary>
/// 放弃项目
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("api/app/QueueRegister/CreateGiveUpAsbitem")]
public async Task CreateGiveUpAsbitemAsync(CreateGiveUpAsbitemInputDto input)
{
var appQueueRegisterPlugIns = new AppQueueRegisterPlugIns();
await appQueueRegisterPlugIns.CreateGiveUpAsbitemAsync(input);
}
/// <summary>
/// 创建新的项目分诊
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("api/app/QueueRegister/CreateNewAsbitemTriage")]
public async Task CreateNewAsbitemTriageAsync(CreateNewAsbitemTriageInputDto input)
{
var appQueueRegisterPlugIns = new AppQueueRegisterPlugIns();
await appQueueRegisterPlugIns.CreateNewAsbitemTriageAsync(input);
}
}
}

32
src/Shentun.WebPeis.Domain/DataHelper.cs

@ -1,6 +1,10 @@
using System;
using System.Collections.Generic;
using System.DrawingCore;
using System.DrawingCore.Imaging;
using System.IO;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp;
@ -394,5 +398,33 @@ namespace Shentun.WebPeis
}
#endregion
#region 图片转base64
public static async Task<string> ConvertImageToBase64(string imageUrl)
{
try
{
using (HttpClient client = new HttpClient())
using (HttpResponseMessage response = await client.GetAsync(imageUrl))
using (Stream inputStream = await response.Content.ReadAsStreamAsync())
using (Bitmap bitmap = new Bitmap(inputStream))
using (MemoryStream outputStream = new MemoryStream())
{
bitmap.Save(outputStream, ImageFormat.Jpeg); // 选择适当的格式
byte[] imageBytes = outputStream.ToArray();
string base64String = Convert.ToBase64String(imageBytes);
return base64String;
}
}
catch (Exception ex)
{
return "";
}
}
#endregion
}
}
Loading…
Cancel
Save