文档服务初步提交

Test_IRC_Net8
hang 2025-02-21 17:08:33 +08:00
parent 5dd2dfd17b
commit 6bfa4da72d
24 changed files with 1071 additions and 192 deletions

View File

@ -16,6 +16,9 @@ namespace IRaCIS.Core.API;
public enum SwaggerVersion
{
[Description("文件记录")]
FileRecord = -1,
[Description("医生模块")]
Reviewer = 1,
[Description("项目模块")]

View File

@ -1334,6 +1334,24 @@
<param name="inDto"></param>
<returns></returns>
</member>
<member name="T:IRaCIS.Core.Application.Service.SysFileTypeService">
<summary>
系统文件类型
</summary>
<param name="_sysFileTypeRepository"></param>
<param name="_mapper"></param>
<param name="_userInfo"></param>
<param name="_localizer"></param>
</member>
<member name="M:IRaCIS.Core.Application.Service.SysFileTypeService.#ctor(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SysFileType},AutoMapper.IMapper,IRaCIS.Core.Domain.Share.IUserInfo,Microsoft.Extensions.Localization.IStringLocalizer)">
<summary>
系统文件类型
</summary>
<param name="_sysFileTypeRepository"></param>
<param name="_mapper"></param>
<param name="_userInfo"></param>
<param name="_localizer"></param>
</member>
<member name="T:IRaCIS.Core.Application.Service.TrialEmailNoticeConfigService">
<summary>
TrialEmailNoticeConfigService
@ -1423,6 +1441,78 @@
<param name="batchAddList"></param>
<returns></returns>
</member>
<member name="T:IRaCIS.Core.Application.Service.TrialFileTypeService">
<summary>
项目文件类型
</summary>
<param name="_trialFileTypeRepository"></param>
<param name="_mapper"></param>
<param name="_userInfo"></param>
<param name="_localizer"></param>
</member>
<member name="M:IRaCIS.Core.Application.Service.TrialFileTypeService.#ctor(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TrialFileType},AutoMapper.IMapper,IRaCIS.Core.Domain.Share.IUserInfo,Microsoft.Extensions.Localization.IStringLocalizer)">
<summary>
项目文件类型
</summary>
<param name="_trialFileTypeRepository"></param>
<param name="_mapper"></param>
<param name="_userInfo"></param>
<param name="_localizer"></param>
</member>
<member name="T:IRaCIS.Core.Application.Service.TrialFinalRecordService">
<summary>
项目定稿记录
</summary>
<param name="_trialFinalRecordRepository"></param>
<param name="_mapper"></param>
<param name="_userInfo"></param>
<param name="_localizer"></param>
</member>
<member name="M:IRaCIS.Core.Application.Service.TrialFinalRecordService.#ctor(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TrialFinalRecord},AutoMapper.IMapper,IRaCIS.Core.Domain.Share.IUserInfo,Microsoft.Extensions.Localization.IStringLocalizer)">
<summary>
项目定稿记录
</summary>
<param name="_trialFinalRecordRepository"></param>
<param name="_mapper"></param>
<param name="_userInfo"></param>
<param name="_localizer"></param>
</member>
<member name="T:IRaCIS.Core.Application.Service.TrialNormalRecordService">
<summary>
项目-一般文件记录
</summary>
<param name="_trialNormalRecordRepository"></param>
<param name="_mapper"></param>
<param name="_userInfo"></param>
<param name="_localizer"></param>
</member>
<member name="M:IRaCIS.Core.Application.Service.TrialNormalRecordService.#ctor(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TrialNormalRecord},AutoMapper.IMapper,IRaCIS.Core.Domain.Share.IUserInfo,Microsoft.Extensions.Localization.IStringLocalizer)">
<summary>
项目-一般文件记录
</summary>
<param name="_trialNormalRecordRepository"></param>
<param name="_mapper"></param>
<param name="_userInfo"></param>
<param name="_localizer"></param>
</member>
<member name="T:IRaCIS.Core.Application.Service.TrialTrianingRecordService">
<summary>
项目-培训记录
</summary>
<param name="_trialTrianingRecordRepository"></param>
<param name="_mapper"></param>
<param name="_userInfo"></param>
<param name="_localizer"></param>
</member>
<member name="M:IRaCIS.Core.Application.Service.TrialTrianingRecordService.#ctor(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TrialTrianingRecord},AutoMapper.IMapper,IRaCIS.Core.Domain.Share.IUserInfo,Microsoft.Extensions.Localization.IStringLocalizer)">
<summary>
项目-培训记录
</summary>
<param name="_trialTrianingRecordRepository"></param>
<param name="_mapper"></param>
<param name="_userInfo"></param>
<param name="_localizer"></param>
</member>
<member name="M:IRaCIS.Core.Application.Service.CalculateService.GetFinalConfirmedWorkloadAndPayPriceList(IRaCIS.Application.Contracts.CalculateDoctorAndMonthDTO)">
<summary>
获取某个月下的某些医生最终确认的工作量,用于计算月度费用

View File

@ -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; }
}

View File

@ -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; }
}

View File

@ -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; }
}

View File

@ -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; }
}

View File

@ -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; }
}

View File

@ -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<PageOutput<SysFileTypeView>> GetSysFileTypeList(SysFileTypeQuery inQuery);
Task<IResponseOutput> AddOrUpdateSysFileType(SysFileTypeAddOrEdit addOrEditSysFileType);
Task<IResponseOutput> DeleteSysFileType(Guid sysFileTypeId);
}

View File

@ -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<PageOutput<TrialFileTypeView>> GetTrialFileTypeList(TrialFileTypeQuery inQuery);
Task<IResponseOutput> AddOrUpdateTrialFileType(TrialFileTypeAddOrEdit addOrEditTrialFileType);
Task<IResponseOutput> DeleteTrialFileType(Guid trialFileTypeId);
}

View File

@ -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<PageOutput<TrialFinalRecordView>> GetTrialFinalRecordList(TrialFinalRecordQuery inQuery);
Task<IResponseOutput> AddOrUpdateTrialFinalRecord(TrialFinalRecordAddOrEdit addOrEditTrialFinalRecord);
Task<IResponseOutput> DeleteTrialFinalRecord(Guid trialFinalRecordId);
}

View File

@ -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<PageOutput<TrialNormalRecordView>> GetTrialNormalRecordList(TrialNormalRecordQuery inQuery);
Task<IResponseOutput> AddOrUpdateTrialNormalRecord(TrialNormalRecordAddOrEdit addOrEditTrialNormalRecord);
Task<IResponseOutput> DeleteTrialNormalRecord(Guid trialNormalRecordId);
}

View File

@ -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<PageOutput<TrialTrianingRecordView>> GetTrialTrianingRecordList(TrialTrianingRecordQuery inQuery);
Task<IResponseOutput> AddOrUpdateTrialTrianingRecord(TrialTrianingRecordAddOrEdit addOrEditTrialTrianingRecord);
Task<IResponseOutput> DeleteTrialTrianingRecord(Guid trialTrianingRecordId);
}

View File

@ -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;
/// <summary>
/// 系统文件类型
/// </summary>
/// <param name="_sysFileTypeRepository"></param>
/// <param name="_mapper"></param>
/// <param name="_userInfo"></param>
/// <param name="_localizer"></param>
[ApiExplorerSettings(GroupName = "FileRecord")]
public class SysFileTypeService(IRepository<SysFileType> _sysFileTypeRepository,
IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, ISysFileTypeService
{
[HttpPost]
public async Task<PageOutput<SysFileTypeView>> GetSysFileTypeList(SysFileTypeQuery inQuery)
{
var sysFileTypeQueryable = _sysFileTypeRepository
.ProjectTo<SysFileTypeView>(_mapper.ConfigurationProvider);
var pageList = await sysFileTypeQueryable.ToPagedListAsync(inQuery);
return pageList;
}
public async Task<IResponseOutput> AddOrUpdateSysFileType(SysFileTypeAddOrEdit addOrEditSysFileType)
{
var entity = await _sysFileTypeRepository.InsertOrUpdateAsync(addOrEditSysFileType, true);
return ResponseOutput.Ok(entity.Id.ToString());
}
[HttpDelete("{sysFileTypeId:guid}")]
public async Task<IResponseOutput> DeleteSysFileType(Guid sysFileTypeId)
{
var success = await _sysFileTypeRepository.DeleteFromQueryAsync(t => t.Id == sysFileTypeId, true);
return ResponseOutput.Ok();
}
}

View File

@ -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;
/// <summary>
/// 项目文件类型
/// </summary>
/// <param name="_trialFileTypeRepository"></param>
/// <param name="_mapper"></param>
/// <param name="_userInfo"></param>
/// <param name="_localizer"></param>
[ApiExplorerSettings(GroupName = "FileRecord")]
public class TrialFileTypeService(IRepository<TrialFileType> _trialFileTypeRepository,
IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, ITrialFileTypeService
{
[HttpPost]
public async Task<PageOutput<TrialFileTypeView>> GetTrialFileTypeList(TrialFileTypeQuery inQuery)
{
var trialFileTypeQueryable = _trialFileTypeRepository
.ProjectTo<TrialFileTypeView>(_mapper.ConfigurationProvider);
var pageList = await trialFileTypeQueryable.ToPagedListAsync(inQuery);
return pageList;
}
public async Task<IResponseOutput> AddOrUpdateTrialFileType(TrialFileTypeAddOrEdit addOrEditTrialFileType)
{
// 在此处拷贝automapper 映射
var entity = await _trialFileTypeRepository.InsertOrUpdateAsync(addOrEditTrialFileType, true);
return ResponseOutput.Ok(entity.Id.ToString());
}
[HttpDelete("{trialFileTypeId:guid}")]
public async Task<IResponseOutput> DeleteTrialFileType(Guid trialFileTypeId)
{
var success = await _trialFileTypeRepository.DeleteFromQueryAsync(t => t.Id == trialFileTypeId, true);
return ResponseOutput.Ok();
}
}

View File

@ -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;
/// <summary>
/// 项目定稿记录
/// </summary>
/// <param name="_trialFinalRecordRepository"></param>
/// <param name="_mapper"></param>
/// <param name="_userInfo"></param>
/// <param name="_localizer"></param>
[ApiExplorerSettings(GroupName = "FileRecord")]
public class TrialFinalRecordService(IRepository<TrialFinalRecord> _trialFinalRecordRepository,
IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, ITrialFinalRecordService
{
[HttpPost]
public async Task<PageOutput<TrialFinalRecordView>> GetTrialFinalRecordList(TrialFinalRecordQuery inQuery)
{
var trialFinalRecordQueryable = _trialFinalRecordRepository
.ProjectTo<TrialFinalRecordView>(_mapper.ConfigurationProvider);
var pageList = await trialFinalRecordQueryable.ToPagedListAsync(inQuery);
return pageList;
}
public async Task<IResponseOutput> AddOrUpdateTrialFinalRecord(TrialFinalRecordAddOrEdit addOrEditTrialFinalRecord)
{
// 在此处拷贝automapper 映射
var entity = await _trialFinalRecordRepository.InsertOrUpdateAsync(addOrEditTrialFinalRecord, true);
return ResponseOutput.Ok(entity.Id.ToString());
}
[HttpDelete("{trialFinalRecordId:guid}")]
public async Task<IResponseOutput> DeleteTrialFinalRecord(Guid trialFinalRecordId)
{
var success = await _trialFinalRecordRepository.DeleteFromQueryAsync(t => t.Id == trialFinalRecordId, true);
return ResponseOutput.Ok();
}
}

View File

@ -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;
/// <summary>
/// 项目-一般文件记录
/// </summary>
/// <param name="_trialNormalRecordRepository"></param>
/// <param name="_mapper"></param>
/// <param name="_userInfo"></param>
/// <param name="_localizer"></param>
[ApiExplorerSettings(GroupName = "FileRecord")]
public class TrialNormalRecordService(IRepository<TrialNormalRecord> _trialNormalRecordRepository,
IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, ITrialNormalRecordService
{
[HttpPost]
public async Task<PageOutput<TrialNormalRecordView>> GetTrialNormalRecordList(TrialNormalRecordQuery inQuery)
{
var trialNormalRecordQueryable = _trialNormalRecordRepository
.ProjectTo<TrialNormalRecordView>(_mapper.ConfigurationProvider);
var pageList = await trialNormalRecordQueryable.ToPagedListAsync(inQuery);
return pageList;
}
public async Task<IResponseOutput> AddOrUpdateTrialNormalRecord(TrialNormalRecordAddOrEdit addOrEditTrialNormalRecord)
{
// 在此处拷贝automapper 映射
var entity = await _trialNormalRecordRepository.InsertOrUpdateAsync(addOrEditTrialNormalRecord, true);
return ResponseOutput.Ok(entity.Id.ToString());
}
[HttpDelete("{trialNormalRecordId:guid}")]
public async Task<IResponseOutput> DeleteTrialNormalRecord(Guid trialNormalRecordId)
{
var success = await _trialNormalRecordRepository.DeleteFromQueryAsync(t => t.Id == trialNormalRecordId, true);
return ResponseOutput.Ok();
}
}

View File

@ -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;
/// <summary>
/// 项目-培训记录
/// </summary>
/// <param name="_trialTrianingRecordRepository"></param>
/// <param name="_mapper"></param>
/// <param name="_userInfo"></param>
/// <param name="_localizer"></param>
[ApiExplorerSettings(GroupName = "FileRecord")]
public class TrialTrianingRecordService(IRepository<TrialTrianingRecord> _trialTrianingRecordRepository,
IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, ITrialTrianingRecordService
{
[HttpPost]
public async Task<PageOutput<TrialTrianingRecordView>> GetTrialTrianingRecordList(TrialTrianingRecordQuery inQuery)
{
var trialTrianingRecordQueryable = _trialTrianingRecordRepository
.ProjectTo<TrialTrianingRecordView>(_mapper.ConfigurationProvider);
var pageList = await trialTrianingRecordQueryable.ToPagedListAsync(inQuery);
return pageList;
}
public async Task<IResponseOutput> AddOrUpdateTrialTrianingRecord(TrialTrianingRecordAddOrEdit addOrEditTrialTrianingRecord)
{
// 在此处拷贝automapper 映射
var entity = await _trialTrianingRecordRepository.InsertOrUpdateAsync(addOrEditTrialTrianingRecord, true);
return ResponseOutput.Ok(entity.Id.ToString());
}
[HttpDelete("{trialTrianingRecordId:guid}")]
public async Task<IResponseOutput> DeleteTrialTrianingRecord(Guid trialTrianingRecordId)
{
var success = await _trialTrianingRecordRepository.DeleteFromQueryAsync(t => t.Id == trialTrianingRecordId, true);
return ResponseOutput.Ok();
}
}

View File

@ -87,6 +87,26 @@ namespace IRaCIS.Core.Application.Service
CreateMap<TrialEmailNoticeUser, EmailUserInfoDto>();
CreateMap<SysFileType, SysFileTypeView>();
CreateMap<SysFileType, SysFileTypeAddOrEdit>().ReverseMap();
CreateMap<TrialFileType, TrialFileTypeView>();
CreateMap<TrialFileType, TrialFileTypeAddOrEdit>().ReverseMap();
CreateMap<TrialFinalRecord, TrialFinalRecordView>();
CreateMap<TrialFinalRecord, TrialFinalRecordAddOrEdit>().ReverseMap();
CreateMap<TrialNormalRecord, TrialNormalRecordView>();
CreateMap<TrialNormalRecord, TrialNormalRecordAddOrEdit>().ReverseMap();
CreateMap<TrialTrianingRecord, TrialTrianingRecordView>();
CreateMap<TrialTrianingRecord, TrialTrianingRecordAddOrEdit>().ReverseMap();
}
}

View File

@ -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; }
}
}

View File

@ -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; }
}
}

View File

@ -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;

View File

@ -62,7 +62,7 @@ public class {{TableName}}Service(IRepository<{{TableName}}> {{LowercaseReposito
[HttpDelete("{{ '{' }}{{LowercaseTableNameId}}:guid{{ '}' }}")]
public async Task<IResponseOutput> 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();
}

View File

@ -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 %}

View File

@ -13,13 +13,13 @@ namespace IRaCIS.Core.Application.Interfaces;
public interface I{{TableName}}Service
{
{% if IsPaged %}
Task<PageOutput<{{TableNameView}}> Get{{TableName}}List({{TableNameQuery}} inQuery);
Task<PageOutput<{{TableNameView}}>> Get{{TableName}}List({{TableNameQuery}} inQuery);
{% else %}
Task<List<{{TableNameView}}>> Get{{TableName}}List({{TableNameQuery}} inQuery);
{% endif %}
Task<IResponseOutput> AddOrUpdate{{TableName}}({{TableNameAddOrEdit}} addOrEdit{{TableName}});
Task<IResponseOutput> Delete{{TableNameView}}(Guid {{LowercaseTableNameId}});
Task<IResponseOutput> Delete{{TableName}}(Guid {{LowercaseTableNameId}});
}