diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index aaacd0f7d..0d1c6e36a 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -1480,6 +1480,13 @@
+
+
+ 修改授权状态
+
+
+
+
项目定稿记录
@@ -14176,11 +14183,41 @@
TrialEmailNoticeConfigAddOrEdit 列表查询参数模型
+
+
+ 是否授权
+
+
+
+
+ 是否授权
+
+
显示顺序
+
+
+ 定稿PDF
+
+
+
+
+ 定稿Word
+
+
+
+
+ 签名页
+
+
+
+
+ 历史记录
+
+
SystemAnonymizationView 列表视图模型
diff --git a/IRaCIS.Core.Application/Service/Document/DTO/TrialFileTypeViewModel.cs b/IRaCIS.Core.Application/Service/Document/DTO/TrialFileTypeViewModel.cs
index 96df40538..399200c29 100644
--- a/IRaCIS.Core.Application/Service/Document/DTO/TrialFileTypeViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Document/DTO/TrialFileTypeViewModel.cs
@@ -32,12 +32,21 @@ public class TrialFileTypeData
public List TrialFileTypeList { get; set; }
}
+public class SetAuthorizedViewInDto
+{
+ public Guid Id { get; set; }
+
+ public bool IsAuthorizedView { get; set; }
+}
public class GetTrialFileTypeDataInDto
{
public Guid TrialId { get; set; }
- public bool IsCheck { get; set; } = false;
+ ///
+ /// 是否授权
+ ///
+ public bool IsAuthorizedView { get; set; } = false;
}
public class CopySystemFileTypeToTrialInDto
{
@@ -82,6 +91,11 @@ public class TrialFileTypeAddOrEdit
public Guid TrialId { get; set; }
+ ///
+ /// 是否授权
+ ///
+ public bool IsAuthorizedView { get; set; }
+
///
/// 显示顺序
///
diff --git a/IRaCIS.Core.Application/Service/Document/DTO/TrialFinalRecordViewModel.cs b/IRaCIS.Core.Application/Service/Document/DTO/TrialFinalRecordViewModel.cs
index a3eb2f885..442e610ae 100644
--- a/IRaCIS.Core.Application/Service/Document/DTO/TrialFinalRecordViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Document/DTO/TrialFinalRecordViewModel.cs
@@ -7,6 +7,7 @@
using System;
using IRaCIS.Core.Domain.Share;
using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations.Schema;
namespace IRaCIS.Core.Application.ViewModel;
public class TrialFinalRecordView : TrialFinalRecordAddOrEdit
@@ -23,15 +24,15 @@ public class TrialFinalRecordAddOrEdit
{
public Guid? Id { get; set; }
- public Guid HistoryFileRecordId { get; set; }
+ public Guid? HistoryFileRecordId { get; set; }
public bool IsAuthorizedView { get; set; }
public string Name { get; set; }
- public Guid PDFFileRecordId { get; set; }
+ public Guid? PDFFileRecordId { get; set; }
- public Guid SignFileRecordId { get; set; }
+ public Guid? SignFileRecordId { get; set; }
public int State { get; set; }
@@ -41,8 +42,28 @@ public class TrialFinalRecordAddOrEdit
public string Version { get; set; }
- public Guid WordFileRecordId { get; set; }
- }
+ public Guid? WordFileRecordId { get; set; }
+
+ ///
+ /// 定稿PDF
+ ///
+ public TrialFile PDFFileRecord { get; set; }
+
+ ///
+ /// 定稿Word
+ ///
+ public TrialFile WordFileRecord { get; set; }
+
+ ///
+ /// 签名页
+ ///
+ public TrialFile SignFileRecord { get; set; }
+
+ ///
+ /// 历史记录
+ ///
+ public TrialFile HistoryFileRecord { get; set; }
+}
public class TrialFinalRecordQuery : PageInput
{
@@ -51,10 +72,7 @@ public class TrialFinalRecordQuery : PageInput
public bool? IsAuthorizedView { get; set; }
public string? Name { get; set; }
-
- public Guid? PDFFileRecordId { get; set; }
-
- public Guid? SignFileRecordId { get; set; }
+
public int? State { get; set; }
diff --git a/IRaCIS.Core.Application/Service/Document/TrialFileTypeService.cs b/IRaCIS.Core.Application/Service/Document/TrialFileTypeService.cs
index 76ee14301..b774466b5 100644
--- a/IRaCIS.Core.Application/Service/Document/TrialFileTypeService.cs
+++ b/IRaCIS.Core.Application/Service/Document/TrialFileTypeService.cs
@@ -138,7 +138,7 @@ public class TrialFileTypeService(IRepository _trialFileTypeRepos
TrialId = inDto.TrialId
});
var trialFileTypeList = await _trialFileTypeRepository.Where(x=>x.TrialId==inDto.TrialId)
- .WhereIf(inDto.IsCheck, x => x.IsEnable)
+ .WhereIf(inDto.IsAuthorizedView, x => x.IsAuthorizedView)
.OrderBy(x=>x.ShowOrder)
.ProjectTo(_mapper.ConfigurationProvider)
.ToListAsync();
@@ -153,6 +153,18 @@ public class TrialFileTypeService(IRepository _trialFileTypeRepos
}
+ ///
+ /// 修改授权状态
+ ///
+ ///
+ ///
+ [HttpPost]
+ public async Task SetAuthorizedView(SetAuthorizedViewInDto inDto)
+ {
+ await _trialFileTypeRepository.UpdatePartialFromQueryAsync(x => x.Id == inDto.Id, x => new TrialFileType() { IsAuthorizedView = inDto.IsAuthorizedView }, true);
+ return ResponseOutput.Ok();
+ }
+
}
diff --git a/IRaCIS.Core.Application/Service/Document/TrialFinalRecordService.cs b/IRaCIS.Core.Application/Service/Document/TrialFinalRecordService.cs
index 62a68d88f..10151548c 100644
--- a/IRaCIS.Core.Application/Service/Document/TrialFinalRecordService.cs
+++ b/IRaCIS.Core.Application/Service/Document/TrialFinalRecordService.cs
@@ -27,13 +27,16 @@ public class TrialFinalRecordService(IRepository _trialFinalRe
[HttpPost]
- public async Task> GetTrialFinalRecordList(TrialFinalRecordQuery inQuery)
+ public async Task> GetTrialFinalRecordList(TrialFinalRecordQuery inDto)
{
var trialFinalRecordQueryable = _trialFinalRecordRepository
- .ProjectTo(_mapper.ConfigurationProvider);
+ .WhereIf(inDto.Name.IsNotNullOrEmpty(),x=>x.Name.Contains(inDto.Name))
+ .WhereIf(inDto.Version.IsNotNullOrEmpty(), x => x.Version.Contains(inDto.Version))
+ .WhereIf(inDto.IsAuthorizedView!=null, x => x.IsAuthorizedView==inDto.IsAuthorizedView)
+ .ProjectTo(_mapper.ConfigurationProvider);
- var pageList = await trialFinalRecordQueryable.ToPagedListAsync(inQuery);
+ var pageList = await trialFinalRecordQueryable.ToPagedListAsync(inDto);
return pageList;
}
diff --git a/IRaCIS.Core.Domain/FileRecord/FileType.cs b/IRaCIS.Core.Domain/FileRecord/FileType.cs
index cc31f7e8c..ae48dbd2c 100644
--- a/IRaCIS.Core.Domain/FileRecord/FileType.cs
+++ b/IRaCIS.Core.Domain/FileRecord/FileType.cs
@@ -127,6 +127,8 @@ public class TrialFileType : BaseFullAuditEntity
[Comment("是否确认收入项")]
public bool IsConfirmRecord { get; set; }
+ [Comment("是否授权查看")]
+ public bool IsAuthorizedView { get; set; }
[Comment("首次定稿日期")]
public DateOnly FirstFinalDate { get; set; }
diff --git a/IRaCIS.Core.Domain/FileRecord/TrialRecord.cs b/IRaCIS.Core.Domain/FileRecord/TrialRecord.cs
index 5afd74db1..b82ef7db8 100644
--- a/IRaCIS.Core.Domain/FileRecord/TrialRecord.cs
+++ b/IRaCIS.Core.Domain/FileRecord/TrialRecord.cs
@@ -12,6 +12,37 @@ namespace IRaCIS.Core.Domain.Models;
[Table("TrialFinalRecord")]
public class TrialFinalRecord : BaseFullAuditEntity
{
+
+ #region 文件
+ ///
+ /// 定稿PDF
+ ///
+ [ForeignKey("PDFFileRecordId")]
+ public TrialFile PDFFileRecord { get; set; }
+
+ ///
+ /// 定稿Word
+ ///
+ [ForeignKey("WordFileRecordId")]
+ public TrialFile WordFileRecord { get; set; }
+
+ ///
+ /// 签名页
+ ///
+ [ForeignKey("SignFileRecordId")]
+ public TrialFile SignFileRecord { get; set; }
+
+ ///
+ /// 历史记录
+ ///
+ [ForeignKey("HistoryFileRecordId")]
+ public TrialFile HistoryFileRecord { get; set; }
+ #endregion
+
+
+
+
+
public Guid TrialId { get; set; }
[Comment("关联项目文件类型")]
@@ -32,16 +63,16 @@ public class TrialFinalRecord : BaseFullAuditEntity
[Comment("定稿PDF")]
- public Guid PDFFileRecordId { get; set; }
+ public Guid? PDFFileRecordId { get; set; }
[Comment("定稿Word")]
- public Guid WordFileRecordId { get; set; }
+ public Guid? WordFileRecordId { get; set; }
[Comment("签名页")]
- public Guid SignFileRecordId { get; set; }
+ public Guid? SignFileRecordId { get; set; }
[Comment("历史记录")]
- public Guid HistoryFileRecordId { get; set; }
+ public Guid? HistoryFileRecordId { get; set; }
}