添加接口 修改原有逻辑

This commit is contained in:
he
2022-04-18 11:40:11 +08:00
parent b992cab7ae
commit 87ee9bbbe4
6 changed files with 82 additions and 15 deletions
@@ -14,7 +14,7 @@ using System.Threading.Tasks;
namespace IRaCIS.Core.Application.Service.Inspection.DTO
{
public class DataInspectionAddDTO
@@ -81,7 +81,7 @@ namespace IRaCIS.Core.Application.Service.Inspection.DTO
/// </summary>
public string ResearchProgramNo { get; set; } = string.Empty;
public List<EnumList> EnumList { get; set; }=new List<EnumList> { };
public List<EnumList> EnumList { get; set; } = new List<EnumList> { };
/// <summary>
@@ -169,6 +169,14 @@ namespace IRaCIS.Core.Application.Service.Inspection.DTO
public string closeReason { get; set; }
}
public class UpdateModalityDto
{
public Guid id { get; set; }
public int type { get; set; }
public string modality { get; set; }
public string bodyPart { get; set; }
}
public class CloseQCChallengeDto
{
public Guid qcChallengeId { get; set; }
@@ -275,12 +283,14 @@ namespace IRaCIS.Core.Application.Service.Inspection.DTO
#endregion
/// <summary>
/// 用户 签名某个文档 Dto
/// </summary>
public class TrialDocumentConfirmDTO : InspectionBase, IInspectionDTO, ISignDTO
{
{
public UserConfirmCommand OptCommand { get; set; }
}
@@ -32,7 +32,7 @@ namespace IRaCIS.Core.Application.Image.QA
private readonly IRepository<SubjectVisit> _subjectVisitRepository;
private readonly IRepository<Trial> _trialRepository;
private readonly IServiceProvider serviceProvider;
private readonly IInspectionService _sinspectionService;
private readonly IInspectionService _inspectionService;
private object _locker = new object();
public QCOperationService(DicomFileStoreHelper dicomFileStoreHelper, IRepository<SubjectVisit> subjectVisitRepository,
@@ -46,7 +46,7 @@ namespace IRaCIS.Core.Application.Image.QA
_subjectVisitRepository = subjectVisitRepository;
this._trialRepository = trialRepository;
this.serviceProvider = serviceProvider;
this._sinspectionService = sinspectionService;
this._inspectionService = sinspectionService;
}
#region QC质疑
@@ -1072,7 +1072,7 @@ namespace IRaCIS.Core.Application.Image.QA
SubmitState = "待提交",
})
});
await _sinspectionService.AddListInspectionRecordAsync(datas);
await _inspectionService.AddListInspectionRecordAsync(datas);
return ResponseOutput.Ok();
}
@@ -1356,7 +1356,7 @@ namespace IRaCIS.Core.Application.Image.QA
});
});
await _sinspectionService.AddListInspectionRecordAsync(datas);
await _inspectionService.AddListInspectionRecordAsync(datas);
return ResponseOutput.Result(success);
@@ -1794,15 +1794,38 @@ namespace IRaCIS.Core.Application.Image.QA
{
IsEnrollmentConfirm = command.IsEnrollmentConfirm.Value,
});
}
if (command.SubjectFirstGiveMedicineTime != null)
{
List<DataInspection> datas = new List<DataInspection>();
var data = await _subjectVisitRepository.FirstOrDefaultAsync(t => t.Id == command.SubjectVisitId);
await _repository.UpdateFromQueryAsync<Subject>(t => t.Id == command.SubjectId, u => new Subject()
{
FirstGiveMedicineTime = command.SubjectFirstGiveMedicineTime,
});
datas.Add(new DataInspection()
{
SubjectId = command.SubjectId,
SiteId = data.SiteId,
TrialId = data.TrialId,
IsSign = false,
CreateTime=DateTime.Now.AddSeconds(1),
JsonDetail = JsonConvert.SerializeObject(new
{
FirstGiveMedicineTime= command.SubjectFirstGiveMedicineTime.Value.ToString("yyyy-MM-dd")
})
}) ;
await _inspectionService.AddListInspectionRecordAsync(datas);
}
////受试者基线 入组确认 或者访视PD 进展 默认加急
@@ -44,13 +44,13 @@ namespace IRaCIS.Application.Contracts
public class SubjectStatusChangeCommand
{
[NotDefault]
public Guid SubjectId { get; set; }
public Guid? TrialId { get; set; }
public Guid? SiteId { get; set; }
[NotDefault]
public Guid TrialId { get; set; }
[NotDefault]
public Guid SiteId { get; set; }
public SubjectStatus Status { get; set; }
public DateTime? OutEnrollmentTime { get; set; }
@@ -118,9 +118,26 @@ namespace IRaCIS.Core.Application.Services
//更新受试者 首次给药日期 是否入组确认
if (svCommand.SubjectFirstGiveMedicineTime != null)
{
List<DataInspection> datas = new List<DataInspection>();
// 更新受试者
subject.FirstGiveMedicineTime = svCommand.SubjectFirstGiveMedicineTime;
datas.Add(new DataInspection()
{
SubjectId = subject.Id,
SiteId = subject.SiteId,
TrialId = subject.TrialId,
IsSign = false,
CreateTime = DateTime.Now.AddSeconds(1),
JsonDetail = JsonConvert.SerializeObject(new
{
FirstGiveMedicineTime = subject.FirstGiveMedicineTime.Value.ToString("yyyy-MM-dd")
})
});
await _inspectionService.AddListInspectionRecordAsync(datas);
}
if (svCommand.IsEnrollmentConfirm != null)