391 lines
9.6 KiB
C#
391 lines
9.6 KiB
C#
using Castle.Core.Internal;
|
|
using IRaCIS.Application.Contracts;
|
|
using IRaCIS.Core.Application.Contracts;
|
|
using IRaCIS.Core.Application.Contracts.DTO;
|
|
using IRaCIS.Core.Domain.Share;
|
|
using Newtonsoft.Json;
|
|
using Newtonsoft.Json.Converters;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace IRaCIS.Core.Application.Service.Inspection.DTO
|
|
{
|
|
|
|
|
|
|
|
|
|
public class DataInspectionAddDTO
|
|
{
|
|
|
|
public Guid? TrialId { get; set; }
|
|
public Guid? SiteId { get; set; }
|
|
public Guid? SubjectId { get; set; }
|
|
public Guid? SubjectVisitId { get; set; }
|
|
public string ModuleType { get; set; } = string.Empty;
|
|
public string OptType { get; set; } = string.Empty;
|
|
|
|
|
|
|
|
public string BlindName { get; set; } = string.Empty;
|
|
public string Reason { get; set; } = string.Empty;
|
|
|
|
|
|
/// <summary>
|
|
/// 子类
|
|
/// </summary>
|
|
public string ChildrenType { get; set; } = string.Empty;
|
|
public bool IsSign { get; set; }
|
|
public string JsonDetail { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 创建人名称
|
|
/// </summary>
|
|
public string CreateUserName { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 项目名称
|
|
/// </summary>
|
|
public string TrialName { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 中心名称
|
|
/// </summary>
|
|
public string SiteName { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 受试者Code
|
|
/// </summary>
|
|
public string SubjectCode { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 访视名称
|
|
/// </summary>
|
|
public string SubjectVisitName { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 角色名称
|
|
/// </summary>
|
|
public string RoleName { get; set; } = string.Empty;
|
|
|
|
|
|
/// <summary>
|
|
/// 中心Code
|
|
/// </summary>
|
|
public string SiteCode { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 项目编码
|
|
/// </summary>
|
|
public string ResearchProgramNo { get; set; } = string.Empty;
|
|
|
|
public List<EnumList> EnumList { get; set; }=new List<EnumList> { };
|
|
|
|
|
|
/// <summary>
|
|
/// 对象名称
|
|
/// </summary>
|
|
public string ObjectType { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 标识
|
|
/// </summary>
|
|
public string Identification { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 访视计划ID
|
|
/// </summary>
|
|
public Guid? VisitStageId { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
/// 通用ID
|
|
/// </summary>
|
|
public Guid? GeneralId { get; set; }
|
|
|
|
|
|
|
|
////需要单独处理
|
|
//public string IP { get; set; }
|
|
|
|
public DateTime? CreateTime { get; set; }
|
|
|
|
}
|
|
|
|
|
|
public class EnumList
|
|
{
|
|
public string Key { get; set; } = string.Empty;
|
|
|
|
public string Code { get; set; } = string.Empty;
|
|
|
|
public string Type { get; set; } = string.Empty;
|
|
}
|
|
|
|
public interface IInspectionDTO
|
|
{
|
|
public DataInspectionAddDTO AuditInfo { get; set; }
|
|
}
|
|
|
|
public interface ISignDTO
|
|
{
|
|
public SignDTO SignInfo { get; set; }
|
|
|
|
}
|
|
|
|
#region Setting
|
|
/// <summary>
|
|
/// 配置 基础逻辑信息
|
|
/// </summary>
|
|
public class InsBasicTrialConfig : InspectionBase, IInspectionDTO, ISignDTO
|
|
{
|
|
public BasicTrialConfig OptCommand { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// 配置流程
|
|
/// </summary>
|
|
public class InsTrialProcessConfig : InspectionBase, IInspectionDTO, ISignDTO
|
|
{
|
|
public TrialProcessConfig OptCommand { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// 配置加急信息
|
|
/// </summary>
|
|
public class InsTrialUrgentConfig : InspectionBase, IInspectionDTO, ISignDTO
|
|
{
|
|
public TrialUrgentConfig OptCommand { get; set; }
|
|
}
|
|
#endregion
|
|
|
|
public class SetCheckPassDto
|
|
{
|
|
public Guid qcChallengeId { get; set; }
|
|
public Guid subjectVisitId { get; set; }
|
|
public QCChallengeCloseEnum closeEnum { get; set; }
|
|
public string closeReason { get; set; }
|
|
}
|
|
|
|
public class CloseQCChallengeDto
|
|
{
|
|
public Guid qcChallengeId { get; set; }
|
|
public Guid subjectVisitId { get; set; }
|
|
public QCChallengeCloseEnum closeEnum { get; set; }
|
|
public string closeReason { get; set; }
|
|
}
|
|
|
|
public class AddOrUpdateQCChallengeDto
|
|
{
|
|
public QCChallengeCommand qaQuestionCommand { get; set; }
|
|
public Guid trialId { get; set; }
|
|
public TrialQCProcess trialQCProcess { get; set; }
|
|
public CurrentQC currentQCType { get; set; }
|
|
}
|
|
|
|
public class AddOrUpdateQCQuestionAnswerListDto
|
|
{
|
|
public QCQuestionAnswerCommand[] qcQuestionAnswerCommands { get; set; }
|
|
public Guid trialId { get; set; }
|
|
public Guid subjectVisitId { get; set; }
|
|
public TrialQCProcess trialQCProcess { get; set; }
|
|
public CurrentQC currentQCType { get; set; }
|
|
|
|
}
|
|
|
|
|
|
public class ObtainOrCancelQCTaskDto
|
|
{
|
|
public Guid trialId { get; set; }
|
|
public Guid subjectVisitId { get; set; }
|
|
public bool obtaionOrCancel { get; set; }
|
|
}
|
|
|
|
public class DataInspectionDto<T> : IInspectionDTO, ISignDTO
|
|
{
|
|
|
|
|
|
|
|
public T OptCommand { get; set; }
|
|
|
|
|
|
public DataInspectionAddDTO AuditInfo
|
|
{
|
|
get
|
|
{
|
|
if (auditInfo.JsonDetail.IsNullOrEmpty())
|
|
{
|
|
IsoDateTimeConverter timeFormat = new IsoDateTimeConverter();
|
|
timeFormat.DateTimeFormat = "yyyy-MM-dd";
|
|
auditInfo.JsonDetail = JsonConvert.SerializeObject(OptCommand, Newtonsoft.Json.Formatting.Indented, timeFormat);
|
|
}
|
|
|
|
return auditInfo;
|
|
}
|
|
set
|
|
{
|
|
auditInfo = value;
|
|
}
|
|
}
|
|
|
|
private DataInspectionAddDTO auditInfo=new DataInspectionAddDTO ();
|
|
|
|
public SignDTO SignInfo { get; set; } = new SignDTO() { };
|
|
}
|
|
|
|
#region Qc
|
|
public class DeleteStudyList
|
|
{
|
|
public Guid[] ids { get; set; }
|
|
public Guid subjectVisitId { get; set; }
|
|
public Guid trialId { get; set; }
|
|
}
|
|
#endregion
|
|
|
|
#region 受试者
|
|
public class InsSubjectCommand : InspectionBase, IInspectionDTO, ISignDTO
|
|
{
|
|
public SubjectCommand OptCommand { get; set; }
|
|
}
|
|
|
|
public class InsUpdateSubjectStatus : InspectionBase, IInspectionDTO, ISignDTO
|
|
{
|
|
public SubjectStatusChangeCommand OptCommand { get; set; }
|
|
}
|
|
|
|
|
|
public class InsDeleteSubjectDto : InspectionBase, IInspectionDTO, ISignDTO
|
|
{
|
|
public DeleteSubjectDto OptCommand { get; set; }
|
|
}
|
|
|
|
|
|
public class DeleteSubjectDto
|
|
{
|
|
public Guid SubjectId { get; set; }
|
|
|
|
public Guid TrialId { get; set; }
|
|
|
|
public Guid SiteId { get; set; }
|
|
|
|
public string Code { get; set; } = string.Empty;
|
|
}
|
|
|
|
#endregion
|
|
|
|
/// <summary>
|
|
/// 用户 签名某个文档 Dto
|
|
/// </summary>
|
|
public class TrialDocumentConfirmDTO : InspectionBase, IInspectionDTO, ISignDTO
|
|
{
|
|
|
|
public UserConfirmCommand OptCommand { get; set; }
|
|
|
|
}
|
|
|
|
public class GetDataInspectionOutDto : DataInspection
|
|
{
|
|
public string ExperimentName { get; set; } = string.Empty;
|
|
|
|
|
|
|
|
public string FirstName { get; set; } = string.Empty;
|
|
|
|
public string LastName { get; set; } = string.Empty;
|
|
|
|
public string VisitName { get; set; } = string.Empty;
|
|
|
|
public string ParentJson { get; set; } = string.Empty;
|
|
|
|
public string CreateUser { get; set; } = string.Empty;
|
|
public string UserFirstName { get; set; } = string.Empty;
|
|
public string UserLastName { get; set; } = string.Empty;
|
|
public string Description { get; set; } = string.Empty;
|
|
|
|
public string ModuleTypeName { get; set; } = string.Empty;
|
|
|
|
|
|
public string SignText { get; set; } = string.Empty;
|
|
|
|
public decimal? VisitNum { get; set; }
|
|
|
|
|
|
}
|
|
|
|
|
|
public class GetDataInspectionDto : PageInput
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
/// 项目iD
|
|
/// </summary>
|
|
public Guid? TrialId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 中心
|
|
/// </summary>
|
|
public Guid? SiteId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 受试者
|
|
/// </summary>
|
|
public string SubjectInfo { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public decimal? VisitPlanInfo { get; set; }
|
|
|
|
/// <summary>
|
|
/// 开始时间
|
|
/// </summary>
|
|
public DateTime? StartTime { get; set; }
|
|
|
|
/// <summary>
|
|
/// 结束时间
|
|
/// </summary>
|
|
public DateTime? EndTime { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// 功能模块
|
|
/// </summary>
|
|
public string ModuleType { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// Description
|
|
/// </summary>
|
|
public string Description { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 操作人名称模糊查询
|
|
/// </summary>
|
|
public string OpByUserName { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 阅读片人
|
|
/// </summary>
|
|
public string ReaderUser { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 是否有签名
|
|
/// </summary>
|
|
public bool? IsSign { get; set; }
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
public class InspectionBase
|
|
{
|
|
public DataInspectionAddDTO AuditInfo { get; set; }
|
|
|
|
public SignDTO SignInfo { get; set; } = new SignDTO();
|
|
}
|
|
}
|