整理数据库实体备注
continuous-integration/drone/push Build is passing

This commit is contained in:
hang
2024-09-20 21:42:18 +08:00
parent 40c8a51a31
commit 3ee0c2ccc7
54 changed files with 359 additions and 226 deletions
@@ -8,7 +8,6 @@ using IRaCIS.Application.Contracts;
using IRaCIS.Core.Application.Interfaces;
using IRaCIS.Core.Application.ViewModel;
using IRaCIS.Core.Domain.Share;
using IRaCIS.Core.Domain.Share.Management;
using IRaCIS.Core.Infra.EFCore.Common;
using MassTransit;
using Microsoft.AspNetCore.Mvc;
@@ -4,7 +4,7 @@
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
//--------------------------------------------------------------------
using IRaCIS.Core.Application.Contracts;
using IRaCIS.Core.Domain.Share.Management;
using IRaCIS.Core.Domain.Share;
namespace IRaCIS.Core.Application.ViewModel
{
@@ -28,8 +28,8 @@ namespace IRaCIS.Core.Application.Service
.WhereIf(inQuery.ApplicableProjectEnum != null, t => t.ApplicableProjectEnum == inQuery.ApplicableProjectEnum)
.WhereIf(inQuery.NoticeLevelEnum != null, t => t.NoticeLevelEnum == inQuery.NoticeLevelEnum)
.WhereIf(inQuery.NoticeModeEnum != null, t => t.NoticeModeEnum == inQuery.NoticeModeEnum)
.WhereIf(inQuery.NoticeStateEnum != null && inQuery.NoticeStateEnum != Domain.Share.Management.SystemNotice_NoticeStateEnum.HaveExpired, t => t.NoticeStateEnum == inQuery.NoticeStateEnum)
.WhereIf(inQuery.NoticeModeEnum != null && inQuery.NoticeStateEnum == Domain.Share.Management.SystemNotice_NoticeStateEnum.HaveExpired, t => t.NoticeStateEnum == Domain.Share.Management.SystemNotice_NoticeStateEnum.HavePublished && t.EndDate != null && t.EndDate < appDateTimeNow)
.WhereIf(inQuery.NoticeStateEnum != null && inQuery.NoticeStateEnum != Domain.Share.SystemNotice_NoticeStateEnum.HaveExpired, t => t.NoticeStateEnum == inQuery.NoticeStateEnum)
.WhereIf(inQuery.NoticeModeEnum != null && inQuery.NoticeStateEnum == Domain.Share.SystemNotice_NoticeStateEnum.HaveExpired, t => t.NoticeStateEnum == Domain.Share.SystemNotice_NoticeStateEnum.HavePublished && t.EndDate != null && t.EndDate < appDateTimeNow)
.WhereIf(inQuery.NoticeTypeEnum != null, t => t.NoticeTypeEnum == inQuery.NoticeTypeEnum)
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.FileName), t => t.FileName.Contains(inQuery.FileName))
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.NoticeContent), t => t.NoticeContent.Contains(inQuery.NoticeContent))
@@ -46,7 +46,7 @@ namespace IRaCIS.Core.Application.Service
{
var entity = await _systemNoticeRepository.InsertFromDTOAsync(addOrEditSystemNotice);
if (entity.NoticeStateEnum == Domain.Share.Management.SystemNotice_NoticeStateEnum.HavePublished)
if (entity.NoticeStateEnum == Domain.Share.SystemNotice_NoticeStateEnum.HavePublished)
{
entity.PublishedUserId = _userInfo.Id;
entity.PublishedTime = DateTime.Now;
@@ -59,12 +59,12 @@ namespace IRaCIS.Core.Application.Service
{
var systemNotice = (await _systemNoticeRepository.Where(t => t.Id == addOrEditSystemNotice.Id, true, true).Include(t => t.NoticeUserTypeList).FirstOrDefaultAsync()).IfNullThrowException();
if (addOrEditSystemNotice.NoticeStateEnum == Domain.Share.Management.SystemNotice_NoticeStateEnum.HavePublished && systemNotice.NoticeStateEnum == Domain.Share.Management.SystemNotice_NoticeStateEnum.NotPublish)
if (addOrEditSystemNotice.NoticeStateEnum == Domain.Share.SystemNotice_NoticeStateEnum.HavePublished && systemNotice.NoticeStateEnum == Domain.Share.SystemNotice_NoticeStateEnum.NotPublish)
{
systemNotice.PublishedUserId = _userInfo.Id;
systemNotice.PublishedTime = DateTime.Now;
}
else if (addOrEditSystemNotice.NoticeStateEnum == Domain.Share.Management.SystemNotice_NoticeStateEnum.NotPublish && systemNotice.NoticeStateEnum == Domain.Share.Management.SystemNotice_NoticeStateEnum.HavePublished)
else if (addOrEditSystemNotice.NoticeStateEnum == Domain.Share.SystemNotice_NoticeStateEnum.NotPublish && systemNotice.NoticeStateEnum == Domain.Share.SystemNotice_NoticeStateEnum.HavePublished)
{
systemNotice.PublishedUserId = null;
systemNotice.PublishedTime = null;
@@ -116,12 +116,12 @@ namespace IRaCIS.Core.Application.Service
var appDateTimeNow = DateTime.Now;
var systemNoticeQueryable = _systemNoticeRepository
.Where(t => t.NoticeUserTypeList.Any(t => t.UserTypeId == _userInfo.UserTypeId) && t.NoticeStateEnum == Domain.Share.Management.SystemNotice_NoticeStateEnum.HavePublished)
.Where(t => t.NoticeUserTypeList.Any(t => t.UserTypeId == _userInfo.UserTypeId) && t.NoticeStateEnum == Domain.Share.SystemNotice_NoticeStateEnum.HavePublished)
.WhereIf(inQuery.ApplicableProjectEnum != null, t => t.ApplicableProjectEnum == inQuery.ApplicableProjectEnum)
.WhereIf(inQuery.NoticeLevelEnum != null, t => t.NoticeLevelEnum == inQuery.NoticeLevelEnum)
.WhereIf(inQuery.NoticeModeEnum != null, t => t.NoticeModeEnum == inQuery.NoticeModeEnum)
.WhereIf(inQuery.NoticeStateEnum != null && inQuery.NoticeStateEnum != Domain.Share.Management.SystemNotice_NoticeStateEnum.HaveExpired, t => t.NoticeStateEnum == inQuery.NoticeStateEnum)
.WhereIf(inQuery.NoticeModeEnum != null && inQuery.NoticeStateEnum == Domain.Share.Management.SystemNotice_NoticeStateEnum.HaveExpired, t => t.NoticeStateEnum == Domain.Share.Management.SystemNotice_NoticeStateEnum.HavePublished && t.EndDate != null && t.EndDate < appDateTimeNow)
.WhereIf(inQuery.NoticeStateEnum != null && inQuery.NoticeStateEnum != Domain.Share.SystemNotice_NoticeStateEnum.HaveExpired, t => t.NoticeStateEnum == inQuery.NoticeStateEnum)
.WhereIf(inQuery.NoticeModeEnum != null && inQuery.NoticeStateEnum == Domain.Share.SystemNotice_NoticeStateEnum.HaveExpired, t => t.NoticeStateEnum == Domain.Share.SystemNotice_NoticeStateEnum.HavePublished && t.EndDate != null && t.EndDate < appDateTimeNow)
.WhereIf(inQuery.NoticeTypeEnum != null, t => t.NoticeTypeEnum == inQuery.NoticeTypeEnum)
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.FileName), t => t.FileName.Contains(inQuery.FileName))
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.NoticeContent), t => t.NoticeContent.Contains(inQuery.NoticeContent))
@@ -137,7 +137,7 @@ namespace IRaCIS.Core.Application.Service
var appDateTimeNow = DateTime.Now;
var query = _systemNoticeRepository
.Where(t => t.NoticeUserTypeList.Any(t => t.UserTypeId == _userInfo.UserTypeId) && t.NoticeStateEnum == Domain.Share.Management.SystemNotice_NoticeStateEnum.HavePublished && !t.NoticeUserReadList.Any(t => t.CreateUserId == _userInfo.Id))
.Where(t => t.NoticeUserTypeList.Any(t => t.UserTypeId == _userInfo.UserTypeId) && t.NoticeStateEnum == Domain.Share.SystemNotice_NoticeStateEnum.HavePublished && !t.NoticeUserReadList.Any(t => t.CreateUserId == _userInfo.Id))
.Where(t => t.EndDate == null || t.EndDate != null && t.EndDate > appDateTimeNow)
.ProjectTo<SystemNoticeView>(_mapper.ConfigurationProvider, new { token = _userInfo.UserToken, userId = _userInfo.Id });
@@ -3,6 +3,7 @@
// 生成时间 2023-03-17 11:58:25
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
//--------------------------------------------------------------------
using IRaCIS.Core.Domain.Share;
using System.ComponentModel.DataAnnotations;
namespace IRaCIS.Core.Application.ViewModel
@@ -0,0 +1,176 @@
using IRaCIS.Core.Domain.Share;
namespace IRaCIS.Core.Domain.Models
{
public class ReadModuleView : Entity
{
/// <summary>
/// Id(阅片期Id 或者 访视ID)
/// </summary>
public new Guid Id { get; set; }
/// <summary>
/// 项目ID
/// </summary>
public Guid? TrialId { get; set; }
/// <summary>
/// 名称
/// </summary>
public string? Name { get; set; }
/// <summary>
/// 受试者ID
/// </summary>
public Guid? SubjectId { get; set; }
/// <summary>
/// 模块类型
/// </summary>
public ModuleTypeEnum ModuleType { get; set; }
/// <summary>
/// 是否加急
/// </summary>
public bool? IsUrgent { get; set; }
/// <summary>
/// 是否可改截止访视
/// </summary>
public bool? IsCanChangeCutOffVisit { get; set; }
/// <summary>
/// 访视ID
/// </summary>
public Guid? SubjectVisitId { get; set; }
/// <summary>
/// 访视名称
/// </summary>
public string? SubjectVisitName { get; set; }
/// <summary>
/// 截止访视
/// </summary>
public Guid? CutOffVisitId { get; set; }
/// <summary>
/// 截止访视名称
/// </summary>
public string? CutOffVisitName { get; set; }
/// <summary>
/// 对应阅片期
/// </summary>
public Guid? ReadModuleId { get; set; }
/// <summary>
/// 对应Name
/// </summary>
public string? ReadModuleName { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime? CreateTime { get; set; }
/// <summary>
/// 受试者Code
/// </summary>
public string? SubjectCode { get; set; }
/// <summary>
/// 项目中心Id
/// </summary>
public string? TrialSiteCode { get; set; }
/// <summary>
/// 是否为末次访视
/// </summary>
public bool? IsFinalVisit { get; set; } = false;
/// <summary>
/// 上一访视
/// </summary>
public Guid? OutPlanPreviousVisitId { get; set; }
/// <summary>
/// 上一访视名称
/// </summary>
public string? OutPlanPreviousVisitName { get; set; }
/// <summary>
/// 中心ID
/// </summary>
public Guid? TrialSiteId { get; set; }
/// <summary>
/// 是否为访视
/// </summary>
public bool? IsVisit { get; set; }
/// <summary>
/// 访视Num
/// </summary>
public decimal? VisitNum { get; set; }
/// <summary>
/// 是否为PD进展
/// </summary>
public PDStateEnum? PDState { get; set; } = PDStateEnum.None;
/// <summary>
/// 入组确认评估
/// </summary>
public bool? IsEnrollmentConfirm { get; set; } = false;
/// <summary>
/// 阅片状态
/// </summary>
public ReadingStatusEnum ReadingStatus { get; set; }
/// <summary>
/// 是否是基线
/// </summary>
public bool? IsBaseLine { get; set; } = false;
/// <summary>
/// 标准Id
/// </summary>
public Guid? TrialReadingCriterionId { get; set; }
/// <summary>
/// 标准名称
/// </summary>
public string? CriterionName { get; set; }
/// <summary>
/// 阅片配置的类型
/// </summary>
public ReadingSetType? ReadingSetType { get; set; }
/// <summary>
/// 需要签名的临床数据数量
/// </summary>
public int NeedSignClinicalDataCount { get; set; }
/// <summary>
/// 已经签名的临床数据数量
/// </summary>
public int SignClinicalDataCount { get; set; }
public CompleteClinicalDataEnum CompleteClinicalData
{
get
{
if (NeedSignClinicalDataCount == 0)
{
return CompleteClinicalDataEnum.NA;
}
else if (NeedSignClinicalDataCount == SignClinicalDataCount)
{
return CompleteClinicalDataEnum.Complete;
}
else
{
return CompleteClinicalDataEnum.NotComplete;
}
}
}
}
}
@@ -1148,7 +1148,7 @@ namespace IRaCIS.Core.Application
// !t.TrialDocConfirmedUserList.Any(t => t.ConfirmUserId == _userInfo.Id && t.ConfirmTime != null)).Count() > 0)
// .Select(t=>new TrialDocNeedSign()
// {
// TrialId=t.Id,
// TrialId=t.Id,
// TrialCode=t.TrialCode,
// ExperimentName=t.ExperimentName,
// ResearchProgramNo=t.ResearchProgramNo,
@@ -1172,7 +1172,7 @@ namespace IRaCIS.Core.Application
TrialSignedDocCount = signedTrialCount,
SysSignedDocCount = signedSysDocCont,
SysNoticeUnReadCount = await _systemNoticeRepository.Where(t => t.NoticeUserTypeList.Any(t => t.UserTypeId == _userInfo.UserTypeId) && t.NoticeStateEnum == Domain.Share.Management.SystemNotice_NoticeStateEnum.HavePublished
SysNoticeUnReadCount = await _systemNoticeRepository.Where(t => t.NoticeUserTypeList.Any(t => t.UserTypeId == _userInfo.UserTypeId) && t.NoticeStateEnum == Domain.Share.SystemNotice_NoticeStateEnum.HavePublished
&& !t.NoticeUserReadList.Any(t => t.CreateUserId == _userInfo.Id))
.Where(t => t.EndDate == null || t.EndDate != null && t.EndDate > appDateTimeNow)
.CountAsync(),