@@ -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 });
|
||||
|
||||
|
||||
+1
@@ -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(),
|
||||
|
||||
Reference in New Issue
Block a user