From 6bfa4da72dc18d7b2bcc5388129c7b67cca77c17 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Fri, 21 Feb 2025 17:08:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=87=E6=A1=A3=E6=9C=8D=E5=8A=A1=E5=88=9D?= =?UTF-8?q?=E6=AD=A5=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../_ServiceExtensions/SwaggerSetup.cs | 3 + .../IRaCIS.Core.Application.xml | 90 +++++++ .../Document/DTO/SysFileTypeViewModel.cs | 56 +++++ .../Document/DTO/TrialFileTypeViewModel.cs | 72 ++++++ .../Document/DTO/TrialFinalRecordViewModel.cs | 72 ++++++ .../DTO/TrialNormalRecordViewModel.cs | 56 +++++ .../DTO/TrialTrianingRecordViewModel.cs | 68 ++++++ .../Document/Interface/ISysFileTypeService.cs | 23 ++ .../Interface/ITrialFileTypeService.cs | 23 ++ .../Interface/ITrialFinalRecordService.cs | 23 ++ .../Interface/ITrialNormalRecordService.cs | 23 ++ .../Interface/ITrialTrianingRecordService.cs | 23 ++ .../Service/Document/SysFileTypeService.cs | 64 +++++ .../Service/Document/TrialFileTypeService.cs | 66 ++++++ .../Document/TrialFinalRecordService.cs | 67 ++++++ .../Document/TrialNormalRecordService.cs | 67 ++++++ .../Document/TrialTrianingRecordService.cs | 66 ++++++ .../Service/Document/_MapConfig.cs | 20 ++ IRaCIS.Core.Domain/FileRecord/FileType.cs | 151 ++++++------ IRaCIS.Core.Domain/FileRecord/TrialRecord.cs | 221 +++++++++--------- .../Context/IRaCISDBContext.cs | 1 - .../LiquidTemplate/EntityService.liquid | 2 +- .../LiquidTemplate/EntityViewModel.liquid | 2 +- .../LiquidTemplate/IEntityService.liquid | 4 +- 24 files changed, 1071 insertions(+), 192 deletions(-) create mode 100644 IRaCIS.Core.Application/Service/Document/DTO/SysFileTypeViewModel.cs create mode 100644 IRaCIS.Core.Application/Service/Document/DTO/TrialFileTypeViewModel.cs create mode 100644 IRaCIS.Core.Application/Service/Document/DTO/TrialFinalRecordViewModel.cs create mode 100644 IRaCIS.Core.Application/Service/Document/DTO/TrialNormalRecordViewModel.cs create mode 100644 IRaCIS.Core.Application/Service/Document/DTO/TrialTrianingRecordViewModel.cs create mode 100644 IRaCIS.Core.Application/Service/Document/Interface/ISysFileTypeService.cs create mode 100644 IRaCIS.Core.Application/Service/Document/Interface/ITrialFileTypeService.cs create mode 100644 IRaCIS.Core.Application/Service/Document/Interface/ITrialFinalRecordService.cs create mode 100644 IRaCIS.Core.Application/Service/Document/Interface/ITrialNormalRecordService.cs create mode 100644 IRaCIS.Core.Application/Service/Document/Interface/ITrialTrianingRecordService.cs create mode 100644 IRaCIS.Core.Application/Service/Document/SysFileTypeService.cs create mode 100644 IRaCIS.Core.Application/Service/Document/TrialFileTypeService.cs create mode 100644 IRaCIS.Core.Application/Service/Document/TrialFinalRecordService.cs create mode 100644 IRaCIS.Core.Application/Service/Document/TrialNormalRecordService.cs create mode 100644 IRaCIS.Core.Application/Service/Document/TrialTrianingRecordService.cs 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}}); }