修改一版
parent
1844a15879
commit
78c5af401a
|
@ -4,6 +4,7 @@ using System.Linq;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using AutoMapper;
|
using AutoMapper;
|
||||||
using Castle.Core.Internal;
|
using Castle.Core.Internal;
|
||||||
|
using IRaCIS.Application.Contracts;
|
||||||
using IRaCIS.Application.Interfaces;
|
using IRaCIS.Application.Interfaces;
|
||||||
using IRaCIS.Core.Application.Contracts;
|
using IRaCIS.Core.Application.Contracts;
|
||||||
using IRaCIS.Core.Application.Filter;
|
using IRaCIS.Core.Application.Filter;
|
||||||
|
@ -34,6 +35,7 @@ namespace IRaCIS.Core.API.Controllers
|
||||||
private readonly ITrialConfigService _trialConfigService;
|
private readonly ITrialConfigService _trialConfigService;
|
||||||
private readonly ISubjectService _subjectService;
|
private readonly ISubjectService _subjectService;
|
||||||
private readonly ISubjectVisitService _subjectVisitService;
|
private readonly ISubjectVisitService _subjectVisitService;
|
||||||
|
private readonly IVisitPlanService _visitPlanService;
|
||||||
private readonly IInspectionService _inspectionService;
|
private readonly IInspectionService _inspectionService;
|
||||||
private readonly IRepository<DataInspection> _dataInspectionRepository;
|
private readonly IRepository<DataInspection> _dataInspectionRepository;
|
||||||
private delegate Task<IResponseOutput> executionFun(dynamic data);
|
private delegate Task<IResponseOutput> executionFun(dynamic data);
|
||||||
|
@ -47,7 +49,8 @@ namespace IRaCIS.Core.API.Controllers
|
||||||
IInspectionService sinspectionService,
|
IInspectionService sinspectionService,
|
||||||
ITrialConfigService _trialConfigService,
|
ITrialConfigService _trialConfigService,
|
||||||
ISubjectService _subjectService,
|
ISubjectService _subjectService,
|
||||||
ISubjectVisitService subjectVisitService
|
ISubjectVisitService subjectVisitService,
|
||||||
|
IVisitPlanService visitPlanService
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
_repository = repository;
|
_repository = repository;
|
||||||
|
@ -59,6 +62,7 @@ namespace IRaCIS.Core.API.Controllers
|
||||||
this._trialConfigService = _trialConfigService;
|
this._trialConfigService = _trialConfigService;
|
||||||
this._subjectService = _subjectService;
|
this._subjectService = _subjectService;
|
||||||
_subjectVisitService = subjectVisitService;
|
_subjectVisitService = subjectVisitService;
|
||||||
|
this._visitPlanService = visitPlanService;
|
||||||
this._dataInspectionRepository = dataInspectionRepository;
|
this._dataInspectionRepository = dataInspectionRepository;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -72,7 +76,69 @@ namespace IRaCIS.Core.API.Controllers
|
||||||
return await _inspectionService.GetInspectionData(dto);
|
return await _inspectionService.GetInspectionData(dto);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#region 访视计划
|
||||||
|
/// <summary>
|
||||||
|
/// 新增或添加访视计划
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="visitPlan"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost, Route("Inspection/VisitPlan/AddOrUpdateVisitStage")]
|
||||||
|
[UnitOfWork]
|
||||||
|
public async Task<IResponseOutput> AddOrUpdateVisitStage(DataInspectionDto<VisitPlanCommand> opt)
|
||||||
|
{
|
||||||
|
var fun = await _visitPlanService.AddOrUpdateVisitStage(opt.OptCommand);
|
||||||
|
if (!fun.IsSuccess)
|
||||||
|
{
|
||||||
|
return ResponseOutput.NotOk(fun.ErrorMessage);
|
||||||
|
}
|
||||||
|
return await _inspectionService.Enforcement(opt.OptCommand, opt.AuditInfo, opt.SignInfo, null, fun);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 删除访视计划对象
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="opt"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost, Route("Inspection/VisitPlan/DeleteVisitStage")]
|
||||||
|
[UnitOfWork]
|
||||||
|
public async Task<IResponseOutput> DeleteVisitStage(DataInspectionDto<IDDto> opt)
|
||||||
|
{
|
||||||
|
var fun = _visitPlanService.DeleteVisitStage;
|
||||||
|
|
||||||
|
return await _inspectionService.Enforcement(opt.OptCommand.Id, opt.AuditInfo, opt.SignInfo, fun);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 确认访视计划
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="opt"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost, Route("Inspection/VisitPlan/ConfirmTrialVisitPlan")]
|
||||||
|
[UnitOfWork]
|
||||||
|
public async Task<IResponseOutput> ConfirmTrialVisitPlan(DataInspectionDto<IDDto> opt)
|
||||||
|
{
|
||||||
|
var fun = _visitPlanService.ConfirmTrialVisitPlan;
|
||||||
|
return await _inspectionService.Enforcement(opt.OptCommand.Id, opt.AuditInfo, opt.SignInfo, fun);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 下载访视计划
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="opt"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost, Route("Inspection/VisitPlan/DownloadInflunceStudyList")]
|
||||||
|
[UnitOfWork]
|
||||||
|
public async Task<IResponseOutput> DownloadInflunceStudyList(DataInspectionDto<IDDto> opt)
|
||||||
|
{
|
||||||
|
var fun = _visitPlanService.DownloadInflunceStudyList;
|
||||||
|
return await _inspectionService.Enforcement(opt.OptCommand.Id, opt.AuditInfo, opt.SignInfo, fun);
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
#region 访视
|
#region 访视
|
||||||
|
|
||||||
|
|
|
@ -58,6 +58,34 @@
|
||||||
</summary>
|
</summary>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:IRaCIS.Core.API.Controllers.InspectionController.AddOrUpdateVisitStage(IRaCIS.Core.Application.Service.Inspection.DTO.DataInspectionDto{IRaCIS.Application.Contracts.VisitPlanCommand})">
|
||||||
|
<summary>
|
||||||
|
新增或添加访视计划
|
||||||
|
</summary>
|
||||||
|
<param name="visitPlan"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:IRaCIS.Core.API.Controllers.InspectionController.DeleteVisitStage(IRaCIS.Core.Application.Service.Inspection.DTO.DataInspectionDto{IRaCIS.Core.Application.Contracts.IDDto})">
|
||||||
|
<summary>
|
||||||
|
删除访视计划对象
|
||||||
|
</summary>
|
||||||
|
<param name="opt"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:IRaCIS.Core.API.Controllers.InspectionController.ConfirmTrialVisitPlan(IRaCIS.Core.Application.Service.Inspection.DTO.DataInspectionDto{IRaCIS.Core.Application.Contracts.IDDto})">
|
||||||
|
<summary>
|
||||||
|
确认访视计划
|
||||||
|
</summary>
|
||||||
|
<param name="opt"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:IRaCIS.Core.API.Controllers.InspectionController.DownloadInflunceStudyList(IRaCIS.Core.Application.Service.Inspection.DTO.DataInspectionDto{IRaCIS.Core.Application.Contracts.IDDto})">
|
||||||
|
<summary>
|
||||||
|
下载访视计划
|
||||||
|
</summary>
|
||||||
|
<param name="opt"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="M:IRaCIS.Core.API.Controllers.InspectionController.ConfigTrialBasicInfo(IRaCIS.Core.Application.Service.Inspection.DTO.DataInspectionDto{IRaCIS.Core.Application.Contracts.BasicTrialConfig})">
|
<member name="M:IRaCIS.Core.API.Controllers.InspectionController.ConfigTrialBasicInfo(IRaCIS.Core.Application.Service.Inspection.DTO.DataInspectionDto{IRaCIS.Core.Application.Contracts.BasicTrialConfig})">
|
||||||
<summary>
|
<summary>
|
||||||
配置 基础逻辑信息
|
配置 基础逻辑信息
|
||||||
|
|
|
@ -1560,6 +1560,13 @@
|
||||||
</summary>
|
</summary>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:IRaCIS.Core.Application.TrialConfigService.ConfigTrialBasicInfo(IRaCIS.Core.Application.Contracts.BasicTrialConfig)">
|
||||||
|
<summary>
|
||||||
|
配置 基础逻辑信息
|
||||||
|
</summary>
|
||||||
|
<param name="trialConfig"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="M:IRaCIS.Core.Application.TrialConfigService.UpdateTrialState(System.Guid,System.String,System.Guid,System.String,EasyCaching.Core.IEasyCachingProvider)">
|
<member name="M:IRaCIS.Core.Application.TrialConfigService.UpdateTrialState(System.Guid,System.String,System.Guid,System.String,EasyCaching.Core.IEasyCachingProvider)">
|
||||||
<summary>
|
<summary>
|
||||||
更新项目状态
|
更新项目状态
|
||||||
|
@ -1594,13 +1601,6 @@
|
||||||
<param name="trialId"></param>
|
<param name="trialId"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Core.Application.TrialConfigService.ConfigTrialBasicInfo(IRaCIS.Core.Application.Contracts.BasicTrialConfig)">
|
|
||||||
<summary>
|
|
||||||
配置 基础逻辑信息
|
|
||||||
</summary>
|
|
||||||
<param name="trialConfig"></param>
|
|
||||||
<returns></returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:IRaCIS.Core.Application.TrialConfigService.ConfigTrialProcessInfo(IRaCIS.Core.Application.Contracts.TrialProcessConfig)">
|
<member name="M:IRaCIS.Core.Application.TrialConfigService.ConfigTrialProcessInfo(IRaCIS.Core.Application.Contracts.TrialProcessConfig)">
|
||||||
<summary>
|
<summary>
|
||||||
配置流程
|
配置流程
|
||||||
|
|
|
@ -191,11 +191,6 @@ namespace IRaCIS.Core.Application.Service.Inspection
|
||||||
// 判断是否需要前面
|
// 判断是否需要前面
|
||||||
|
|
||||||
await AddInspectionRecordAsync(AuditInfo, signId);
|
await AddInspectionRecordAsync(AuditInfo, signId);
|
||||||
|
|
||||||
if (bResult.IsSuccess == false)
|
|
||||||
{
|
|
||||||
return bResult;
|
|
||||||
}
|
|
||||||
return bResult;
|
return bResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -167,7 +167,7 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
public Guid SignId { get; set; }
|
public Guid SignId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
[NotDefault]
|
[NotDefault]
|
||||||
public string SignCode { get; set; } = string.Empty;
|
public string SignCode { get; set; } = string.Empty;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -145,6 +145,28 @@ namespace IRaCIS.Core.Application
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 配置 基础逻辑信息
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="trialConfig"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPut]
|
||||||
|
public async Task<IResponseOutput> ConfigTrialBasicInfo(BasicTrialConfig trialConfig)
|
||||||
|
{
|
||||||
|
if (!await _trialRepository.Where(t => t.Id == trialConfig.TrialId).IgnoreQueryFilters().AnyAsync(t => t.TrialStatusStr == StaticData.TrialOngoing || t.TrialStatusStr == StaticData.TrialInitializing))
|
||||||
|
{
|
||||||
|
return ResponseOutput.NotOk(" only in Initializing or Ongoing State can operate ");
|
||||||
|
}
|
||||||
|
|
||||||
|
var trialInfo = await _trialRepository.FirstOrDefaultAsync(t => t.Id == trialConfig.TrialId);
|
||||||
|
|
||||||
|
if (trialInfo == null) return Null404NotFound(trialInfo);
|
||||||
|
|
||||||
|
_mapper.Map(trialConfig, trialInfo);
|
||||||
|
|
||||||
|
return ResponseOutput.Ok(await _repository.SaveChangesAsync());
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 更新项目状态
|
/// 更新项目状态
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -251,27 +273,7 @@ namespace IRaCIS.Core.Application
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 配置 基础逻辑信息
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="trialConfig"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
[HttpPut]
|
|
||||||
public async Task<IResponseOutput> ConfigTrialBasicInfo(BasicTrialConfig trialConfig)
|
|
||||||
{
|
|
||||||
if (!await _trialRepository.Where(t => t.Id == trialConfig.TrialId).IgnoreQueryFilters().AnyAsync(t => t.TrialStatusStr == StaticData.TrialOngoing || t.TrialStatusStr == StaticData.TrialInitializing))
|
|
||||||
{
|
|
||||||
return ResponseOutput.NotOk(" only in Initializing or Ongoing State can operate ");
|
|
||||||
}
|
|
||||||
|
|
||||||
var trialInfo = await _trialRepository.FirstOrDefaultAsync(t => t.Id == trialConfig.TrialId);
|
|
||||||
|
|
||||||
if (trialInfo == null) return Null404NotFound(trialInfo);
|
|
||||||
|
|
||||||
_mapper.Map(trialConfig, trialInfo);
|
|
||||||
|
|
||||||
return ResponseOutput.Ok(await _repository.SaveChangesAsync());
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 配置流程
|
/// 配置流程
|
||||||
|
|
|
@ -44,6 +44,12 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class IDDto
|
||||||
|
{
|
||||||
|
public Guid Id { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public class DeleteSVCommand
|
public class DeleteSVCommand
|
||||||
{
|
{
|
||||||
public Guid SubjectVisitId { get; set; }
|
public Guid SubjectVisitId { get; set; }
|
||||||
|
|
|
@ -7,9 +7,9 @@ namespace IRaCIS.Application.Interfaces
|
||||||
public interface IVisitPlanService
|
public interface IVisitPlanService
|
||||||
{
|
{
|
||||||
Task<IResponseOutput> AddOrUpdateVisitStage(VisitPlanCommand visitPlan);
|
Task<IResponseOutput> AddOrUpdateVisitStage(VisitPlanCommand visitPlan);
|
||||||
Task<IResponseOutput> ConfirmTrialVisitPlan(Guid trialId, [FromServices] IRepository<VisitPlanInfluenceStat> _influnceStatRepository);
|
Task<IResponseOutput> ConfirmTrialVisitPlan(Guid trialId);
|
||||||
Task<IResponseOutput> DeleteVisitStage(Guid id);
|
Task<IResponseOutput> DeleteVisitStage(Guid id);
|
||||||
Task<IActionResult> DownloadInflunceStudyList(Guid visitPlanInfluenceStatId, [FromServices] IRepository<VisitPlanInfluenceStudy> _influnceRepository);
|
Task<IActionResult> DownloadInflunceStudyList(Guid visitPlanInfluenceStatId);
|
||||||
Task<List<VisitPlanInfluenceSubjectVisitStatDTO>> GetInfluenceHistoryList(Guid trialId, [FromServices] IRepository<VisitPlanInfluenceStat> _influnceStatRepository);
|
Task<List<VisitPlanInfluenceSubjectVisitStatDTO>> GetInfluenceHistoryList(Guid trialId, [FromServices] IRepository<VisitPlanInfluenceStat> _influnceStatRepository);
|
||||||
Task<PageOutput<VisitStageDTO>> GetTrialVisitStageList(VisitPlanQueryDTO param);
|
Task<PageOutput<VisitStageDTO>> GetTrialVisitStageList(VisitPlanQueryDTO param);
|
||||||
Task<IEnumerable<VisitStageSelectDTO>> GetTrialVisitStageSelect(Guid trialId);
|
Task<IEnumerable<VisitStageSelectDTO>> GetTrialVisitStageSelect(Guid trialId);
|
||||||
|
|
|
@ -19,12 +19,22 @@ namespace IRaCIS.Application.Services
|
||||||
{
|
{
|
||||||
private readonly IRepository<VisitStage> _visitStageRepository;
|
private readonly IRepository<VisitStage> _visitStageRepository;
|
||||||
private readonly IRepository<Trial> _trialRepository;
|
private readonly IRepository<Trial> _trialRepository;
|
||||||
|
private readonly IRepository<SubjectVisit> _subjectVisitRepository;
|
||||||
|
private readonly IRepository<VisitPlanInfluenceStat> _influnceStatRepository;
|
||||||
|
private readonly IRepository<VisitPlanInfluenceStudy> _influnceRepository;
|
||||||
private readonly IInspectionService _inspectionService;
|
private readonly IInspectionService _inspectionService;
|
||||||
|
|
||||||
public VisitPlanService(IRepository<VisitStage> visitStageRepository,IRepository<Trial> trialRepository, IInspectionService inspectionService)
|
public VisitPlanService(IRepository<VisitStage> visitStageRepository,IRepository<Trial> trialRepository, IRepository<SubjectVisit> subjectVisitRepository,
|
||||||
|
IRepository<VisitPlanInfluenceStat> influnceStatRepository,
|
||||||
|
IRepository<VisitPlanInfluenceStudy> visitPlanInfluenceStudy,
|
||||||
|
|
||||||
|
IInspectionService inspectionService)
|
||||||
{
|
{
|
||||||
_visitStageRepository = visitStageRepository;
|
_visitStageRepository = visitStageRepository;
|
||||||
_trialRepository = trialRepository;
|
_trialRepository = trialRepository;
|
||||||
|
this._subjectVisitRepository = subjectVisitRepository;
|
||||||
|
this._influnceStatRepository = influnceStatRepository;
|
||||||
|
this._influnceRepository = visitPlanInfluenceStudy;
|
||||||
this._inspectionService = inspectionService;
|
this._inspectionService = inspectionService;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -258,8 +268,35 @@ namespace IRaCIS.Application.Services
|
||||||
return ResponseOutput.NotOk("The visit plan has been assigned to the subjects and executed.");
|
return ResponseOutput.NotOk("The visit plan has been assigned to the subjects and executed.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var list = await _subjectVisitRepository.Where(t => t.TrialId == visitPlan.TrialId && t.VisitName == visitPlan.VisitName).ToListAsync();
|
||||||
|
|
||||||
|
|
||||||
|
List<DataInspection> datas = new List<DataInspection>();
|
||||||
|
var createtime = DateTime.Now.AddSeconds(1);
|
||||||
|
list.ForEach(x =>
|
||||||
|
{
|
||||||
|
datas.Add(new DataInspection()
|
||||||
|
{
|
||||||
|
BlindName = x.BlindName,
|
||||||
|
IsSign = false,
|
||||||
|
SiteId = x.SiteId,
|
||||||
|
SubjectId = x.SubjectId,
|
||||||
|
SubjectVisitId = x.Id,
|
||||||
|
CreateTime = createtime,
|
||||||
|
SubjectVisitName = x.VisitName,
|
||||||
|
TrialId = x.TrialId,
|
||||||
|
JsonDetail = JsonConvert.SerializeObject(x),
|
||||||
|
Identification = "Delete|Visit|Data|Visit-Image Upload"
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
await _inspectionService.AddListInspectionRecordAsync(datas);
|
||||||
await _repository.DeleteFromQueryAsync<SubjectVisit>(t => t.TrialId == visitPlan.TrialId && t.VisitName == visitPlan.VisitName);
|
await _repository.DeleteFromQueryAsync<SubjectVisit>(t => t.TrialId == visitPlan.TrialId && t.VisitName == visitPlan.VisitName);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var result = await _visitStageRepository.DeleteFromQueryAsync(u => u.Id == id);
|
var result = await _visitStageRepository.DeleteFromQueryAsync(u => u.Id == id);
|
||||||
|
|
||||||
|
|
||||||
|
@ -271,7 +308,7 @@ namespace IRaCIS.Application.Services
|
||||||
[HttpPost("{trialId:guid}")]
|
[HttpPost("{trialId:guid}")]
|
||||||
[TrialAudit(AuditType.TrialAudit, AuditOptType.ConfirmTrialVisitPlan)]
|
[TrialAudit(AuditType.TrialAudit, AuditOptType.ConfirmTrialVisitPlan)]
|
||||||
|
|
||||||
public async Task<IResponseOutput> ConfirmTrialVisitPlan(Guid trialId, [FromServices] IRepository<VisitPlanInfluenceStat> _influnceStatRepository)
|
public async Task<IResponseOutput> ConfirmTrialVisitPlan(Guid trialId)
|
||||||
{
|
{
|
||||||
if (!await _trialRepository.AnyAsync(t => t.Id == trialId &&( t.TrialStatusStr==StaticData.TrialInitializing || t.TrialStatusStr == StaticData.TrialOngoing)))
|
if (!await _trialRepository.AnyAsync(t => t.Id == trialId &&( t.TrialStatusStr==StaticData.TrialInitializing || t.TrialStatusStr == StaticData.TrialOngoing)))
|
||||||
{
|
{
|
||||||
|
@ -419,6 +456,40 @@ namespace IRaCIS.Application.Services
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
List<DataInspection> datas = new List<DataInspection>();
|
||||||
|
var createtime = DateTime.Now.AddSeconds(1);
|
||||||
|
|
||||||
|
var list = await _subjectVisitRepository.Where(t => t.TrialId == trialId && t.VisitStageId == changedItem.Id).ToListAsync();
|
||||||
|
list.ForEach(x =>
|
||||||
|
{
|
||||||
|
datas.Add(new DataInspection()
|
||||||
|
{
|
||||||
|
BlindName = x.BlindName,
|
||||||
|
IsSign = false,
|
||||||
|
SiteId = x.SiteId,
|
||||||
|
SubjectId = x.SubjectId,
|
||||||
|
SubjectVisitId = x.Id,
|
||||||
|
CreateTime = createtime,
|
||||||
|
SubjectVisitName = x.VisitName,
|
||||||
|
TrialId = x.TrialId,
|
||||||
|
JsonDetail = JsonConvert.SerializeObject(new {
|
||||||
|
|
||||||
|
IsBaseLine = changedItem.IsBaseLine,
|
||||||
|
VisitName = changedItem.VisitName,
|
||||||
|
VisitNum = changedItem.VisitNum,
|
||||||
|
VisitDay = changedItem.VisitDay,
|
||||||
|
VisitWindowLeft = changedItem.VisitWindowLeft,
|
||||||
|
VisitWindowRight = changedItem.VisitWindowRight
|
||||||
|
}),
|
||||||
|
Identification = "Edit|Visit|Info|Visit-Image Upload"
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
await _inspectionService.AddListInspectionRecordAsync(datas);
|
||||||
|
|
||||||
|
|
||||||
//变更某一访视计划Item 受试者访视相关字段
|
//变更某一访视计划Item 受试者访视相关字段
|
||||||
await _repository.UpdateFromQueryAsync<SubjectVisit>(t => t.TrialId == trialId && t.VisitStageId == changedItem.Id, k => new SubjectVisit()
|
await _repository.UpdateFromQueryAsync<SubjectVisit>(t => t.TrialId == trialId && t.VisitStageId == changedItem.Id, k => new SubjectVisit()
|
||||||
{
|
{
|
||||||
|
@ -451,7 +522,7 @@ namespace IRaCIS.Application.Services
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet("{visitPlanInfluenceStatId:guid}")]
|
[HttpGet("{visitPlanInfluenceStatId:guid}")]
|
||||||
public async Task<IActionResult> DownloadInflunceStudyList(Guid visitPlanInfluenceStatId, [FromServices] IRepository<VisitPlanInfluenceStudy> _influnceRepository)
|
public async Task<IActionResult> DownloadInflunceStudyList(Guid visitPlanInfluenceStatId)
|
||||||
{
|
{
|
||||||
var list = _influnceRepository.Where(t => t.VisitPlanInfluenceStatId == visitPlanInfluenceStatId)
|
var list = _influnceRepository.Where(t => t.VisitPlanInfluenceStatId == visitPlanInfluenceStatId)
|
||||||
.ProjectTo<VisitPlanInfluenceSubjectVisitDTO>(_mapper.ConfigurationProvider).ToList();
|
.ProjectTo<VisitPlanInfluenceSubjectVisitDTO>(_mapper.ConfigurationProvider).ToList();
|
||||||
|
|
|
@ -25,12 +25,17 @@ namespace IRaCIS.Core.Infra.EFCore
|
||||||
|
|
||||||
public Repository(IRaCISDBContext dbContext, IMapper mapper)
|
public Repository(IRaCISDBContext dbContext, IMapper mapper)
|
||||||
{
|
{
|
||||||
|
//if (typeof(TEntity) = typeof(DataInspection))
|
||||||
|
//{
|
||||||
|
|
||||||
|
//}
|
||||||
_dbContext = dbContext;
|
_dbContext = dbContext;
|
||||||
_mapper = mapper;
|
_mapper = mapper;
|
||||||
}
|
}
|
||||||
|
|
||||||
#region 异步部分
|
#region 异步部分
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public async Task<TEntity> InsertOrUpdateAsync<TFrom>(TFrom from, bool autoSave = false, params EntityVerifyExp<TEntity>[] verify)
|
public async Task<TEntity> InsertOrUpdateAsync<TFrom>(TFrom from, bool autoSave = false, params EntityVerifyExp<TEntity>[] verify)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue