修改一版
parent
24a728f95d
commit
6bdaf926c4
|
@ -537,9 +537,19 @@
|
||||||
访视名称
|
访视名称
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetReadModuleSingleOutdto.Stakeholders">
|
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetReadModuleSingleOutdto.StakeholderIds">
|
||||||
<summary>
|
<summary>
|
||||||
干系人
|
干系人Id
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetReadModuleSingleOutdto.StakeholderNames">
|
||||||
|
<summary>
|
||||||
|
干系人姓名
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetReadModuleSingleOutdto.Status">
|
||||||
|
<summary>
|
||||||
|
状态
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetReadModuleOutDto.Id">
|
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetReadModuleOutDto.Id">
|
||||||
|
@ -642,6 +652,11 @@
|
||||||
是否为访视
|
是否为访视
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetReadModuleOutDto.VisitNum">
|
||||||
|
<summary>
|
||||||
|
访视Num
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetReadModuleOutDto.PDState">
|
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetReadModuleOutDto.PDState">
|
||||||
<summary>
|
<summary>
|
||||||
是否为PD进展
|
是否为PD进展
|
||||||
|
@ -3067,7 +3082,7 @@
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Application.Services.ReadingPeriodSetService.GetPreviewTheReadingList(IRaCIS.Core.Application.Service.Reading.Dto.PreviewTheReadingListInDto)">
|
<member name="M:IRaCIS.Application.Services.ReadingPeriodSetService.GetPreviewTheReadingList(IRaCIS.Core.Application.Service.Reading.Dto.PreviewTheReadingListInDto)">
|
||||||
<summary>
|
<summary>
|
||||||
获取影像阅片的预览
|
获取影像阅片的预览 // 需要清除之前已经选中的
|
||||||
</summary>
|
</summary>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
@ -3118,14 +3133,14 @@
|
||||||
生成的阅片模块(在大列表上展示的) 阅片期
|
生成的阅片模块(在大列表上展示的) 阅片期
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Application.Services.ReadModuleService.GetReadModule(IRaCIS.Core.Application.Service.Reading.Dto.GetReadModuleDto)">
|
<member name="M:IRaCIS.Application.Services.ReadModuleService.GetReadModuleList(IRaCIS.Core.Application.Service.Reading.Dto.GetReadModuleDto)">
|
||||||
<summary>
|
<summary>
|
||||||
获取读片模块
|
获取读片模块
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Application.Services.ReadModuleService.GetReadModuleSingle(IRaCIS.Core.Application.Service.Reading.Dto.GetReadModuleSingleIndto)">
|
<member name="M:IRaCIS.Application.Services.ReadModuleService.GetReadModuleSingle(IRaCIS.Core.Application.Service.Reading.Dto.GetReadModuleSingleIndto)">
|
||||||
<summary>
|
<summary>
|
||||||
获取单条信息
|
获取单条详情信息
|
||||||
</summary>
|
</summary>
|
||||||
<param name="dto"></param>
|
<param name="dto"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
|
|
|
@ -13,6 +13,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
public Guid? TrialId { get; set; }
|
public Guid? TrialId { get; set; }
|
||||||
|
|
||||||
public Guid? SubjectId { get; set; }
|
public Guid? SubjectId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class GetSubjectReadVisitsOutDto
|
public class GetSubjectReadVisitsOutDto
|
||||||
|
@ -131,9 +133,19 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
public string SubjectVisitName { get; set; }
|
public string SubjectVisitName { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 干系人
|
/// 干系人Id
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string Stakeholders { get; set; }
|
public List<Guid> StakeholderIds { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 干系人姓名
|
||||||
|
/// </summary>
|
||||||
|
public List<string> StakeholderNames { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 状态
|
||||||
|
/// </summary>
|
||||||
|
public ReadModuleEnum? Status { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class GetReadModuleOutDto
|
public class GetReadModuleOutDto
|
||||||
|
@ -242,6 +254,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsVisit { get; set; }
|
public bool IsVisit { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 访视Num
|
||||||
|
/// </summary>
|
||||||
|
public decimal? VisitNum { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否为PD进展
|
/// 是否为PD进展
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -25,20 +25,29 @@ namespace IRaCIS.Application.Services
|
||||||
public IRepository<SubjectVisit> _subjectVisitRepository;
|
public IRepository<SubjectVisit> _subjectVisitRepository;
|
||||||
private readonly IRepository<Subject> _subjectRepository;
|
private readonly IRepository<Subject> _subjectRepository;
|
||||||
private readonly IRepository<VisitStage> _visitstageRepository;
|
private readonly IRepository<VisitStage> _visitstageRepository;
|
||||||
|
private readonly IRepository<User> _userRepository;
|
||||||
|
private readonly IRepository<DicomInstance> _dicomInstanceRepository;
|
||||||
|
private readonly IRepository<NoneDicomStudyFile> _noneDicomStudyFileRepository;
|
||||||
private readonly IRepository<ReadingPeriodSet> _readingPeriodSetRepository;
|
private readonly IRepository<ReadingPeriodSet> _readingPeriodSetRepository;
|
||||||
private readonly IRepository<ReadModule> _readModuleRepository;
|
private readonly IRepository<ReadModule> _readModuleRepository;
|
||||||
|
|
||||||
|
|
||||||
public ReadModuleService(IRepository<SubjectVisit> subjectVisitRepository,
|
public ReadModuleService(IRepository<SubjectVisit> subjectVisitRepository,
|
||||||
IRepository<Subject> subjectRepository,
|
IRepository<Subject> subjectRepository,
|
||||||
IRepository<VisitStage> visitstageRepository,
|
IRepository<VisitStage> visitstageRepository,
|
||||||
IRepository<ReadingPeriodSet> readingPeriodSetRepository,
|
IRepository<User> UserRepository,
|
||||||
IRepository<ReadModule> readModuleRepository
|
IRepository<DicomInstance> dicomInstanceRepository,
|
||||||
|
IRepository<NoneDicomStudyFile> noneDicomStudyFileRepository,
|
||||||
|
IRepository<ReadingPeriodSet> readingPeriodSetRepository,
|
||||||
|
IRepository<ReadModule> readModuleRepository
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
_subjectVisitRepository = subjectVisitRepository;
|
this._subjectVisitRepository = subjectVisitRepository;
|
||||||
this._subjectRepository = subjectRepository;
|
this._subjectRepository = subjectRepository;
|
||||||
this._visitstageRepository = visitstageRepository;
|
this._visitstageRepository = visitstageRepository;
|
||||||
|
this._userRepository = UserRepository;
|
||||||
|
this._dicomInstanceRepository = dicomInstanceRepository;
|
||||||
|
this._noneDicomStudyFileRepository = noneDicomStudyFileRepository;
|
||||||
this._readingPeriodSetRepository = readingPeriodSetRepository;
|
this._readingPeriodSetRepository = readingPeriodSetRepository;
|
||||||
this._readModuleRepository = readModuleRepository;
|
this._readModuleRepository = readModuleRepository;
|
||||||
}
|
}
|
||||||
|
@ -48,7 +57,7 @@ namespace IRaCIS.Application.Services
|
||||||
/// 获取读片模块
|
/// 获取读片模块
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<(PageOutput<GetReadModuleDtoOut>,object)> GetReadModule(GetReadModuleDto dto)
|
public async Task<(PageOutput<GetReadModuleDtoOut>,object)> GetReadModuleList(GetReadModuleDto dto)
|
||||||
{
|
{
|
||||||
var subjectquery = _subjectRepository.WhereIf(dto.TrialId!=null, x => x.TrialId == dto.TrialId)
|
var subjectquery = _subjectRepository.WhereIf(dto.TrialId!=null, x => x.TrialId == dto.TrialId)
|
||||||
.WhereIf(dto.SubjectId != null, x => x.Id == dto.SubjectId)
|
.WhereIf(dto.SubjectId != null, x => x.Id == dto.SubjectId)
|
||||||
|
@ -59,7 +68,7 @@ namespace IRaCIS.Application.Services
|
||||||
SiteId = x.SiteId,
|
SiteId = x.SiteId,
|
||||||
SubjectCode = x.Code,
|
SubjectCode = x.Code,
|
||||||
SubjectId = x.Id,
|
SubjectId = x.Id,
|
||||||
Data=x.SubjectVisitList.OrderByDescending(y=>y.InPlan).Select(y=>new GetReadModuleOutDto()
|
Data=x.SubjectVisitList.OrderByDescending(y=>y.VisitNum).Select(y=>new GetReadModuleOutDto()
|
||||||
{
|
{
|
||||||
Id = y.Id, //id
|
Id = y.Id, //id
|
||||||
Name=y.VisitName,
|
Name=y.VisitName,
|
||||||
|
@ -71,6 +80,7 @@ namespace IRaCIS.Application.Services
|
||||||
CreateTime = y.CreateTime, // 创建时间
|
CreateTime = y.CreateTime, // 创建时间
|
||||||
SubjectCode = y.Subject.Code, // 受试者code
|
SubjectCode = y.Subject.Code, // 受试者code
|
||||||
SiteCode = x.TrialSite.TrialSiteCode, // 中心Code
|
SiteCode = x.TrialSite.TrialSiteCode, // 中心Code
|
||||||
|
VisitNum=y.VisitNum,
|
||||||
|
|
||||||
IsFinalVisit=y.IsFinalVisit, // 是否为末次评估
|
IsFinalVisit=y.IsFinalVisit, // 是否为末次评估
|
||||||
OutPlanPreviousVisitId = y.OutPlanPreviousVisitId, // 上一访视
|
OutPlanPreviousVisitId = y.OutPlanPreviousVisitId, // 上一访视
|
||||||
|
@ -89,6 +99,16 @@ namespace IRaCIS.Application.Services
|
||||||
var pageList = await subjectquery.ToPagedListAsync(dto.PageIndex, dto.PageSize, dto.SortField == null|| dto.SortField==string.Empty ? "SiteCode" : dto.SortField,
|
var pageList = await subjectquery.ToPagedListAsync(dto.PageIndex, dto.PageSize, dto.SortField == null|| dto.SortField==string.Empty ? "SiteCode" : dto.SortField,
|
||||||
dto.Asc);
|
dto.Asc);
|
||||||
|
|
||||||
|
|
||||||
|
pageList.CurrentPageData.ForEach(x =>
|
||||||
|
{
|
||||||
|
var outplan = x.Data.FirstOrDefault(x => x.IsFinalVisit);
|
||||||
|
if (outplan != null)
|
||||||
|
{
|
||||||
|
x.Data = x.Data.Where(y => y.VisitNum >= outplan.VisitNum).ToList();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
var subjectisd = pageList.CurrentPageData.Select(x => x.SubjectId).ToList();
|
var subjectisd = pageList.CurrentPageData.Select(x => x.SubjectId).ToList();
|
||||||
|
|
||||||
var readModules =await _readModuleRepository.Where(x => subjectisd.Contains(x.SubjectId)).Include(x=>x.SubjectVisit)
|
var readModules =await _readModuleRepository.Where(x => subjectisd.Contains(x.SubjectId)).Include(x=>x.SubjectVisit)
|
||||||
|
@ -139,40 +159,54 @@ namespace IRaCIS.Application.Services
|
||||||
//}
|
//}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取单条信息
|
/// 获取单条详情信息
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="dto"></param>
|
/// <param name="dto"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<GetReadModuleSingleOutdto> GetReadModuleSingle(GetReadModuleSingleIndto dto)
|
public async Task<GetReadModuleSingleOutdto> GetReadModuleSingle(GetReadModuleSingleIndto dto)
|
||||||
{
|
{
|
||||||
var data = await GetReadModule(new GetReadModuleDto()
|
var data = await GetReadModuleList(new GetReadModuleDto()
|
||||||
{
|
{
|
||||||
SubjectId = dto.SubjectId,
|
SubjectId = dto.SubjectId,
|
||||||
});
|
});
|
||||||
|
|
||||||
var GetReadModuleOutDto = data.Item1.CurrentPageData.FirstOrDefault().Data.Where(x => x.Id == dto.Id).Select(x => new GetReadModuleSingleOutdto()
|
GetReadModuleSingleOutdto? readModule = data.Item1.CurrentPageData.FirstOrDefault().Data.Where(x => x.Id == dto.Id).Select(x => new GetReadModuleSingleOutdto()
|
||||||
{
|
{
|
||||||
Id = x.Id,
|
Id = x.Id,
|
||||||
ModuleType = x.ModuleType,
|
ModuleType = x.ModuleType,
|
||||||
SubjectVisitId = x.SubjectVisitId,
|
SubjectVisitId = x.SubjectVisitId,
|
||||||
SubjectVisitName = x.SubjectVisitName,
|
SubjectVisitName = x.SubjectVisitName,
|
||||||
Stakeholders = string.Empty
|
|
||||||
|
Status = x.Status,
|
||||||
}).FirstOrDefault();
|
}).FirstOrDefault();
|
||||||
|
|
||||||
|
|
||||||
SubjectVisit visit = (await _subjectVisitRepository.Where(x => x.Id == GetReadModuleOutDto.SubjectVisitId).FirstOrDefaultAsync()).IfNullThrowConvertException();
|
var stakeholderIds = new List<Guid>();
|
||||||
|
|
||||||
//switch (GetVisitSubmitStateEnum(visit))
|
var subjectVisit =await _subjectVisitRepository.FirstOrDefaultAsync(x => x.Id == readModule.SubjectVisitId);
|
||||||
//{
|
switch (readModule.Status)
|
||||||
// case ReadModuleEnum.ImageUpload:
|
{
|
||||||
// case
|
case ReadModuleEnum.ImageUpload:
|
||||||
// break;
|
stakeholderIds.AddRange(await _dicomInstanceRepository.Where(x => x.SubjectVisitId == readModule.SubjectVisitId).Select(x => x.CreateUserId).Distinct().ToListAsync());
|
||||||
//};
|
stakeholderIds.AddRange(await _noneDicomStudyFileRepository.Where(x => x.NoneDicomStudy.SubjectVisitId == readModule.SubjectVisitId).Select(x => x.CreateUserId).Distinct().ToListAsync());
|
||||||
|
break;
|
||||||
|
case ReadModuleEnum.ImageQuality:
|
||||||
|
if (subjectVisit.PreliminaryAuditUserId != null)
|
||||||
|
{
|
||||||
|
stakeholderIds.Add(subjectVisit.PreliminaryAuditUserId.Value);
|
||||||
|
}
|
||||||
|
if (subjectVisit.ReviewAuditUserId != null)
|
||||||
|
{
|
||||||
|
stakeholderIds.Add(subjectVisit.ReviewAuditUserId.Value);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
};
|
||||||
|
|
||||||
|
readModule.StakeholderIds = stakeholderIds.Distinct().ToList();
|
||||||
|
readModule.StakeholderNames = await _userRepository.Where(x => readModule.StakeholderIds.Contains(x.Id)).Select(x => x.FirstName + "/" + x.LastName).ToListAsync();
|
||||||
|
|
||||||
|
return readModule;
|
||||||
return GetReadModuleOutDto;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -212,8 +246,6 @@ namespace IRaCIS.Application.Services
|
||||||
.WhereIf(dto.ExpirationVisitNum != null, x => x.VisitNum <= dto.ExpirationVisitNum.Value);
|
.WhereIf(dto.ExpirationVisitNum != null, x => x.VisitNum <= dto.ExpirationVisitNum.Value);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var visit = visitquery.OrderByDescending(x => x.VisitNum).FirstOrDefault();
|
var visit = visitquery.OrderByDescending(x => x.VisitNum).FirstOrDefault();
|
||||||
|
|
||||||
if (visit != null)
|
if (visit != null)
|
||||||
|
|
|
@ -58,7 +58,6 @@ namespace IRaCIS.Application.Services
|
||||||
TrialId =entity.TrialId,
|
TrialId =entity.TrialId,
|
||||||
SiteId = x,
|
SiteId = x,
|
||||||
}).ToList();
|
}).ToList();
|
||||||
|
|
||||||
await _readingPeriodSetRepository.AddAsync(entity, true);
|
await _readingPeriodSetRepository.AddAsync(entity, true);
|
||||||
return ResponseOutput.Ok(entity.Id);
|
return ResponseOutput.Ok(entity.Id);
|
||||||
}
|
}
|
||||||
|
@ -79,17 +78,18 @@ namespace IRaCIS.Application.Services
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取影像阅片的预览
|
/// 获取影像阅片的预览 // 需要清除之前已经选中的
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<List<PreviewTheReadingListOutDto>> GetPreviewTheReadingList(PreviewTheReadingListInDto inDto)
|
public async Task<List<PreviewTheReadingListOutDto>> GetPreviewTheReadingList(PreviewTheReadingListInDto inDto)
|
||||||
{
|
{
|
||||||
if (await _readingPeriodPlanRepository.AnyAsync(x => x.ReadingPeriodSetId == inDto.ReadingPeriodSetId))
|
if (await _readingPeriodPlanRepository.AnyAsync(x => x.ReadingPeriodSetId == inDto.ReadingPeriodSetId))
|
||||||
{
|
{
|
||||||
return await GetPreviewTheReadingPlanList(inDto);
|
await _readingPeriodPlanRepository.DeleteFromQueryAsync(x => x.ReadingPeriodSetId == inDto.ReadingPeriodSetId);
|
||||||
|
await _readingPeriodPlanRepository.SaveChangesAsync();
|
||||||
}
|
}
|
||||||
var readset = (await _readingPeriodSetRepository.Where(x => x.Id == inDto.ReadingPeriodSetId).Include(x => x.ReadingPeriodSites).FirstOrDefaultAsync()).IfNullThrowConvertException();
|
var readset = (await _readingPeriodSetRepository.Where(x => x.Id == inDto.ReadingPeriodSetId).Include(x => x.ReadingPeriodSites).FirstOrDefaultAsync()).IfNullThrowException();
|
||||||
var visitquery = _subjectVisitRepository.Where(x => x.TrialId == readset.TrialId && x.SubmitState != SubmitStateEnum.None && x.InPlan);
|
var visitquery = _subjectVisitRepository.Where(x => x.TrialId == readset.TrialId && x.InPlan);
|
||||||
if (readset.ReadingScope == ReadingScopeEnum.Site)
|
if (readset.ReadingScope == ReadingScopeEnum.Site)
|
||||||
{
|
{
|
||||||
var siteids = readset.ReadingPeriodSites.Select(x => x.SiteId);
|
var siteids = readset.ReadingPeriodSites.Select(x => x.SiteId);
|
||||||
|
@ -264,7 +264,16 @@ namespace IRaCIS.Application.Services
|
||||||
var plans = _readingPeriodPlanRepository.Where(x => x.ReadingPeriodSetId == indto.Id).Include(x=>x.SubjectVisit)
|
var plans = _readingPeriodPlanRepository.Where(x => x.ReadingPeriodSetId == indto.Id).Include(x=>x.SubjectVisit)
|
||||||
.Include(x => x.ReadingPeriodSet).ToList();
|
.Include(x => x.ReadingPeriodSet).ToList();
|
||||||
|
|
||||||
plans = plans.Where(x => _readModuleRepository.Where(y => x.SubjectVisitId == y.SubjectVisitId && x.ReadingPeriodSet.ReadingSetType == y.ReadingSetType).Count() == 0).ToList();
|
var needAddVisitIds = plans.Select(x => x.SubjectVisitId).ToList();
|
||||||
|
|
||||||
|
var repeatVisitNames = _readModuleRepository.Where(x => x.ReadingSetType == ReadingSetType.ImageReading && needAddVisitIds.Contains(x.SubjectVisitId)).Select(x => x.SubjectVisit.VisitName).ToList();
|
||||||
|
|
||||||
|
if(repeatVisitNames.Count!=0)
|
||||||
|
{
|
||||||
|
return ResponseOutput.NotOk($"{string.Join(",", repeatVisitNames)}已经添加过阅片期,无法设置生效");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
List<ReadModule> readModules = new List<ReadModule>();
|
List<ReadModule> readModules = new List<ReadModule>();
|
||||||
foreach (var item in plans)
|
foreach (var item in plans)
|
||||||
|
|
|
@ -62,8 +62,15 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
//审核状态
|
//审核状态
|
||||||
public AuditStateEnum AuditState { get; set; }
|
public AuditStateEnum AuditState { get; set; }
|
||||||
public ForwardStateEnum ForwardState { get; set; }
|
public ForwardStateEnum ForwardState { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 单审通过人
|
||||||
|
/// </summary>
|
||||||
public Guid? PreliminaryAuditUserId { get; set; }
|
public Guid? PreliminaryAuditUserId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 双审通过人
|
||||||
|
/// </summary>
|
||||||
public Guid? ReviewAuditUserId { get; set; }
|
public Guid? ReviewAuditUserId { get; set; }
|
||||||
public DateTime? ReviewAuditTime { get; set; }
|
public DateTime? ReviewAuditTime { get; set; }
|
||||||
public DateTime? PreliminaryAuditTime { get; set; }
|
public DateTime? PreliminaryAuditTime { get; set; }
|
||||||
|
|
Loading…
Reference in New Issue