diff --git a/IRaCIS.Core.API/_ServiceExtensions/SwaggerSetup.cs b/IRaCIS.Core.API/_ServiceExtensions/SwaggerSetup.cs
index a430b2709..367b461da 100644
--- a/IRaCIS.Core.API/_ServiceExtensions/SwaggerSetup.cs
+++ b/IRaCIS.Core.API/_ServiceExtensions/SwaggerSetup.cs
@@ -16,6 +16,9 @@ namespace IRaCIS.Core.API;
public enum SwaggerVersion
{
+ [Description("文件记录")]
+ FileRecord = -1,
+
[Description("医生模块")]
Reviewer = 1,
[Description("项目模块")]
diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index 60e6d8733..0f5ae1457 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -1334,6 +1334,24 @@
+
+
+ 系统文件类型
+
+
+
+
+
+
+
+
+ 系统文件类型
+
+
+
+
+
+
TrialEmailNoticeConfigService
@@ -1423,6 +1441,78 @@
+
+
+ 项目文件类型
+
+
+
+
+
+
+
+
+ 项目文件类型
+
+
+
+
+
+
+
+
+ 项目定稿记录
+
+
+
+
+
+
+
+
+ 项目定稿记录
+
+
+
+
+
+
+
+
+ 项目-一般文件记录
+
+
+
+
+
+
+
+
+ 项目-一般文件记录
+
+
+
+
+
+
+
+
+ 项目-培训记录
+
+
+
+
+
+
+
+
+ 项目-培训记录
+
+
+
+
+
+
获取某个月下的某些医生最终确认的工作量,用于计算月度费用
diff --git a/IRaCIS.Core.Application/Service/Document/DTO/SysFileTypeViewModel.cs b/IRaCIS.Core.Application/Service/Document/DTO/SysFileTypeViewModel.cs
new file mode 100644
index 000000000..1ed826be5
--- /dev/null
+++ b/IRaCIS.Core.Application/Service/Document/DTO/SysFileTypeViewModel.cs
@@ -0,0 +1,56 @@
+
+//--------------------------------------------------------------------
+// 此代码由liquid模板自动生成 byzhouhang 20240909
+// 生成时间 2025-02-21 07:47:30Z
+// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
+//--------------------------------------------------------------------
+using System;
+using IRaCIS.Core.Domain.Share;
+using System.Collections.Generic;
+namespace IRaCIS.Core.Application.ViewModel;
+
+public class SysFileTypeView : SysFileTypeAddOrEdit
+{
+
+ public DateTime CreateTime { get; set; }
+
+ public DateTime UpdateTime { get; set; }
+
+}
+
+
+public class SysFileTypeAddOrEdit
+{
+ public Guid? Id { get; set; }
+
+ public ArchiveType ArchiveTypeEnum { get; set; }
+
+ public bool IsConfirmRecord { get; set; }
+
+ public bool IsEnable { get; set; }
+
+ public string Name { get; set; }
+
+ public string NameCN { get; set; }
+
+ public int SubIdentification { get; set; }
+}
+
+public class SysFileTypeQuery : PageInput
+{
+ public ArchiveType? ArchiveTypeEnum { get; set; }
+
+ public bool? IsConfirmRecord { get; set; }
+
+ public bool? IsEnable { get; set; }
+
+ public string? Name { get; set; }
+
+ public string? NameCN { get; set; }
+
+ public int? SubIdentification { get; set; }
+}
+
+
+
+
diff --git a/IRaCIS.Core.Application/Service/Document/DTO/TrialFileTypeViewModel.cs b/IRaCIS.Core.Application/Service/Document/DTO/TrialFileTypeViewModel.cs
new file mode 100644
index 000000000..640bc3003
--- /dev/null
+++ b/IRaCIS.Core.Application/Service/Document/DTO/TrialFileTypeViewModel.cs
@@ -0,0 +1,72 @@
+
+//--------------------------------------------------------------------
+// 此代码由liquid模板自动生成 byzhouhang 20240909
+// 生成时间 2025-02-21 07:47:30Z
+// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
+//--------------------------------------------------------------------
+using System;
+using IRaCIS.Core.Domain.Share;
+using System.Collections.Generic;
+namespace IRaCIS.Core.Application.ViewModel;
+
+public class TrialFileTypeView : TrialFileTypeAddOrEdit
+{
+
+ public DateTime CreateTime { get; set; }
+
+ public DateTime UpdateTime { get; set; }
+
+}
+
+
+public class TrialFileTypeAddOrEdit
+{
+ public Guid? Id { get; set; }
+
+ public ArchiveType ArchiveTypeEnum { get; set; }
+
+ public DateOnly FirstFinalDate { get; set; }
+
+ public bool IsConfirmRecord { get; set; }
+
+ public bool IsEnable { get; set; }
+
+ public bool IsSelfDefine { get; set; }
+
+ public string Name { get; set; }
+
+ public string NameCN { get; set; }
+
+ public int SubIdentification { get; set; }
+
+ public Guid? SysFileTypeId { get; set; }
+
+ public Guid TrialId { get; set; }
+ }
+
+public class TrialFileTypeQuery : PageInput
+{
+ public ArchiveType? ArchiveTypeEnum { get; set; }
+
+ public DateOnly? FirstFinalDate { get; set; }
+
+ public bool? IsConfirmRecord { get; set; }
+
+ public bool? IsEnable { get; set; }
+
+ public bool? IsSelfDefine { get; set; }
+
+ public string? Name { get; set; }
+
+ public string? NameCN { get; set; }
+
+ public int? SubIdentification { get; set; }
+
+ public Guid? SysFileTypeId { get; set; }
+
+ public Guid? TrialId { get; set; }
+ }
+
+
+
+
diff --git a/IRaCIS.Core.Application/Service/Document/DTO/TrialFinalRecordViewModel.cs b/IRaCIS.Core.Application/Service/Document/DTO/TrialFinalRecordViewModel.cs
new file mode 100644
index 000000000..a3eb2f885
--- /dev/null
+++ b/IRaCIS.Core.Application/Service/Document/DTO/TrialFinalRecordViewModel.cs
@@ -0,0 +1,72 @@
+
+//--------------------------------------------------------------------
+// 此代码由liquid模板自动生成 byzhouhang 20240909
+// 生成时间 2025-02-21 07:47:30Z
+// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
+//--------------------------------------------------------------------
+using System;
+using IRaCIS.Core.Domain.Share;
+using System.Collections.Generic;
+namespace IRaCIS.Core.Application.ViewModel;
+
+public class TrialFinalRecordView : TrialFinalRecordAddOrEdit
+{
+
+ public DateTime CreateTime { get; set; }
+
+ public DateTime UpdateTime { get; set; }
+
+}
+
+
+public class TrialFinalRecordAddOrEdit
+{
+ public Guid? Id { get; set; }
+
+ public Guid HistoryFileRecordId { get; set; }
+
+ 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; }
+
+ public Guid TrialFileTypeId { get; set; }
+
+ public Guid TrialId { get; set; }
+
+ public string Version { get; set; }
+
+ public Guid WordFileRecordId { get; set; }
+ }
+
+public class TrialFinalRecordQuery : PageInput
+{
+ public Guid? HistoryFileRecordId { get; set; }
+
+ 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; }
+
+ public Guid? TrialFileTypeId { get; set; }
+
+ public Guid? TrialId { get; set; }
+
+ public string? Version { get; set; }
+
+ public Guid? WordFileRecordId { get; set; }
+ }
+
+
+
+
diff --git a/IRaCIS.Core.Application/Service/Document/DTO/TrialNormalRecordViewModel.cs b/IRaCIS.Core.Application/Service/Document/DTO/TrialNormalRecordViewModel.cs
new file mode 100644
index 000000000..65ebced91
--- /dev/null
+++ b/IRaCIS.Core.Application/Service/Document/DTO/TrialNormalRecordViewModel.cs
@@ -0,0 +1,56 @@
+
+//--------------------------------------------------------------------
+// 此代码由liquid模板自动生成 byzhouhang 20240909
+// 生成时间 2025-02-21 07:47:30Z
+// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
+//--------------------------------------------------------------------
+using System;
+using IRaCIS.Core.Domain.Share;
+using System.Collections.Generic;
+namespace IRaCIS.Core.Application.ViewModel;
+
+public class TrialNormalRecordView : TrialNormalRecordAddOrEdit
+{
+
+ public DateTime CreateTime { get; set; }
+
+ public DateTime UpdateTime { get; set; }
+
+}
+
+
+public class TrialNormalRecordAddOrEdit
+{
+ public Guid? Id { get; set; }
+
+ public bool IsAuthorizedView { get; set; }
+
+ public int? ReviewerFileType { get; set; }
+
+ public int State { get; set; }
+
+ public Guid TrialFileRecordId { get; set; }
+
+ public Guid TrialFileTypeId { get; set; }
+
+ public Guid TrialId { get; set; }
+ }
+
+public class TrialNormalRecordQuery : PageInput
+{
+ public bool? IsAuthorizedView { get; set; }
+
+ public int? ReviewerFileType { get; set; }
+
+ public int? State { get; set; }
+
+ public Guid? TrialFileRecordId { get; set; }
+
+ public Guid? TrialFileTypeId { get; set; }
+
+ public Guid? TrialId { get; set; }
+ }
+
+
+
+
diff --git a/IRaCIS.Core.Application/Service/Document/DTO/TrialTrianingRecordViewModel.cs b/IRaCIS.Core.Application/Service/Document/DTO/TrialTrianingRecordViewModel.cs
new file mode 100644
index 000000000..cef94301d
--- /dev/null
+++ b/IRaCIS.Core.Application/Service/Document/DTO/TrialTrianingRecordViewModel.cs
@@ -0,0 +1,68 @@
+
+//--------------------------------------------------------------------
+// 此代码由liquid模板自动生成 byzhouhang 20240909
+// 生成时间 2025-02-21 07:47:30Z
+// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
+//--------------------------------------------------------------------
+using System;
+using IRaCIS.Core.Domain.Share;
+using System.Collections.Generic;
+namespace IRaCIS.Core.Application.ViewModel;
+
+public class TrialTrianingRecordView : TrialTrianingRecordAddOrEdit
+{
+
+ public DateTime CreateTime { get; set; }
+
+ public DateTime UpdateTime { get; set; }
+
+}
+
+
+public class TrialTrianingRecordAddOrEdit
+{
+ public Guid? Id { get; set; }
+
+ public bool IsAuthorizedView { get; set; }
+
+ public string Note { get; set; }
+
+ public int State { get; set; }
+
+ public Guid TrialFileRecordId { get; set; }
+
+ public Guid TrialFileTypeId { get; set; }
+
+ public Guid TrialId { get; set; }
+
+ public int TrianingCount { get; set; }
+
+ public DateOnly TrianingDate { get; set; }
+
+ public int TrianingState { get; set; }
+ }
+
+public class TrialTrianingRecordQuery : PageInput
+{
+ public bool? IsAuthorizedView { get; set; }
+
+ public string? Note { get; set; }
+
+ public int? State { get; set; }
+
+ public Guid? TrialFileRecordId { get; set; }
+
+ public Guid? TrialFileTypeId { get; set; }
+
+ public Guid? TrialId { get; set; }
+
+ public int? TrianingCount { get; set; }
+
+ public DateOnly? TrianingDate { get; set; }
+
+ public int? TrianingState { get; set; }
+ }
+
+
+
+
diff --git a/IRaCIS.Core.Application/Service/Document/Interface/ISysFileTypeService.cs b/IRaCIS.Core.Application/Service/Document/Interface/ISysFileTypeService.cs
new file mode 100644
index 000000000..8dcf8446a
--- /dev/null
+++ b/IRaCIS.Core.Application/Service/Document/Interface/ISysFileTypeService.cs
@@ -0,0 +1,23 @@
+
+//--------------------------------------------------------------------
+// 此代码由liquid模板自动生成 byzhouhang 20240909
+// 生成时间 2025-02-21 07:47:30Z
+// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
+//--------------------------------------------------------------------
+using System;
+using IRaCIS.Core.Infrastructure.Extention;
+using System.Threading.Tasks;
+using IRaCIS.Core.Application.ViewModel;
+namespace IRaCIS.Core.Application.Interfaces;
+
+public interface ISysFileTypeService
+{
+
+ Task> GetSysFileTypeList(SysFileTypeQuery inQuery);
+
+ Task AddOrUpdateSysFileType(SysFileTypeAddOrEdit addOrEditSysFileType);
+
+ Task DeleteSysFileType(Guid sysFileTypeId);
+}
+
+
diff --git a/IRaCIS.Core.Application/Service/Document/Interface/ITrialFileTypeService.cs b/IRaCIS.Core.Application/Service/Document/Interface/ITrialFileTypeService.cs
new file mode 100644
index 000000000..7af6d0346
--- /dev/null
+++ b/IRaCIS.Core.Application/Service/Document/Interface/ITrialFileTypeService.cs
@@ -0,0 +1,23 @@
+
+//--------------------------------------------------------------------
+// 此代码由liquid模板自动生成 byzhouhang 20240909
+// 生成时间 2025-02-21 07:47:30Z
+// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
+//--------------------------------------------------------------------
+using System;
+using IRaCIS.Core.Infrastructure.Extention;
+using System.Threading.Tasks;
+using IRaCIS.Core.Application.ViewModel;
+namespace IRaCIS.Core.Application.Interfaces;
+
+public interface ITrialFileTypeService
+{
+
+ Task> GetTrialFileTypeList(TrialFileTypeQuery inQuery);
+
+ Task AddOrUpdateTrialFileType(TrialFileTypeAddOrEdit addOrEditTrialFileType);
+
+ Task DeleteTrialFileType(Guid trialFileTypeId);
+}
+
+
diff --git a/IRaCIS.Core.Application/Service/Document/Interface/ITrialFinalRecordService.cs b/IRaCIS.Core.Application/Service/Document/Interface/ITrialFinalRecordService.cs
new file mode 100644
index 000000000..46dc53fca
--- /dev/null
+++ b/IRaCIS.Core.Application/Service/Document/Interface/ITrialFinalRecordService.cs
@@ -0,0 +1,23 @@
+
+//--------------------------------------------------------------------
+// 此代码由liquid模板自动生成 byzhouhang 20240909
+// 生成时间 2025-02-21 07:47:30Z
+// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
+//--------------------------------------------------------------------
+using System;
+using IRaCIS.Core.Infrastructure.Extention;
+using System.Threading.Tasks;
+using IRaCIS.Core.Application.ViewModel;
+namespace IRaCIS.Core.Application.Interfaces;
+
+public interface ITrialFinalRecordService
+{
+
+ Task> GetTrialFinalRecordList(TrialFinalRecordQuery inQuery);
+
+ Task AddOrUpdateTrialFinalRecord(TrialFinalRecordAddOrEdit addOrEditTrialFinalRecord);
+
+ Task DeleteTrialFinalRecord(Guid trialFinalRecordId);
+}
+
+
diff --git a/IRaCIS.Core.Application/Service/Document/Interface/ITrialNormalRecordService.cs b/IRaCIS.Core.Application/Service/Document/Interface/ITrialNormalRecordService.cs
new file mode 100644
index 000000000..1e50fd3df
--- /dev/null
+++ b/IRaCIS.Core.Application/Service/Document/Interface/ITrialNormalRecordService.cs
@@ -0,0 +1,23 @@
+
+//--------------------------------------------------------------------
+// 此代码由liquid模板自动生成 byzhouhang 20240909
+// 生成时间 2025-02-21 07:47:30Z
+// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
+//--------------------------------------------------------------------
+using System;
+using IRaCIS.Core.Infrastructure.Extention;
+using System.Threading.Tasks;
+using IRaCIS.Core.Application.ViewModel;
+namespace IRaCIS.Core.Application.Interfaces;
+
+public interface ITrialNormalRecordService
+{
+
+ Task> GetTrialNormalRecordList(TrialNormalRecordQuery inQuery);
+
+ Task AddOrUpdateTrialNormalRecord(TrialNormalRecordAddOrEdit addOrEditTrialNormalRecord);
+
+ Task DeleteTrialNormalRecord(Guid trialNormalRecordId);
+}
+
+
diff --git a/IRaCIS.Core.Application/Service/Document/Interface/ITrialTrianingRecordService.cs b/IRaCIS.Core.Application/Service/Document/Interface/ITrialTrianingRecordService.cs
new file mode 100644
index 000000000..6d8ae7d48
--- /dev/null
+++ b/IRaCIS.Core.Application/Service/Document/Interface/ITrialTrianingRecordService.cs
@@ -0,0 +1,23 @@
+
+//--------------------------------------------------------------------
+// 此代码由liquid模板自动生成 byzhouhang 20240909
+// 生成时间 2025-02-21 07:47:30Z
+// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
+//--------------------------------------------------------------------
+using System;
+using IRaCIS.Core.Infrastructure.Extention;
+using System.Threading.Tasks;
+using IRaCIS.Core.Application.ViewModel;
+namespace IRaCIS.Core.Application.Interfaces;
+
+public interface ITrialTrianingRecordService
+{
+
+ Task> GetTrialTrianingRecordList(TrialTrianingRecordQuery inQuery);
+
+ Task AddOrUpdateTrialTrianingRecord(TrialTrianingRecordAddOrEdit addOrEditTrialTrianingRecord);
+
+ Task DeleteTrialTrianingRecord(Guid trialTrianingRecordId);
+}
+
+
diff --git a/IRaCIS.Core.Application/Service/Document/SysFileTypeService.cs b/IRaCIS.Core.Application/Service/Document/SysFileTypeService.cs
new file mode 100644
index 000000000..f4303bb53
--- /dev/null
+++ b/IRaCIS.Core.Application/Service/Document/SysFileTypeService.cs
@@ -0,0 +1,64 @@
+
+//--------------------------------------------------------------------
+// 此代码由liquid模板自动生成 byzhouhang 20240909
+// 生成时间 2025-02-21 07:47:24Z
+// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
+//--------------------------------------------------------------------
+using IRaCIS.Core.Domain.Models;
+using Microsoft.AspNetCore.Mvc;
+using IRaCIS.Core.Application.Interfaces;
+using IRaCIS.Core.Application.ViewModel;
+using IRaCIS.Core.Infrastructure.Extention;
+using System.Threading.Tasks;
+using IRaCIS.Core.Infra.EFCore;
+namespace IRaCIS.Core.Application.Service;
+
+///
+/// 系统文件类型
+///
+///
+///
+///
+///
+[ApiExplorerSettings(GroupName = "FileRecord")]
+
+public class SysFileTypeService(IRepository _sysFileTypeRepository,
+ IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, ISysFileTypeService
+{
+
+
+ [HttpPost]
+ public async Task> GetSysFileTypeList(SysFileTypeQuery inQuery)
+ {
+
+ var sysFileTypeQueryable = _sysFileTypeRepository
+ .ProjectTo(_mapper.ConfigurationProvider);
+
+ var pageList = await sysFileTypeQueryable.ToPagedListAsync(inQuery);
+
+ return pageList;
+ }
+
+
+
+ public async Task AddOrUpdateSysFileType(SysFileTypeAddOrEdit addOrEditSysFileType)
+ {
+
+ var entity = await _sysFileTypeRepository.InsertOrUpdateAsync(addOrEditSysFileType, true);
+
+ return ResponseOutput.Ok(entity.Id.ToString());
+
+ }
+
+
+ [HttpDelete("{sysFileTypeId:guid}")]
+ public async Task DeleteSysFileType(Guid sysFileTypeId)
+ {
+ var success = await _sysFileTypeRepository.DeleteFromQueryAsync(t => t.Id == sysFileTypeId, true);
+ return ResponseOutput.Ok();
+ }
+
+}
+
+
+
diff --git a/IRaCIS.Core.Application/Service/Document/TrialFileTypeService.cs b/IRaCIS.Core.Application/Service/Document/TrialFileTypeService.cs
new file mode 100644
index 000000000..71305013b
--- /dev/null
+++ b/IRaCIS.Core.Application/Service/Document/TrialFileTypeService.cs
@@ -0,0 +1,66 @@
+
+//--------------------------------------------------------------------
+// 此代码由liquid模板自动生成 byzhouhang 20240909
+// 生成时间 2025-02-21 07:47:30Z
+// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
+//--------------------------------------------------------------------
+using IRaCIS.Core.Domain.Models;
+using Microsoft.AspNetCore.Mvc;
+using IRaCIS.Core.Application.Interfaces;
+using IRaCIS.Core.Application.ViewModel;
+using IRaCIS.Core.Infrastructure.Extention;
+using System.Threading.Tasks;
+using IRaCIS.Core.Infra.EFCore;
+namespace IRaCIS.Core.Application.Service;
+
+///
+/// 项目文件类型
+///
+///
+///
+///
+///
+[ApiExplorerSettings(GroupName = "FileRecord")]
+public class TrialFileTypeService(IRepository _trialFileTypeRepository,
+ IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, ITrialFileTypeService
+{
+
+
+ [HttpPost]
+ public async Task> GetTrialFileTypeList(TrialFileTypeQuery inQuery)
+ {
+
+ var trialFileTypeQueryable = _trialFileTypeRepository
+ .ProjectTo(_mapper.ConfigurationProvider);
+
+ var pageList = await trialFileTypeQueryable.ToPagedListAsync(inQuery);
+
+ return pageList;
+ }
+
+
+
+ public async Task AddOrUpdateTrialFileType(TrialFileTypeAddOrEdit addOrEditTrialFileType)
+ {
+ // 在此处拷贝automapper 映射
+
+
+
+ var entity = await _trialFileTypeRepository.InsertOrUpdateAsync(addOrEditTrialFileType, true);
+
+ return ResponseOutput.Ok(entity.Id.ToString());
+
+ }
+
+
+ [HttpDelete("{trialFileTypeId:guid}")]
+ public async Task DeleteTrialFileType(Guid trialFileTypeId)
+ {
+ var success = await _trialFileTypeRepository.DeleteFromQueryAsync(t => t.Id == trialFileTypeId, true);
+ return ResponseOutput.Ok();
+ }
+
+}
+
+
+
diff --git a/IRaCIS.Core.Application/Service/Document/TrialFinalRecordService.cs b/IRaCIS.Core.Application/Service/Document/TrialFinalRecordService.cs
new file mode 100644
index 000000000..62a68d88f
--- /dev/null
+++ b/IRaCIS.Core.Application/Service/Document/TrialFinalRecordService.cs
@@ -0,0 +1,67 @@
+
+//--------------------------------------------------------------------
+// 此代码由liquid模板自动生成 byzhouhang 20240909
+// 生成时间 2025-02-21 07:47:30Z
+// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
+//--------------------------------------------------------------------
+using IRaCIS.Core.Domain.Models;
+using Microsoft.AspNetCore.Mvc;
+using IRaCIS.Core.Application.Interfaces;
+using IRaCIS.Core.Application.ViewModel;
+using IRaCIS.Core.Infrastructure.Extention;
+using System.Threading.Tasks;
+using IRaCIS.Core.Infra.EFCore;
+namespace IRaCIS.Core.Application.Service;
+
+///
+/// 项目定稿记录
+///
+///
+///
+///
+///
+[ApiExplorerSettings(GroupName = "FileRecord")]
+public class TrialFinalRecordService(IRepository _trialFinalRecordRepository,
+ IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, ITrialFinalRecordService
+{
+
+
+ [HttpPost]
+ public async Task> GetTrialFinalRecordList(TrialFinalRecordQuery inQuery)
+ {
+
+ var trialFinalRecordQueryable = _trialFinalRecordRepository
+ .ProjectTo(_mapper.ConfigurationProvider);
+
+ var pageList = await trialFinalRecordQueryable.ToPagedListAsync(inQuery);
+
+ return pageList;
+ }
+
+
+
+ public async Task AddOrUpdateTrialFinalRecord(TrialFinalRecordAddOrEdit addOrEditTrialFinalRecord)
+ {
+ // 在此处拷贝automapper 映射
+
+
+
+
+ var entity = await _trialFinalRecordRepository.InsertOrUpdateAsync(addOrEditTrialFinalRecord, true);
+
+ return ResponseOutput.Ok(entity.Id.ToString());
+
+ }
+
+
+ [HttpDelete("{trialFinalRecordId:guid}")]
+ public async Task DeleteTrialFinalRecord(Guid trialFinalRecordId)
+ {
+ var success = await _trialFinalRecordRepository.DeleteFromQueryAsync(t => t.Id == trialFinalRecordId, true);
+ return ResponseOutput.Ok();
+ }
+
+}
+
+
+
diff --git a/IRaCIS.Core.Application/Service/Document/TrialNormalRecordService.cs b/IRaCIS.Core.Application/Service/Document/TrialNormalRecordService.cs
new file mode 100644
index 000000000..37c532e7c
--- /dev/null
+++ b/IRaCIS.Core.Application/Service/Document/TrialNormalRecordService.cs
@@ -0,0 +1,67 @@
+
+//--------------------------------------------------------------------
+// 此代码由liquid模板自动生成 byzhouhang 20240909
+// 生成时间 2025-02-21 07:47:30Z
+// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
+//--------------------------------------------------------------------
+using IRaCIS.Core.Domain.Models;
+using Microsoft.AspNetCore.Mvc;
+using IRaCIS.Core.Application.Interfaces;
+using IRaCIS.Core.Application.ViewModel;
+using IRaCIS.Core.Infrastructure.Extention;
+using System.Threading.Tasks;
+using IRaCIS.Core.Infra.EFCore;
+namespace IRaCIS.Core.Application.Service;
+
+///
+/// 项目-一般文件记录
+///
+///
+///
+///
+///
+[ApiExplorerSettings(GroupName = "FileRecord")]
+public class TrialNormalRecordService(IRepository _trialNormalRecordRepository,
+ IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, ITrialNormalRecordService
+{
+
+
+ [HttpPost]
+ public async Task> GetTrialNormalRecordList(TrialNormalRecordQuery inQuery)
+ {
+
+ var trialNormalRecordQueryable = _trialNormalRecordRepository
+ .ProjectTo(_mapper.ConfigurationProvider);
+
+ var pageList = await trialNormalRecordQueryable.ToPagedListAsync(inQuery);
+
+ return pageList;
+ }
+
+
+
+ public async Task AddOrUpdateTrialNormalRecord(TrialNormalRecordAddOrEdit addOrEditTrialNormalRecord)
+ {
+ // 在此处拷贝automapper 映射
+
+
+
+
+ var entity = await _trialNormalRecordRepository.InsertOrUpdateAsync(addOrEditTrialNormalRecord, true);
+
+ return ResponseOutput.Ok(entity.Id.ToString());
+
+ }
+
+
+ [HttpDelete("{trialNormalRecordId:guid}")]
+ public async Task DeleteTrialNormalRecord(Guid trialNormalRecordId)
+ {
+ var success = await _trialNormalRecordRepository.DeleteFromQueryAsync(t => t.Id == trialNormalRecordId, true);
+ return ResponseOutput.Ok();
+ }
+
+}
+
+
+
diff --git a/IRaCIS.Core.Application/Service/Document/TrialTrianingRecordService.cs b/IRaCIS.Core.Application/Service/Document/TrialTrianingRecordService.cs
new file mode 100644
index 000000000..a32fecaa4
--- /dev/null
+++ b/IRaCIS.Core.Application/Service/Document/TrialTrianingRecordService.cs
@@ -0,0 +1,66 @@
+
+//--------------------------------------------------------------------
+// 此代码由liquid模板自动生成 byzhouhang 20240909
+// 生成时间 2025-02-21 07:47:30Z
+// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
+//--------------------------------------------------------------------
+using IRaCIS.Core.Domain.Models;
+using Microsoft.AspNetCore.Mvc;
+using IRaCIS.Core.Application.Interfaces;
+using IRaCIS.Core.Application.ViewModel;
+using IRaCIS.Core.Infrastructure.Extention;
+using System.Threading.Tasks;
+using IRaCIS.Core.Infra.EFCore;
+namespace IRaCIS.Core.Application.Service;
+
+///
+/// 项目-培训记录
+///
+///
+///
+///
+///
+[ApiExplorerSettings(GroupName = "FileRecord")]
+public class TrialTrianingRecordService(IRepository _trialTrianingRecordRepository,
+ IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, ITrialTrianingRecordService
+{
+
+
+ [HttpPost]
+ public async Task> GetTrialTrianingRecordList(TrialTrianingRecordQuery inQuery)
+ {
+
+ var trialTrianingRecordQueryable = _trialTrianingRecordRepository
+ .ProjectTo(_mapper.ConfigurationProvider);
+
+ var pageList = await trialTrianingRecordQueryable.ToPagedListAsync(inQuery);
+
+ return pageList;
+ }
+
+
+
+ public async Task AddOrUpdateTrialTrianingRecord(TrialTrianingRecordAddOrEdit addOrEditTrialTrianingRecord)
+ {
+ // 在此处拷贝automapper 映射
+
+
+
+ var entity = await _trialTrianingRecordRepository.InsertOrUpdateAsync(addOrEditTrialTrianingRecord, true);
+
+ return ResponseOutput.Ok(entity.Id.ToString());
+
+ }
+
+
+ [HttpDelete("{trialTrianingRecordId:guid}")]
+ public async Task DeleteTrialTrianingRecord(Guid trialTrianingRecordId)
+ {
+ var success = await _trialTrianingRecordRepository.DeleteFromQueryAsync(t => t.Id == trialTrianingRecordId, true);
+ return ResponseOutput.Ok();
+ }
+
+}
+
+
+
diff --git a/IRaCIS.Core.Application/Service/Document/_MapConfig.cs b/IRaCIS.Core.Application/Service/Document/_MapConfig.cs
index 80159f0fb..a37007c5c 100644
--- a/IRaCIS.Core.Application/Service/Document/_MapConfig.cs
+++ b/IRaCIS.Core.Application/Service/Document/_MapConfig.cs
@@ -87,6 +87,26 @@ namespace IRaCIS.Core.Application.Service
CreateMap();
+
+
+
+ CreateMap();
+ CreateMap().ReverseMap();
+
+ CreateMap();
+ CreateMap().ReverseMap();
+
+ CreateMap();
+ CreateMap().ReverseMap();
+
+ CreateMap();
+ CreateMap().ReverseMap();
+
+ CreateMap();
+ CreateMap().ReverseMap();
+
+
+
}
}
diff --git a/IRaCIS.Core.Domain/FileRecord/FileType.cs b/IRaCIS.Core.Domain/FileRecord/FileType.cs
index 6dc2d1110..867bd7398 100644
--- a/IRaCIS.Core.Domain/FileRecord/FileType.cs
+++ b/IRaCIS.Core.Domain/FileRecord/FileType.cs
@@ -5,86 +5,85 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace IRaCIS.Core.Domain.FileRecord
+namespace IRaCIS.Core.Domain.Models;
+
+public enum ArchiveType
{
- public enum ArchiveType
- {
- //报告
- Report = 1,
+ //报告
+ Report = 1,
- //文档
- Doc = 2,
+ //文档
+ Doc = 2,
+
+ //记录
+ Record = 3,
+
+ //阅片人
+
+ Reviewer=4,
+
+ Template=5
+}
+
+
+
+[Comment("后台 - 系统文件类型表")]
+[Table("SysFileType")]
+public class SysFileType : BaseFullAuditEntity
+{
+
+ [Comment("报告、文档、记录")]
+ public ArchiveType ArchiveTypeEnum { get; set; }
+
+ public string Name { get; set; }
+
+ public string NameCN { get; set; }
+
+ [Comment("是否确认收入项")]
+ public bool IsConfirmRecord { get; set; }
+
+
+ [Comment("子类标识,是取那个表的数据")]
+ public int SubIdentification { get; set; }
+
+ public bool IsEnable { get; set; }
+
+}
+
+[Comment("项目文件 - 文件类型表")]
+[Table("TrialFileType")]
+public class TrialFileType : BaseFullAuditEntity
+{
+
+ [Comment("关联系统文件类型")]
+ public Guid? SysFileTypeId { get; set; }
+
+ public Guid TrialId { get; set; }
+
+ [Comment("报告、文档、记录")]
+ public ArchiveType ArchiveTypeEnum { get; set; }
+
+ public string Name { get; set; }
+
+ public string NameCN { get; set; }
+
+ [Comment("是否确认收入项")]
+ public bool IsConfirmRecord { get; set; }
+
+
+ [Comment("首次定稿日期")]
+ public DateOnly FirstFinalDate { get; set; }
+
+ [Comment("是否自定义")]
+ public bool IsSelfDefine { get; set; }
+
+
+ [Comment("子类标识,是取那个表的数据")]
+ public int SubIdentification { get; set; }
+
+ public bool IsEnable { get; set; }
- //记录
- Record = 3,
- //阅片人
- Reviewer=4,
- Template=5
- }
-
-
-
- [Comment("后台 - 系统文件类型表")]
- [Table("SysFileType")]
- public class SysFileType : BaseFullAuditEntity
- {
-
- [Comment("报告、文档、记录")]
- public ArchiveType ArchiveTypeEnum { get; set; }
-
- public string Name { get; set; }
-
- public string NameCN { get; set; }
-
- [Comment("是否确认收入项")]
- public bool IsConfirmRecord { get; set; }
-
-
- [Comment("子类标识,是取那个表的数据")]
- public int SubIdentification { get; set; }
-
- public bool IsEnable { get; set; }
-
- }
-
- [Comment("项目文件 - 文件类型表")]
- [Table("TrialFileType")]
- public class TrialFileType : BaseFullAuditEntity
- {
-
- [Comment("关联系统文件类型")]
- public Guid? SysFileTypeId { get; set; }
-
- public Guid TrialId { get; set; }
-
- [Comment("报告、文档、记录")]
- public ArchiveType ArchiveTypeEnum { get; set; }
-
- public string Name { get; set; }
-
- public string NameCN { get; set; }
-
- [Comment("是否确认收入项")]
- public bool IsConfirmRecord { get; set; }
-
-
- [Comment("首次定稿日期")]
- public DateOnly FirstFinalDate { get; set; }
-
- [Comment("是否自定义")]
- public bool IsSelfDefine { get; set; }
-
-
- [Comment("子类标识,是取那个表的数据")]
- public int SubIdentification { get; set; }
-
- public bool IsEnable { get; set; }
-
-
-
-
- }
}
diff --git a/IRaCIS.Core.Domain/FileRecord/TrialRecord.cs b/IRaCIS.Core.Domain/FileRecord/TrialRecord.cs
index 584969f58..5afd74db1 100644
--- a/IRaCIS.Core.Domain/FileRecord/TrialRecord.cs
+++ b/IRaCIS.Core.Domain/FileRecord/TrialRecord.cs
@@ -6,130 +6,129 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace IRaCIS.Core.Domain.FileRecord
+namespace IRaCIS.Core.Domain.Models;
+
+[Comment("项目文件 - 定稿记录表")]
+[Table("TrialFinalRecord")]
+public class TrialFinalRecord : BaseFullAuditEntity
{
- [Comment("项目文件 - 定稿记录表")]
- [Table("TrialFinalRecord")]
- public class TrialFinalRecord : BaseFullAuditEntity
- {
- public Guid TrialId { get; set; }
+ public Guid TrialId { get; set; }
- [Comment("关联项目文件类型")]
- public Guid TrialFileTypeId { get; set; }
+ [Comment("关联项目文件类型")]
+ public Guid TrialFileTypeId { get; set; }
- public string Name { get; set; }
+ public string Name { get; set; }
- public string Version { get; set; }
+ public string Version { get; set; }
- #region 文件控制
- public int State { get; set; }
+ #region 文件控制
+ public int State { get; set; }
- [Comment("是否授权查看")]
- public bool IsAuthorizedView { get; set; }
- #endregion
+ [Comment("是否授权查看")]
+ public bool IsAuthorizedView { get; set; }
+ #endregion
- [Comment("定稿PDF")]
- public Guid PDFFileRecordId { get; set; }
+ [Comment("定稿PDF")]
+ public Guid PDFFileRecordId { get; set; }
- [Comment("定稿Word")]
- public Guid WordFileRecordId { get; set; }
+ [Comment("定稿Word")]
+ public Guid WordFileRecordId { get; set; }
- [Comment("签名页")]
- public Guid SignFileRecordId { get; set; }
+ [Comment("签名页")]
+ public Guid SignFileRecordId { get; set; }
+
+ [Comment("历史记录")]
+ public Guid HistoryFileRecordId { get; set; }
+
+
+}
+
+
+
+[Comment("项目文件 - 一般文件记录表")]
+[Table("TrialNormalRecord")]
+public class TrialNormalRecord : BaseFullAuditEntity
+{
+ public Guid TrialId { get; set; }
+
+ [Comment("关联项目文件类型")]
+ public Guid TrialFileTypeId { get; set; }
+
+
+
+ [Comment("文件类型,阅片人中使用")]
+ public int? ReviewerFileType { get; set; }
+
+ #region 文件控制
+ public int State { get; set; }
+
+ [Comment("是否授权查看")]
+ public bool IsAuthorizedView { get; set; }
+ #endregion
+
+
+ [Comment("关联具体的文件记录,记录里面有大小,格式,名称")]
+ public Guid TrialFileRecordId { get; set; }
+
+
+
+}
+
+
+[Comment("项目文件 - 培训记录表")]
+[Table("TrialTrianingRecord")]
+public class TrialTrianingRecord : BaseFullAuditEntity
+{
+ public Guid TrialId { get; set; }
+
+ [Comment("关联项目文件类型")]
+ public Guid TrialFileTypeId { get; set; }
+
+ #region 培训记录相关字段
+ public DateOnly TrianingDate { get; set; }
+
+ public int TrianingCount { get; set; }
+
+ [Comment("培训效果")]
+ public int TrianingState { get; set; }
+
+ #endregion
+
+ #region 文件控制
+ public int State { get; set; }
+
+ [Comment("是否授权查看")]
+ public bool IsAuthorizedView { get; set; }
+
+ #endregion
+
+ [Comment("关联具体的文件记录,记录里面有大小,格式,名称")]
+ public Guid TrialFileRecordId { get; set; }
+
+ public string Note { get; set; }
+
+}
+
+[Comment("项目文件 - 文件表")]
+[Table("TrialFile")]
+public class TrialFile : BaseFullAuditEntity
+{
+
+ [Comment("关联项目文件类型")]
+ public Guid TrialFileTypeId { get; set; }
+
+ public string FileName { get; set; }
+
+ [StringLength(1000)]
+ public string FilePath { get; set; }
+
+ public string FileSize { get; set; }
+
+ public string FileFormat { get; set; }
- [Comment("历史记录")]
- public Guid HistoryFileRecordId { get; set; }
- }
-
-
-
- [Comment("项目文件 - 一般文件记录表")]
- [Table("TrialNormalRecord")]
- public class TrialNormalRecord : BaseFullAuditEntity
- {
- public Guid TrialId { get; set; }
-
- [Comment("关联项目文件类型")]
- public Guid TrialFileTypeId { get; set; }
-
-
-
- [Comment("文件类型,阅片人中使用")]
- public int? ReviewerFileType { get; set; }
-
- #region 文件控制
- public int State { get; set; }
-
- [Comment("是否授权查看")]
- public bool IsAuthorizedView { get; set; }
- #endregion
-
-
- [Comment("关联具体的文件记录,记录里面有大小,格式,名称")]
- public Guid TrialFileRecordId { get; set; }
-
-
-
- }
-
-
- [Comment("项目文件 - 培训记录表")]
- [Table("TrialTrianingRecord")]
- public class TrialTrianingRecord : BaseFullAuditEntity
- {
- public Guid TrialId { get; set; }
-
- [Comment("关联项目文件类型")]
- public Guid TrialFileTypeId { get; set; }
-
- #region 培训记录相关字段
- public DateOnly TrianingDate { get; set; }
-
- public int TrianingCount { get; set; }
-
- [Comment("培训效果")]
- public int TrianingState { get; set; }
-
- #endregion
-
- #region 文件控制
- public int State { get; set; }
-
- [Comment("是否授权查看")]
- public bool IsAuthorizedView { get; set; }
-
- #endregion
-
- [Comment("关联具体的文件记录,记录里面有大小,格式,名称")]
- public Guid TrialFileRecordId { get; set; }
-
- public string Note { get; set; }
-
- }
-
- [Comment("项目文件 - 文件表")]
- [Table("TrialFile")]
- public class TrialFile : BaseFullAuditEntity
- {
-
- [Comment("关联项目文件类型")]
- public Guid TrialFileTypeId { get; set; }
-
- public string FileName { get; set; }
-
- [StringLength(1000)]
- public string FilePath { get; set; }
-
- public string FileSize { get; set; }
-
- public string FileFormat { get; set; }
-
-
-
- }
}
diff --git a/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs b/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs
index 9ffc8bafa..6e77bdeb3 100644
--- a/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs
+++ b/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs
@@ -1,5 +1,4 @@
using IRaCIS.Core.Domain.BaseModel;
-using IRaCIS.Core.Domain.FileRecord;
using IRaCIS.Core.Domain.Models;
using IRaCIS.Core.Infra.EFCore.Common;
using IRaCIS.Core.Infrastructure.Encryption;
diff --git a/IRaCIS.Core.Test/LiquidTemplate/EntityService.liquid b/IRaCIS.Core.Test/LiquidTemplate/EntityService.liquid
index ce3910a23..c371c2227 100644
--- a/IRaCIS.Core.Test/LiquidTemplate/EntityService.liquid
+++ b/IRaCIS.Core.Test/LiquidTemplate/EntityService.liquid
@@ -62,7 +62,7 @@ public class {{TableName}}Service(IRepository<{{TableName}}> {{LowercaseReposito
[HttpDelete("{{ '{' }}{{LowercaseTableNameId}}:guid{{ '}' }}")]
public async Task Delete{{TableName}}(Guid {{LowercaseTableNameId}})
{
- var success = await _<#=char.ToLower(tableName[0]) + tableName.Substring(1)#>Repository.DeleteFromQueryAsync(t => t.Id == {{LowercaseTableNameId}},true);
+ var success = await {{LowercaseRepositoryName}}.DeleteFromQueryAsync(t => t.Id == {{LowercaseTableNameId}},true);
return ResponseOutput.Ok();
}
diff --git a/IRaCIS.Core.Test/LiquidTemplate/EntityViewModel.liquid b/IRaCIS.Core.Test/LiquidTemplate/EntityViewModel.liquid
index 64c03e2b6..bbda8b023 100644
--- a/IRaCIS.Core.Test/LiquidTemplate/EntityViewModel.liquid
+++ b/IRaCIS.Core.Test/LiquidTemplate/EntityViewModel.liquid
@@ -28,7 +28,7 @@ public class {{ TableNameAddOrEdit }}
{%- endfor -%}
}
-public class {{ TableNameQuery }}
+public class {{ TableNameQuery }}:PageInput
{
{%- for field in QueryListFieldList -%}
{% if field.IsNullable and field.IsCSharpString == false %}
diff --git a/IRaCIS.Core.Test/LiquidTemplate/IEntityService.liquid b/IRaCIS.Core.Test/LiquidTemplate/IEntityService.liquid
index 788946d56..d926140c3 100644
--- a/IRaCIS.Core.Test/LiquidTemplate/IEntityService.liquid
+++ b/IRaCIS.Core.Test/LiquidTemplate/IEntityService.liquid
@@ -13,13 +13,13 @@ namespace IRaCIS.Core.Application.Interfaces;
public interface I{{TableName}}Service
{
{% if IsPaged %}
- Task Get{{TableName}}List({{TableNameQuery}} inQuery);
+ Task> Get{{TableName}}List({{TableNameQuery}} inQuery);
{% else %}
Task> Get{{TableName}}List({{TableNameQuery}} inQuery);
{% endif %}
Task AddOrUpdate{{TableName}}({{TableNameAddOrEdit}} addOrEdit{{TableName}});
- Task Delete{{TableNameView}}(Guid {{LowercaseTableNameId}});
+ Task Delete{{TableName}}(Guid {{LowercaseTableNameId}});
}