培训记录修改
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
b6da27ac07
commit
411b5d5f8f
|
@ -15,9 +15,14 @@ public class TrialTrianingRecordView : TrialTrianingRecordAddOrEdit
|
||||||
public DateTime CreateTime { get; set; }
|
public DateTime CreateTime { get; set; }
|
||||||
|
|
||||||
public DateTime UpdateTime { get; set; }
|
public DateTime UpdateTime { get; set; }
|
||||||
|
|
||||||
|
public string FileName { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class BatchAddTTrianingRecordInDto
|
||||||
|
{
|
||||||
|
public List<TrialTrianingRecordAddOrEdit> TrianingRecordList { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
public class TrialTrianingRecordAddOrEdit
|
public class TrialTrianingRecordAddOrEdit
|
||||||
{
|
{
|
||||||
|
@ -28,9 +33,11 @@ public class TrialTrianingRecordAddOrEdit
|
||||||
public string Note { get; set; }
|
public string Note { get; set; }
|
||||||
|
|
||||||
public int State { get; set; }
|
public int State { get; set; }
|
||||||
|
|
||||||
public Guid TrialFileRecordId { get; set; }
|
public TrialFileDto? TrialFileRecord { get; set; }
|
||||||
|
|
||||||
|
public TrialFileDto? HistoryFileRecord { get; set; }
|
||||||
|
|
||||||
public Guid TrialFileTypeId { get; set; }
|
public Guid TrialFileTypeId { get; set; }
|
||||||
|
|
||||||
public Guid TrialId { get; set; }
|
public Guid TrialId { get; set; }
|
||||||
|
@ -45,13 +52,9 @@ public class TrialTrianingRecordAddOrEdit
|
||||||
public class TrialTrianingRecordQuery : PageInput
|
public class TrialTrianingRecordQuery : PageInput
|
||||||
{
|
{
|
||||||
public bool? IsAuthorizedView { get; set; }
|
public bool? IsAuthorizedView { get; set; }
|
||||||
|
|
||||||
public string? Note { get; set; }
|
public string? FileName { get; set; }
|
||||||
|
|
||||||
public int? State { get; set; }
|
|
||||||
|
|
||||||
public Guid? TrialFileRecordId { get; set; }
|
|
||||||
|
|
||||||
public Guid? TrialFileTypeId { get; set; }
|
public Guid? TrialFileTypeId { get; set; }
|
||||||
|
|
||||||
public Guid? TrialId { get; set; }
|
public Guid? TrialId { get; set; }
|
||||||
|
|
|
@ -21,38 +21,96 @@ namespace IRaCIS.Core.Application.Service;
|
||||||
/// <param name="_userInfo"></param>
|
/// <param name="_userInfo"></param>
|
||||||
/// <param name="_localizer"></param>
|
/// <param name="_localizer"></param>
|
||||||
[ApiExplorerSettings(GroupName = "FileRecord")]
|
[ApiExplorerSettings(GroupName = "FileRecord")]
|
||||||
public class TrialTrianingRecordService(IRepository<TrialTrianingRecord> _trialTrianingRecordRepository,
|
public class TrialTrianingRecordService(IRepository<
|
||||||
|
TrialTrianingRecord> _trialTrianingRecordRepository,
|
||||||
|
IRepository<TrialFile> _trialFileRepository,
|
||||||
IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, ITrialTrianingRecordService
|
IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, ITrialTrianingRecordService
|
||||||
{
|
{
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取培训记录列表
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="inDto"></param>
|
||||||
|
/// <returns></returns>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<PageOutput<TrialTrianingRecordView>> GetTrialTrianingRecordList(TrialTrianingRecordQuery inQuery)
|
public async Task<PageOutput<TrialTrianingRecordView>> GetTrialTrianingRecordList(TrialTrianingRecordQuery inDto)
|
||||||
{
|
{
|
||||||
|
|
||||||
var trialTrianingRecordQueryable = _trialTrianingRecordRepository
|
var trialTrianingRecordQueryable = _trialTrianingRecordRepository
|
||||||
.ProjectTo<TrialTrianingRecordView>(_mapper.ConfigurationProvider);
|
.Where(x => x.TrialFileTypeId == inDto.TrialFileTypeId)
|
||||||
|
.WhereIf(inDto.FileName.IsNotNullOrEmpty(), x => x.TrialFileRecord.FileName.Contains(inDto.FileName))
|
||||||
|
.WhereIf(inDto.TrianingDate!=null, x => x.TrianingDate==inDto.TrianingDate)
|
||||||
|
.ProjectTo<TrialTrianingRecordView>(_mapper.ConfigurationProvider);
|
||||||
|
|
||||||
var pageList = await trialTrianingRecordQueryable.ToPagedListAsync(inQuery);
|
var pageList = await trialTrianingRecordQueryable.ToPagedListAsync(inDto);
|
||||||
|
|
||||||
return pageList;
|
return pageList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public async Task<IResponseOutput> AddOrUpdateTrialTrianingRecord(TrialTrianingRecordAddOrEdit addOrEditTrialTrianingRecord)
|
public async Task<IResponseOutput> AddOrUpdateTrialTrianingRecord(TrialTrianingRecordAddOrEdit inDto)
|
||||||
{
|
{
|
||||||
// 在此处拷贝automapper 映射
|
// 在此处拷贝automapper 映射
|
||||||
|
|
||||||
|
|
||||||
|
if (inDto.TrialFileRecord != null) inDto.TrialFileRecord.TrialFileTypeId = inDto.TrialFileTypeId;
|
||||||
|
if (inDto.HistoryFileRecord != null) inDto.HistoryFileRecord.TrialFileTypeId = inDto.TrialFileTypeId;
|
||||||
|
|
||||||
var entity = await _trialTrianingRecordRepository.InsertOrUpdateAsync(addOrEditTrialTrianingRecord, true);
|
|
||||||
|
if (inDto.Id != null)
|
||||||
|
{
|
||||||
|
var trialFinalRecord = await _trialTrianingRecordRepository.Where(x => x.Id == inDto.Id.Value).FirstNotNullAsync();
|
||||||
|
|
||||||
|
List<Guid?> ids = new List<Guid?>() {
|
||||||
|
trialFinalRecord.TrialFileRecordId,
|
||||||
|
trialFinalRecord.HistoryFileRecordId,
|
||||||
|
};
|
||||||
|
|
||||||
|
var fileIds = ids.Where(x => x != null).Select(x => (Guid)x).ToList();
|
||||||
|
await _trialFileRepository.BatchDeleteNoTrackingAsync(x => fileIds.Contains(x.Id));
|
||||||
|
}
|
||||||
|
var entity = await _trialTrianingRecordRepository.InsertOrUpdateAsync(inDto, true);
|
||||||
|
|
||||||
return ResponseOutput.Ok(entity.Id.ToString());
|
return ResponseOutput.Ok(entity.Id.ToString());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 批量新增培训记录
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="inDto"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<IResponseOutput> BatchAddTrialTrianingRecord(BatchAddTTrianingRecordInDto inDto)
|
||||||
|
{
|
||||||
|
foreach (var item in inDto.TrianingRecordList)
|
||||||
|
{
|
||||||
|
if (item.TrialFileRecord != null) item.TrialFileRecord.TrialFileTypeId = item.TrialFileTypeId;
|
||||||
|
if (item.HistoryFileRecord != null) item.HistoryFileRecord.TrialFileTypeId = item.TrialFileTypeId;
|
||||||
|
|
||||||
|
var entity = await _trialTrianingRecordRepository.InsertFromDTOAsync(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
var result = await _trialTrianingRecordRepository.SaveChangesAsync();
|
||||||
|
return ResponseOutput.Ok(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 授权文档
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="inDto"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<IResponseOutput> AuthorizedTrialTrianingRecord(AuthorizedTrialFinalRecordInDto inDto)
|
||||||
|
{
|
||||||
|
await _trialTrianingRecordRepository.UpdatePartialFromQueryAsync(t => inDto.Ids.Contains(t.Id), t => new TrialTrianingRecord() { IsAuthorizedView = inDto.IsAuthorizedView });
|
||||||
|
await _trialTrianingRecordRepository.SaveChangesAsync();
|
||||||
|
return ResponseOutput.Ok();
|
||||||
|
}
|
||||||
|
|
||||||
[HttpDelete("{trialTrianingRecordId:guid}")]
|
[HttpDelete("{trialTrianingRecordId:guid}")]
|
||||||
public async Task<IResponseOutput> DeleteTrialTrianingRecord(Guid trialTrianingRecordId)
|
public async Task<IResponseOutput> DeleteTrialTrianingRecord(Guid trialTrianingRecordId)
|
||||||
{
|
{
|
||||||
|
@ -60,6 +118,18 @@ public class TrialTrianingRecordService(IRepository<TrialTrianingRecord> _trialT
|
||||||
return ResponseOutput.Ok();
|
return ResponseOutput.Ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 批量删除培训记录
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="inDto"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<IResponseOutput> DeleteTrialTrianingRecordList(DeleteTrialNormalRecordListInDto inDto)
|
||||||
|
{
|
||||||
|
var success = await _trialTrianingRecordRepository.DeleteFromQueryAsync(t => inDto.Ids.Contains(t.Id), true);
|
||||||
|
return ResponseOutput.Ok();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -118,7 +118,8 @@ namespace IRaCIS.Core.Application.Service
|
||||||
.ForMember(d => d.FileName, c => c.MapFrom(t => t.TrialFileRecord.FileName));
|
.ForMember(d => d.FileName, c => c.MapFrom(t => t.TrialFileRecord.FileName));
|
||||||
CreateMap<TrialNormalRecord, TrialNormalRecordAddOrEdit>().ReverseMap();
|
CreateMap<TrialNormalRecord, TrialNormalRecordAddOrEdit>().ReverseMap();
|
||||||
|
|
||||||
CreateMap<TrialTrianingRecord, TrialTrianingRecordView>();
|
CreateMap<TrialTrianingRecord, TrialTrianingRecordView>()
|
||||||
|
.ForMember(d => d.FileName, c => c.MapFrom(t => t.TrialFileRecord.FileName));
|
||||||
CreateMap<TrialTrianingRecord, TrialTrianingRecordAddOrEdit>().ReverseMap();
|
CreateMap<TrialTrianingRecord, TrialTrianingRecordAddOrEdit>().ReverseMap();
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -133,6 +133,20 @@ public class TrialTrianingRecord : BaseFullAuditEntity
|
||||||
{
|
{
|
||||||
public Guid TrialId { get; set; }
|
public Guid TrialId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 一般文件记录
|
||||||
|
/// </summary>
|
||||||
|
[JsonIgnore]
|
||||||
|
[ForeignKey("TrialFileRecordId")]
|
||||||
|
public TrialFile TrialFileRecord { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 历史文件记录
|
||||||
|
/// </summary>
|
||||||
|
[JsonIgnore]
|
||||||
|
[ForeignKey("HistoryFileRecordId")]
|
||||||
|
public TrialFile HistoryFileRecord { get; set; }
|
||||||
|
|
||||||
[Comment("关联项目文件类型")]
|
[Comment("关联项目文件类型")]
|
||||||
public Guid TrialFileTypeId { get; set; }
|
public Guid TrialFileTypeId { get; set; }
|
||||||
|
|
||||||
|
@ -155,7 +169,11 @@ public class TrialTrianingRecord : BaseFullAuditEntity
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
[Comment("关联具体的文件记录,记录里面有大小,格式,名称")]
|
[Comment("关联具体的文件记录,记录里面有大小,格式,名称")]
|
||||||
public Guid TrialFileRecordId { get; set; }
|
public Guid? TrialFileRecordId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
[Comment("历史文件")]
|
||||||
|
public Guid? HistoryFileRecordId { get; set; }
|
||||||
|
|
||||||
public string Note { get; set; }
|
public string Note { get; set; }
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue