|
@@ -20,9 +20,12 @@ using XF.Utility.EnumExtensions;
|
|
|
using XF.Domain.Repository;
|
|
|
using Hotline.Share.Dtos.FlowEngine.Workflow;
|
|
|
using Hotline.Caching.Interfaces;
|
|
|
+using Hotline.File;
|
|
|
using Hotline.Orders;
|
|
|
using Hotline.Share.Dtos.Order;
|
|
|
using Mapster;
|
|
|
+using Hotline.Repository.SqlSugar.File;
|
|
|
+using Hotline.Share.Dtos.File;
|
|
|
|
|
|
namespace Hotline.Api.Controllers;
|
|
|
|
|
@@ -47,8 +50,9 @@ public class WorkflowController : BaseController
|
|
|
private readonly ISessionContext _sessionContext;
|
|
|
private readonly IMapper _mapper;
|
|
|
private readonly ISystemDicDataCacheManager _systemDicDataCacheManager;
|
|
|
+ private readonly IFileRepository _fileRepository;
|
|
|
|
|
|
- public WorkflowController(
|
|
|
+ public WorkflowController(
|
|
|
IDefinitionDomainService definitionDomainService,
|
|
|
IRepository<WorkflowDefinition> definitionRepository,
|
|
|
IWorkflowApplication workflowApplication,
|
|
@@ -64,8 +68,9 @@ public class WorkflowController : BaseController
|
|
|
IRepository<WorkflowCountersign> workflowCountersignRepository,
|
|
|
ISessionContext sessionContext,
|
|
|
IMapper mapper,
|
|
|
- ISystemDicDataCacheManager systemDicDataCacheManager
|
|
|
- )
|
|
|
+ ISystemDicDataCacheManager systemDicDataCacheManager,
|
|
|
+ IFileRepository fileRepository
|
|
|
+ )
|
|
|
{
|
|
|
_definitionDomainService = definitionDomainService;
|
|
|
_definitionRepository = definitionRepository;
|
|
@@ -83,7 +88,9 @@ public class WorkflowController : BaseController
|
|
|
_workflowTraceRepository = workflowTraceRepository;
|
|
|
_workflowCountersignRepository = workflowCountersignRepository;
|
|
|
_systemDicDataCacheManager = systemDicDataCacheManager;
|
|
|
- }
|
|
|
+ _fileRepository = fileRepository;
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 分页查询最新版本号的模板
|
|
@@ -458,8 +465,16 @@ public class WorkflowController : BaseController
|
|
|
.OrderBy(d => d.CreationTime)
|
|
|
.ToTreeAsync(d => d.Traces, d => d.ParentId, null);
|
|
|
|
|
|
- var a = _mapper.Map<WorkflowDto>(workflow);
|
|
|
- return a;
|
|
|
+ var workflowDto = _mapper.Map<WorkflowDto>(workflow);
|
|
|
+ if (workflowDto.Traces.Any())
|
|
|
+ {
|
|
|
+ foreach (var item in workflowDto.Traces)
|
|
|
+ {
|
|
|
+ var files = await _fileRepository.Queryable().Where(x => x.FlowKey == item.StepId).ToListAsync();
|
|
|
+ if (files.Any()) item.Files = _mapper.Map<List<FileDto>>(files);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return workflowDto;
|
|
|
}
|
|
|
|
|
|
/// <summary>
|