Uat_Study
parent
6e9871b099
commit
75b7c35bfb
|
@ -14,11 +14,11 @@ namespace IRaCIS.Application.Services
|
||||||
[ApiExplorerSettings(GroupName = "Reviewer")]
|
[ApiExplorerSettings(GroupName = "Reviewer")]
|
||||||
public class AttachmentService : BaseService, IAttachmentService
|
public class AttachmentService : BaseService, IAttachmentService
|
||||||
{
|
{
|
||||||
private readonly IRepository<Attachment> attachmentrepository;
|
private readonly IRepository<Attachment> _attachmentrepository;
|
||||||
|
|
||||||
public AttachmentService(IRepository<Attachment> attachmentrepository)
|
public AttachmentService(IRepository<Attachment> attachmentrepository)
|
||||||
{
|
{
|
||||||
this.attachmentrepository = attachmentrepository;
|
this._attachmentrepository = attachmentrepository;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -42,7 +42,7 @@ namespace IRaCIS.Application.Services
|
||||||
// File.Delete(temp);
|
// File.Delete(temp);
|
||||||
//}
|
//}
|
||||||
|
|
||||||
var success =await attachmentrepository.DeleteFromQueryAsync(a => a.Id == param.Id);
|
var success =await _attachmentrepository.DeleteFromQueryAsync(a => a.Id == param.Id);
|
||||||
return ResponseOutput.Result(success);
|
return ResponseOutput.Result(success);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -56,7 +56,7 @@ namespace IRaCIS.Application.Services
|
||||||
[HttpGet("{doctorId:guid}/{type}")]
|
[HttpGet("{doctorId:guid}/{type}")]
|
||||||
public async Task<IEnumerable<AttachmentDTO>> GetAttachmentByType(Guid doctorId, string type)
|
public async Task<IEnumerable<AttachmentDTO>> GetAttachmentByType(Guid doctorId, string type)
|
||||||
{
|
{
|
||||||
var attachmentList = await attachmentrepository.Where(a => a.DoctorId == doctorId && a.Type.Equals(type)).ProjectTo<AttachmentDTO>(_mapper.ConfigurationProvider).ToListAsync();
|
var attachmentList = await _attachmentrepository.Where(a => a.DoctorId == doctorId && a.Type.Equals(type)).ProjectTo<AttachmentDTO>(_mapper.ConfigurationProvider).ToListAsync();
|
||||||
attachmentList.ForEach(t => t.FullPath = t.Path + "?access_token=" + _userInfo.UserToken);
|
attachmentList.ForEach(t => t.FullPath = t.Path + "?access_token=" + _userInfo.UserToken);
|
||||||
|
|
||||||
return attachmentList;
|
return attachmentList;
|
||||||
|
@ -72,7 +72,7 @@ namespace IRaCIS.Application.Services
|
||||||
public async Task<IEnumerable<AttachmentDTO>> GetAttachmentByTypes(Guid doctorId, string[] types)
|
public async Task<IEnumerable<AttachmentDTO>> GetAttachmentByTypes(Guid doctorId, string[] types)
|
||||||
{
|
{
|
||||||
|
|
||||||
var attachmentList =await attachmentrepository.Where(a => a.DoctorId == doctorId && types.Contains(a.Type)).OrderBy(s => s.Type).ThenBy(m => m.CreateTime).ProjectTo<AttachmentDTO>(_mapper.ConfigurationProvider).ToListAsync();
|
var attachmentList =await _attachmentrepository.Where(a => a.DoctorId == doctorId && types.Contains(a.Type)).OrderBy(s => s.Type).ThenBy(m => m.CreateTime).ProjectTo<AttachmentDTO>(_mapper.ConfigurationProvider).ToListAsync();
|
||||||
attachmentList.ForEach(t => t.FullPath = t.Path + "?access_token=" + _userInfo.UserToken);
|
attachmentList.ForEach(t => t.FullPath = t.Path + "?access_token=" + _userInfo.UserToken);
|
||||||
|
|
||||||
return attachmentList;
|
return attachmentList;
|
||||||
|
@ -86,7 +86,7 @@ namespace IRaCIS.Application.Services
|
||||||
[HttpGet("{doctorId:guid}")]
|
[HttpGet("{doctorId:guid}")]
|
||||||
public async Task<IEnumerable<AttachmentDTO>> GetAttachments(Guid doctorId)
|
public async Task<IEnumerable<AttachmentDTO>> GetAttachments(Guid doctorId)
|
||||||
{
|
{
|
||||||
var attachmentList =await attachmentrepository.Where(a => a.DoctorId == doctorId).OrderBy(s => s.Type).ThenBy(m => m.CreateTime).ProjectTo<AttachmentDTO>(_mapper.ConfigurationProvider).ToListAsync();
|
var attachmentList =await _attachmentrepository.Where(a => a.DoctorId == doctorId).OrderBy(s => s.Type).ThenBy(m => m.CreateTime).ProjectTo<AttachmentDTO>(_mapper.ConfigurationProvider).ToListAsync();
|
||||||
attachmentList.ForEach(t => t.FullPath = t.Path + "?access_token=" + _userInfo.UserToken);
|
attachmentList.ForEach(t => t.FullPath = t.Path + "?access_token=" + _userInfo.UserToken);
|
||||||
|
|
||||||
return attachmentList;
|
return attachmentList;
|
||||||
|
@ -95,7 +95,7 @@ namespace IRaCIS.Application.Services
|
||||||
[NonDynamicMethod]
|
[NonDynamicMethod]
|
||||||
public async Task<AttachmentDTO> GetDetailById(Guid attachmentId)
|
public async Task<AttachmentDTO> GetDetailById(Guid attachmentId)
|
||||||
{
|
{
|
||||||
var attachment = await attachmentrepository.FirstOrDefaultAsync(a => a.Id == attachmentId).IfNullThrowException();
|
var attachment = await _attachmentrepository.FirstOrDefaultAsync(a => a.Id == attachmentId).IfNullThrowException();
|
||||||
var temp= _mapper.Map<AttachmentDTO>(attachment);
|
var temp= _mapper.Map<AttachmentDTO>(attachment);
|
||||||
temp.FullPath = temp.Path + "?access_token=" + _userInfo.UserToken;
|
temp.FullPath = temp.Path + "?access_token=" + _userInfo.UserToken;
|
||||||
return temp;
|
return temp;
|
||||||
|
@ -139,7 +139,7 @@ namespace IRaCIS.Application.Services
|
||||||
//重传的时候,发现 相同语言的官方简历数量为2 那么将重传的简历设置为非官方
|
//重传的时候,发现 相同语言的官方简历数量为2 那么将重传的简历设置为非官方
|
||||||
if (attachments.Count(t => t.Language == reUpload.Language && t.IsOfficial) == 2)
|
if (attachments.Count(t => t.Language == reUpload.Language && t.IsOfficial) == 2)
|
||||||
{
|
{
|
||||||
await attachmentrepository.UpdateFromQueryAsync(t => t.Id == reUpload.Id, u => new Attachment()
|
await _attachmentrepository.UpdateFromQueryAsync(t => t.Id == reUpload.Id, u => new Attachment()
|
||||||
{
|
{
|
||||||
Path = reUpload.Path,
|
Path = reUpload.Path,
|
||||||
CreateTime = DateTime.Now,
|
CreateTime = DateTime.Now,
|
||||||
|
@ -150,7 +150,7 @@ namespace IRaCIS.Application.Services
|
||||||
}
|
}
|
||||||
else //相同语言的重传
|
else //相同语言的重传
|
||||||
{
|
{
|
||||||
await attachmentrepository.UpdateFromQueryAsync(t => t.Id == reUpload.Id, u => new Attachment()
|
await _attachmentrepository.UpdateFromQueryAsync(t => t.Id == reUpload.Id, u => new Attachment()
|
||||||
{
|
{
|
||||||
Path = reUpload.Path,
|
Path = reUpload.Path,
|
||||||
CreateTime = DateTime.Now,
|
CreateTime = DateTime.Now,
|
||||||
|
@ -182,7 +182,7 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
var newAttachment = _mapper.Map<Attachment>(attachment);
|
var newAttachment = _mapper.Map<Attachment>(attachment);
|
||||||
//如果这个医生不存在 这个语言的官方简历 就设置为官方简历
|
//如果这个医生不存在 这个语言的官方简历 就设置为官方简历
|
||||||
if (! await attachmentrepository.AnyAsync(t => t.Type == "Resume" && t.DoctorId == attachment.DoctorId && t.Language == attachment.Language && t.IsOfficial))
|
if (! await _attachmentrepository.AnyAsync(t => t.Type == "Resume" && t.DoctorId == attachment.DoctorId && t.Language == attachment.Language && t.IsOfficial))
|
||||||
{
|
{
|
||||||
newAttachment.IsOfficial = true;
|
newAttachment.IsOfficial = true;
|
||||||
|
|
||||||
|
@ -198,7 +198,7 @@ namespace IRaCIS.Application.Services
|
||||||
[NonDynamicMethod]
|
[NonDynamicMethod]
|
||||||
public async Task<string> GetDoctorOfficialCV(int language, Guid doctorId)
|
public async Task<string> GetDoctorOfficialCV(int language, Guid doctorId)
|
||||||
{
|
{
|
||||||
var result = await attachmentrepository.FirstOrDefaultAsync(a => a.DoctorId == doctorId &&
|
var result = await _attachmentrepository.FirstOrDefaultAsync(a => a.DoctorId == doctorId &&
|
||||||
a.IsOfficial && a.Type.Equals("Resume") && a.Language == language);
|
a.IsOfficial && a.Type.Equals("Resume") && a.Language == language);
|
||||||
if (result != null)
|
if (result != null)
|
||||||
{
|
{
|
||||||
|
@ -241,7 +241,7 @@ namespace IRaCIS.Application.Services
|
||||||
[HttpPost("{doctorId:guid}/{attachmentId:guid}/{language}")]
|
[HttpPost("{doctorId:guid}/{attachmentId:guid}/{language}")]
|
||||||
public async Task<IResponseOutput> SetLanguage(Guid doctorId, Guid attachmentId, int language)
|
public async Task<IResponseOutput> SetLanguage(Guid doctorId, Guid attachmentId, int language)
|
||||||
{
|
{
|
||||||
bool result =await attachmentrepository.UpdateFromQueryAsync(t => t.Id == attachmentId, a => new Attachment
|
bool result =await _attachmentrepository.UpdateFromQueryAsync(t => t.Id == attachmentId, a => new Attachment
|
||||||
{
|
{
|
||||||
Language = language,
|
Language = language,
|
||||||
IsOfficial = false
|
IsOfficial = false
|
||||||
|
|
|
@ -109,6 +109,9 @@ namespace IRaCIS.Application.Contracts
|
||||||
public int? InPlanVisitCount { get; set; }
|
public int? InPlanVisitCount { get; set; }
|
||||||
public int? InPlanVisitSubmmitCount { get; set; }
|
public int? InPlanVisitSubmmitCount { get; set; }
|
||||||
|
|
||||||
|
public string FinalSubjectVisitName { get; set; }
|
||||||
|
|
||||||
|
|
||||||
public int? MissingSubmmitCount { get; set; }
|
public int? MissingSubmmitCount { get; set; }
|
||||||
|
|
||||||
public int? LostVisitCount { get; set; }
|
public int? LostVisitCount { get; set; }
|
||||||
|
|
|
@ -51,6 +51,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
//.ForMember(d => d.InPlanNoneDicomStudyUploadCount, u => u.MapFrom(s => s.SubjectVisitList.Where(t => t.InPlan).SelectMany(k => k.NoneDicomStudyList).Count()))
|
//.ForMember(d => d.InPlanNoneDicomStudyUploadCount, u => u.MapFrom(s => s.SubjectVisitList.Where(t => t.InPlan).SelectMany(k => k.NoneDicomStudyList).Count()))
|
||||||
//.ForMember(d => d.OutPlanNoneDicomStudyUploadCount, u => u.MapFrom(s => s.SubjectVisitList.Where(t => t.InPlan == false).SelectMany(k => k.NoneDicomStudyList).Count()))
|
//.ForMember(d => d.OutPlanNoneDicomStudyUploadCount, u => u.MapFrom(s => s.SubjectVisitList.Where(t => t.InPlan == false).SelectMany(k => k.NoneDicomStudyList).Count()))
|
||||||
.ForMember(d => d.FinalSubjectVisitId, u => u.MapFrom(s => s.SubjectVisitList.Where(t => t.IsFinalVisit).Select(c=>(Guid?) c.Id).FirstOrDefault()))
|
.ForMember(d => d.FinalSubjectVisitId, u => u.MapFrom(s => s.SubjectVisitList.Where(t => t.IsFinalVisit).Select(c=>(Guid?) c.Id).FirstOrDefault()))
|
||||||
|
.ForMember(d => d.FinalSubjectVisitName, u => u.MapFrom(s => s.SubjectVisitList.Where(t => t.IsFinalVisit).Select(c => c.VisitName).FirstOrDefault()))
|
||||||
.ForMember(d => d.InPlanVisitCount, u => u.MapFrom(s => s.SubjectVisitList.Count(t => t.InPlan)))
|
.ForMember(d => d.InPlanVisitCount, u => u.MapFrom(s => s.SubjectVisitList.Count(t => t.InPlan)))
|
||||||
.ForMember(d => d.OutPlanVisitCount, u => u.MapFrom(s => s.SubjectVisitList.Count(t => t.InPlan == false)))
|
.ForMember(d => d.OutPlanVisitCount, u => u.MapFrom(s => s.SubjectVisitList.Count(t => t.InPlan == false)))
|
||||||
//执行不一定上传了 可能是失访 实际执行过了
|
//执行不一定上传了 可能是失访 实际执行过了
|
||||||
|
|
|
@ -13,6 +13,8 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
{
|
{
|
||||||
public List<SubjectVisit> SubjectVisitList { get; set; } = new List<SubjectVisit>();
|
public List<SubjectVisit> SubjectVisitList { get; set; } = new List<SubjectVisit>();
|
||||||
|
|
||||||
|
//public List<SubjectVisit> LastSubjectVisit { get; set; } = SubjectVisitList.where;
|
||||||
|
|
||||||
//受试者有TrialId SiteId
|
//受试者有TrialId SiteId
|
||||||
//public List<TrialSiteUser> TrialSiteUserList { get; set; } = new List<TrialSiteUser>();
|
//public List<TrialSiteUser> TrialSiteUserList { get; set; } = new List<TrialSiteUser>();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue