You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
607 lines
25 KiB
607 lines
25 KiB
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.Http;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Microsoft.Extensions.Configuration;
|
|
using Microsoft.IdentityModel.Tokens;
|
|
using Shentun.Peis.Enums;
|
|
using Shentun.Peis.GuideTypes;
|
|
using Shentun.Peis.Models;
|
|
using Shentun.Peis.PatientRegisters;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using Volo.Abp;
|
|
using Volo.Abp.Application.Services;
|
|
using Volo.Abp.Domain.Repositories;
|
|
using Volo.Abp.Identity;
|
|
|
|
namespace Shentun.Peis.RegisterCheckPictures
|
|
{
|
|
/// <summary>
|
|
/// 体检登记组合项目图片
|
|
/// </summary>
|
|
[ApiExplorerSettings(GroupName = "Work")]
|
|
[Authorize]
|
|
public class RegisterCheckPictureAppService : ApplicationService
|
|
{
|
|
private readonly IRepository<IdentityUser, Guid> _userRepository;
|
|
private readonly IRepository<RegisterCheckPicture, Guid> _registerCheckPictureRepository;
|
|
private readonly IRepository<RegisterCheckAsbitem, Guid> _registerCheckAsbitemRepository;
|
|
private readonly IRepository<RegisterCheck, Guid> _registerCheckRepository;
|
|
private readonly IRepository<PatientRegister, Guid> _patientRegisterRepository;
|
|
private readonly IRepository<LisRequest, Guid> _lisRequestRepository;
|
|
private readonly RegisterCheckPictureManager _registerCheckPictureManager;
|
|
private readonly IConfiguration _configuration;
|
|
|
|
public RegisterCheckPictureAppService(
|
|
IRepository<RegisterCheckPicture, Guid> registerCheckPictureRepository,
|
|
RegisterCheckPictureManager registerCheckPictureManager,
|
|
IRepository<IdentityUser, Guid> userRepository,
|
|
IRepository<RegisterCheckAsbitem, Guid> registerCheckAsbitemRepository,
|
|
IConfiguration configuration,
|
|
IRepository<RegisterCheck, Guid> registerCheckRepository,
|
|
IRepository<PatientRegister, Guid> patientRegisterRepository,
|
|
IRepository<LisRequest, Guid> lisRequestRepository)
|
|
{
|
|
_registerCheckPictureRepository = registerCheckPictureRepository;
|
|
_registerCheckPictureManager = registerCheckPictureManager;
|
|
_userRepository = userRepository;
|
|
_registerCheckAsbitemRepository = registerCheckAsbitemRepository;
|
|
_configuration = configuration;
|
|
_registerCheckRepository = registerCheckRepository;
|
|
_patientRegisterRepository = patientRegisterRepository;
|
|
_lisRequestRepository = lisRequestRepository;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据RegisterCheckId获取列表
|
|
/// </summary>
|
|
/// <param name="RegisterCheckId">RegisterCheck表ID</param>
|
|
/// <returns></returns>
|
|
[HttpGet("api/app/registercheckpicture/getregistercheckpictureinregistercheckid")]
|
|
public async Task<List<RegisterCheckPictureDto>> GetRegisterCheckPictureInRegisterCheckIdAsync(Guid RegisterCheckId)
|
|
{
|
|
var query = from a in await _registerCheckPictureRepository.GetQueryableAsync()
|
|
join b in await _userRepository.GetQueryableAsync() on a.CreatorId equals b.Id into bb
|
|
from ab in bb.DefaultIfEmpty()
|
|
join c in await _userRepository.GetQueryableAsync() on a.LastModifierId equals c.Id into cc
|
|
from ac in cc.DefaultIfEmpty()
|
|
where a.RegisterCheckId == RegisterCheckId
|
|
select new
|
|
{
|
|
a,
|
|
CreatorName = ab != null ? ab.Surname : "",
|
|
LastModifierName = ac != null ? ac.Surname : ""
|
|
};
|
|
|
|
var entlistdto = query.Select(s => new RegisterCheckPictureDto
|
|
{
|
|
Id = s.a.Id,
|
|
RegisterCheckId = s.a.RegisterCheckId,
|
|
CreationTime = s.a.CreationTime,
|
|
CreatorId = s.a.CreatorId,
|
|
DisplayOrder = s.a.DisplayOrder,
|
|
IsPrint = s.a.IsPrint,
|
|
LastModificationTime = s.a.LastModificationTime,
|
|
LastModifierId = s.a.LastModifierId,
|
|
PictureFilename = s.a.PictureFilename,
|
|
LocalPathName = s.a.LocalPathName,
|
|
LastModifierName = s.LastModifierName,
|
|
PictureFileType = s.a.PictureFileType,
|
|
CreatorName = s.CreatorName
|
|
}).OrderBy(o => o.DisplayOrder).ToList();
|
|
|
|
return entlistdto;
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 创建以及更新 批量操作 排序值不传就默认按传过来的顺序生成
|
|
/// </summary>
|
|
/// <param name="input"></param>
|
|
/// <returns></returns>
|
|
[HttpPost("api/app/registercheckpicture/UpdateRegisterCheckPictureStatusMany")]
|
|
public async Task UpdateRegisterCheckPictureStatusManyAsync(List<UpdateRegisterCheckPictureStatusManyDto> input)
|
|
{
|
|
|
|
if (!input.Any())
|
|
{
|
|
throw new UserFriendlyException("请求参数有误");
|
|
}
|
|
|
|
List<RegisterCheckPicture> entlist_insert = new List<RegisterCheckPicture>();
|
|
List<RegisterCheckPicture> entlist_update = new List<RegisterCheckPicture>();
|
|
|
|
string PicName = DateTime.Now.ToString("yyyyMMddHHmmss");
|
|
|
|
foreach (var item in input)
|
|
{
|
|
|
|
var ent = await _registerCheckPictureRepository.FirstOrDefaultAsync(m => m.Id == item.RegisterCheckPictureId);
|
|
if (ent != null)
|
|
{
|
|
ent.DisplayOrder = input.IndexOf(item) + 1;
|
|
// ent.PictureFilename = item.PictureFilename;
|
|
ent.IsPrint = item.IsPrint;
|
|
if (item.PictureFileType != null)
|
|
ent.PictureFileType = item.PictureFileType.Value;
|
|
|
|
entlist_update.Add(ent);
|
|
}
|
|
|
|
|
|
}
|
|
if (entlist_update.Any())
|
|
{
|
|
await _registerCheckPictureRepository.UpdateManyAsync(entlist_update);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// 图片上传功能 base64 支持批量
|
|
/// </summary>
|
|
/// <param name="input"></param>
|
|
/// <returns></returns>
|
|
/// <exception cref="UserFriendlyException"></exception>
|
|
[HttpPost("api/app/registercheckpicture/uploadregistercheckpicturemany")]
|
|
public async Task<List<string>> UploadRegisterCheckPictureManyAsync(UploadRegisterCheckPictureManyDto input)
|
|
{
|
|
|
|
Random rd = new Random();
|
|
|
|
string AbsolutePath = _configuration.GetValue<string>("VirtualPath:RealPath");
|
|
string AbsoluteName = _configuration.GetValue<string>("VirtualPath:Alias");
|
|
|
|
List<string> msg = new List<string>();
|
|
|
|
if (!input.PictureBaseStrs.Any())
|
|
{
|
|
throw new UserFriendlyException("请求参数有误");
|
|
}
|
|
|
|
|
|
|
|
var patientRegisterCompleteFlag = (from patientRegister in await _patientRegisterRepository.GetQueryableAsync()
|
|
join registerCheck in await _registerCheckRepository.GetQueryableAsync() on patientRegister.Id equals registerCheck.PatientRegisterId
|
|
where registerCheck.Id == input.RegisterCheckId
|
|
select new
|
|
{
|
|
CompleteFlag = patientRegister.CompleteFlag,
|
|
PatientRegisterId = patientRegister.Id
|
|
}).ToList();
|
|
|
|
if (patientRegisterCompleteFlag.Count == 0)
|
|
throw new UserFriendlyException("体检人员不存在");
|
|
|
|
if (patientRegisterCompleteFlag.FirstOrDefault().CompleteFlag == PatientRegisterCompleteFlag.PreRegistration)
|
|
throw new UserFriendlyException("预登记人员不能导入图片");
|
|
if (patientRegisterCompleteFlag.FirstOrDefault().CompleteFlag == PatientRegisterCompleteFlag.SumCheck)
|
|
throw new UserFriendlyException("已总检人员不能导入图片");
|
|
|
|
string PatientRegisterId = patientRegisterCompleteFlag.FirstOrDefault().PatientRegisterId.ToString();
|
|
|
|
List<RegisterCheckPicture> entlist_insert = new List<RegisterCheckPicture>();
|
|
|
|
|
|
foreach (var item in input.PictureBaseStrs)
|
|
{
|
|
|
|
//string PictureUrl = ImageHelper.Base64StrToImageInAbsolutePath(AbsolutePath, item,
|
|
// PatientRegisterId,
|
|
// input.RegisterCheckId.ToString(),
|
|
// PicName + "_" + (input.PictureBaseStrs.IndexOf(item) + 1));
|
|
string PictureUrl = ImageHelper.Base64StrToImageInAbsolutePath(AbsolutePath, item.FileName, item.PictureBaseStr,
|
|
PatientRegisterId,
|
|
input.RegisterCheckId.ToString(), AbsoluteName);
|
|
|
|
if (string.IsNullOrEmpty(PictureUrl))
|
|
{
|
|
throw new UserFriendlyException("图片数据有误");
|
|
}
|
|
|
|
var ent = await _registerCheckPictureRepository.FirstOrDefaultAsync(m => m.RegisterCheckId == input.RegisterCheckId
|
|
&& m.PictureFilename == PictureUrl);
|
|
|
|
if (ent != null)
|
|
{
|
|
ent.PictureFilename = PictureUrl;
|
|
|
|
await _registerCheckPictureRepository.UpdateAsync(ent);
|
|
}
|
|
else
|
|
{
|
|
ent = new RegisterCheckPicture
|
|
{
|
|
DisplayOrder = input.PictureBaseStrs.IndexOf(item) + 1,
|
|
IsPrint = 'Y',
|
|
PictureFilename = PictureUrl,
|
|
RegisterCheckId = input.RegisterCheckId,
|
|
PictureFileType = input.PictureFileType
|
|
};
|
|
|
|
await _registerCheckPictureRepository.InsertAsync(ent);
|
|
}
|
|
|
|
msg.Add(PictureUrl);
|
|
|
|
}
|
|
|
|
|
|
|
|
return msg;
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 图片上传功能 文件流 支持批量
|
|
/// </summary>
|
|
/// <param name="files"></param>
|
|
/// <param name="RegisterCheckId"></param>
|
|
/// <returns></returns>
|
|
/// <exception cref="UserFriendlyException"></exception>
|
|
[RemoteService(false)]
|
|
[HttpPost("api/app/registercheckpicture/uploadregistercheckpicturefilemany")]
|
|
public async Task<List<string>> UploadRegisterCheckPictureFileManyAsync([FromForm(Name = "file")] List<IFormFile> files, Guid RegisterCheckId)
|
|
{
|
|
|
|
Random rd = new Random();
|
|
|
|
string AbsolutePath = _configuration.GetValue<string>("VirtualPath:RealPath");
|
|
|
|
List<string> msg = new List<string>();
|
|
|
|
if (!files.Any())
|
|
{
|
|
throw new UserFriendlyException("请求参数有误");
|
|
}
|
|
|
|
string PatientRegisterId = "";
|
|
|
|
var registerAsbitemEntity = await _registerCheckAsbitemRepository.FirstOrDefaultAsync(m => m.RegisterCheckId == RegisterCheckId);
|
|
if (registerAsbitemEntity != null)
|
|
{
|
|
PatientRegisterId = registerAsbitemEntity.PatientRegisterId.ToString();
|
|
}
|
|
else
|
|
{
|
|
throw new UserFriendlyException("体检人员不存在");
|
|
}
|
|
|
|
string PicName = DateTime.Now.ToString("yyyyMMddHHmmss") + rd.Next(1000, 9999);
|
|
|
|
|
|
List<RegisterCheckPicture> entlist_insert = new List<RegisterCheckPicture>();
|
|
|
|
|
|
foreach (var item in files)
|
|
{
|
|
|
|
string PictureUrl = ImageHelper.Base64StrToImageInAbsolutePath2(AbsolutePath, item,
|
|
PatientRegisterId,
|
|
RegisterCheckId.ToString(),
|
|
PicName + "_" + (files.IndexOf(item) + 1));
|
|
|
|
if (string.IsNullOrEmpty(PictureUrl))
|
|
{
|
|
throw new UserFriendlyException("图片数据有误");
|
|
}
|
|
|
|
var ent = new RegisterCheckPicture
|
|
{
|
|
DisplayOrder = files.IndexOf(item) + 1,
|
|
IsPrint = 'N',
|
|
PictureFilename = PictureUrl,
|
|
RegisterCheckId = RegisterCheckId
|
|
};
|
|
|
|
entlist_insert.Add(ent);
|
|
|
|
msg.Add(PictureUrl);
|
|
|
|
}
|
|
|
|
if (entlist_insert.Any())
|
|
{
|
|
await _registerCheckPictureRepository.InsertManyAsync(entlist_insert);
|
|
}
|
|
|
|
return msg;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 删除 批量
|
|
/// </summary>
|
|
/// <param name="ids"></param>
|
|
/// <returns></returns>
|
|
/// <exception cref="UserFriendlyException"></exception>
|
|
[HttpPost("api/app/registercheckpicture/deleteregistercheckpicturemany")]
|
|
public async Task DeleteRegisterCheckPictureManyAsync(List<Guid> ids)
|
|
{
|
|
if (ids.Any())
|
|
{
|
|
var patientRegisterCompleteFlag = (from patientRegister in await _patientRegisterRepository.GetQueryableAsync()
|
|
join registerCheck in await _registerCheckRepository.GetQueryableAsync()
|
|
on patientRegister.Id equals registerCheck.PatientRegisterId
|
|
join registerCheckPicture in await _registerCheckPictureRepository.GetQueryableAsync()
|
|
on registerCheck.Id equals registerCheckPicture.RegisterCheckId
|
|
where ids.Contains(registerCheckPicture.Id)
|
|
select new
|
|
{
|
|
CompleteFlag = patientRegister.CompleteFlag
|
|
}).ToList();
|
|
|
|
if (patientRegisterCompleteFlag.Count == 0)
|
|
throw new UserFriendlyException("Id不存在");
|
|
|
|
if (patientRegisterCompleteFlag.FirstOrDefault().CompleteFlag == PatientRegisterCompleteFlag.SumCheck)
|
|
{
|
|
throw new UserFriendlyException("已总检人员不能删除图片");
|
|
}
|
|
|
|
|
|
await _registerCheckPictureRepository.DeleteAsync(m => ids.Contains(m.Id));
|
|
}
|
|
else
|
|
{
|
|
throw new UserFriendlyException("请求参数有误");
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// 导入检查图片 根据检查单号
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[HttpPost("api/app/RegisterCheckPicture/ImportRegisterCheckPicture")]
|
|
public async Task ImportRegisterCheckPictureAsync(ImportRegisterCheckPictureInputDto input)
|
|
{
|
|
var registerCheckEnt = await _registerCheckRepository.FirstOrDefaultAsync(f => f.CheckRequestNo == input.CheckRequestNo);
|
|
if (registerCheckEnt == null)
|
|
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
|
|
});
|
|
|
|
await UploadRegisterCheckPictureManyAsync(new UploadRegisterCheckPictureManyDto
|
|
{
|
|
PictureBaseStrs = pic,
|
|
PictureFileType = '0',
|
|
RegisterCheckId = registerCheckEnt.Id
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
/// <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
|
|
});
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 仪器采图接口
|
|
/// </summary>
|
|
/// <param name="input"></param>
|
|
/// <returns></returns>
|
|
/// <exception cref="UserFriendlyException"></exception>
|
|
[HttpPost("api/app/RegisterCheckPicture/InstrumentMapping")]
|
|
public async Task<List<string>> InstrumentMappingAsync(InstrumentMappingDto input)
|
|
{
|
|
|
|
Random rd = new Random();
|
|
|
|
string AbsolutePath = _configuration.GetValue<string>("PacsVirtualPath:RealPath");
|
|
string AbsoluteName = _configuration.GetValue<string>("PacsVirtualPath:Alias");
|
|
|
|
List<string> msg = new List<string>();
|
|
|
|
if (!input.PictureBaseStrs.Any())
|
|
{
|
|
throw new UserFriendlyException("请求参数有误");
|
|
}
|
|
|
|
|
|
|
|
var patientRegisterCompleteFlag = (from patientRegister in await _patientRegisterRepository.GetQueryableAsync()
|
|
join registerCheck in await _registerCheckRepository.GetQueryableAsync() on patientRegister.Id equals registerCheck.PatientRegisterId
|
|
where registerCheck.Id == input.RegisterCheckId
|
|
select new
|
|
{
|
|
CompleteFlag = patientRegister.CompleteFlag,
|
|
PatientRegisterId = patientRegister.Id
|
|
}).ToList();
|
|
|
|
if (patientRegisterCompleteFlag.Count == 0)
|
|
throw new UserFriendlyException("体检人员不存在");
|
|
|
|
if (patientRegisterCompleteFlag.FirstOrDefault().CompleteFlag == PatientRegisterCompleteFlag.PreRegistration)
|
|
throw new UserFriendlyException("预登记人员不能导入图片");
|
|
if (patientRegisterCompleteFlag.FirstOrDefault().CompleteFlag == PatientRegisterCompleteFlag.SumCheck)
|
|
throw new UserFriendlyException("已总检人员不能导入图片");
|
|
|
|
string PatientRegisterId = patientRegisterCompleteFlag.FirstOrDefault().PatientRegisterId.ToString();
|
|
|
|
List<RegisterCheckPicture> entlist_insert = new List<RegisterCheckPicture>();
|
|
|
|
|
|
foreach (var item in input.PictureBaseStrs)
|
|
{
|
|
|
|
string PictureUrl = ImageHelper.Base64StrToImageInAbsolutePath(AbsolutePath, item.FileName, item.PictureBaseStr,
|
|
PatientRegisterId,
|
|
input.RegisterCheckId.ToString(), AbsoluteName);
|
|
|
|
if (string.IsNullOrEmpty(PictureUrl))
|
|
{
|
|
throw new UserFriendlyException("图片数据有误");
|
|
}
|
|
|
|
var ent = await _registerCheckPictureRepository.FirstOrDefaultAsync(m => m.RegisterCheckId == input.RegisterCheckId
|
|
&& m.PictureFilename == PictureUrl);
|
|
|
|
if (ent != null)
|
|
{
|
|
ent.PictureFilename = PictureUrl;
|
|
|
|
await _registerCheckPictureRepository.UpdateAsync(ent);
|
|
}
|
|
else
|
|
{
|
|
ent = new RegisterCheckPicture
|
|
{
|
|
DisplayOrder = input.PictureBaseStrs.IndexOf(item) + 1,
|
|
IsPrint = 'Y',
|
|
PictureFilename = PictureUrl,
|
|
RegisterCheckId = input.RegisterCheckId,
|
|
PictureFileType = input.PictureFileType,
|
|
LocalPathName = item.LocalPathName
|
|
};
|
|
|
|
await _registerCheckPictureRepository.InsertAsync(ent);
|
|
}
|
|
|
|
msg.Add(PictureUrl);
|
|
|
|
}
|
|
|
|
|
|
|
|
return msg;
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 修改图片内容
|
|
/// </summary>
|
|
/// <param name="input"></param>
|
|
/// <returns></returns>
|
|
[HttpPost("api/app/RegisterCheckPicture/UpdateRegisterCheckPicture")]
|
|
public async Task UpdateRegisterCheckPictureAsync(UpdateRegisterCheckPictureInputDto input)
|
|
{
|
|
var registerCheckPictureEnt = await _registerCheckPictureRepository.FirstOrDefaultAsync(f => f.Id == input.RegisterCheckPictureId);
|
|
if (registerCheckPictureEnt == null)
|
|
throw new UserFriendlyException("RegisterCheckPictureId不正确");
|
|
if (string.IsNullOrWhiteSpace(input.PictureBaseStr))
|
|
{
|
|
throw new UserFriendlyException("图片数据有误");
|
|
}
|
|
|
|
string AbsolutePath = _configuration.GetValue<string>("VirtualPath:RealPath");
|
|
string AbsoluteName = _configuration.GetValue<string>("VirtualPath:Alias");
|
|
|
|
var registerCheckEnt = await _registerCheckRepository.FirstOrDefaultAsync(f => f.Id == registerCheckPictureEnt.RegisterCheckId);
|
|
if (registerCheckEnt == null)
|
|
throw new UserFriendlyException("检查数据不存在");
|
|
|
|
string PictureUrl = ImageHelper.Base64StrToImageInAbsolutePath(AbsolutePath, input.FileName, input.PictureBaseStr,
|
|
registerCheckEnt.PatientRegisterId.ToString(),
|
|
registerCheckEnt.Id.ToString(), AbsoluteName);
|
|
|
|
if (string.IsNullOrEmpty(PictureUrl))
|
|
{
|
|
throw new UserFriendlyException("图片资源不正确");
|
|
}
|
|
|
|
|
|
registerCheckPictureEnt.PictureFilename = PictureUrl;
|
|
if (!string.IsNullOrWhiteSpace(input.LocalPathName))
|
|
{
|
|
registerCheckPictureEnt.LocalPathName = input.LocalPathName;
|
|
}
|
|
|
|
await _registerCheckPictureRepository.UpdateAsync(registerCheckPictureEnt);
|
|
|
|
}
|
|
}
|
|
}
|