|
@@ -1175,12 +1175,37 @@ public class OrderController : BaseController
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
/// <summary>
|
|
/// <summary>
|
|
- /// 延期列表
|
|
|
|
|
|
+ /// 工单延期修改后下一步流程
|
|
/// </summary>
|
|
/// </summary>
|
|
- /// <returns></returns>
|
|
|
|
- //[Permission(EPermission.DelayList)]
|
|
|
|
- [HttpGet("delay")]
|
|
|
|
|
|
+ [HttpPost("delay/initial_nextFlow")]
|
|
|
|
+ [LogFilter("开始工单延期流程")]
|
|
|
|
+ public async Task InitialNextFlow([FromBody] DelayNextFlowDto dto)
|
|
|
|
+ {
|
|
|
|
+ var delay = await _orderDelayRepository.GetAsync(dto.Data.Id);
|
|
|
|
+ _mapper.Map(dto.Data, delay);
|
|
|
|
+ if (dto.Data.Files.Any())
|
|
|
|
+ delay.FileJson = await _fileRepository.AddFileAsync(dto.Data.Files, delay.Id, "", HttpContext.RequestAborted);
|
|
|
|
+ await _orderDelayRepository.UpdateAsync(delay, HttpContext.RequestAborted);
|
|
|
|
+ try
|
|
|
|
+ {
|
|
|
|
+ dto.NextWorkflow.WorkflowId = delay.WorkflowId;
|
|
|
|
+ await _workflowApplication.NextAsync(dto.NextWorkflow,
|
|
|
|
+ cancellationToken: HttpContext.RequestAborted);
|
|
|
|
+ }
|
|
|
|
+ catch (Exception e)
|
|
|
|
+ {
|
|
|
|
+ throw new UserFriendlyException($"工单延期下一步流程失败!, {e.Message}", "工单延期下一步流程失败");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 延期列表
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <returns></returns>
|
|
|
|
+ //[Permission(EPermission.DelayList)]
|
|
|
|
+ [HttpGet("delay")]
|
|
public async Task<PagedDto<OrderDelayDto>> DelayList([FromQuery] DelayListDto dto)
|
|
public async Task<PagedDto<OrderDelayDto>> DelayList([FromQuery] DelayListDto dto)
|
|
{
|
|
{
|
|
var (total, items) = await _orderDelayRepository.Queryable(viewFilter: false)
|
|
var (total, items) = await _orderDelayRepository.Queryable(viewFilter: false)
|
|
@@ -1235,7 +1260,8 @@ public class OrderController : BaseController
|
|
.FirstAsync(x => x.Id == id);
|
|
.FirstAsync(x => x.Id == id);
|
|
var rspModel = _mapper.Map<OrderDelayDto>(model);
|
|
var rspModel = _mapper.Map<OrderDelayDto>(model);
|
|
rspModel.IsCanHandle = model.CanHandle(_sessionContext.RequiredUserId, _sessionContext.RequiredOrgId);
|
|
rspModel.IsCanHandle = model.CanHandle(_sessionContext.RequiredUserId, _sessionContext.RequiredOrgId);
|
|
- if (rspModel.FileJson != null && rspModel.FileJson.Any())
|
|
|
|
|
|
+ rspModel.Handle = await _workflowDomainService.CheckCurrentIsStartStepAsync(rspModel.WorkflowId, _sessionContext.RequiredUserId, _sessionContext.RequiredOrgId, HttpContext.RequestAborted);
|
|
|
|
+ if (rspModel.FileJson != null && rspModel.FileJson.Any())
|
|
{
|
|
{
|
|
var ids = rspModel.FileJson.Select(x => x.Id).ToList();
|
|
var ids = rspModel.FileJson.Select(x => x.Id).ToList();
|
|
rspModel.Files = await _fileRepository.GetFilesAsync(ids, HttpContext.RequestAborted);
|
|
rspModel.Files = await _fileRepository.GetFilesAsync(ids, HttpContext.RequestAborted);
|
|
@@ -1341,7 +1367,7 @@ public class OrderController : BaseController
|
|
public async Task<PagedDto<OrderScreenListDto>> ScreenList([FromQuery] ScreenListDto dto)
|
|
public async Task<PagedDto<OrderScreenListDto>> ScreenList([FromQuery] ScreenListDto dto)
|
|
{
|
|
{
|
|
var view = dto.source == 1;
|
|
var view = dto.source == 1;
|
|
- var handler = dto.source == 1;
|
|
|
|
|
|
+ var handler = dto.source == 1 && dto.Status is EScreenStatus.Apply;
|
|
|
|
|
|
var query = _orderScreenRepository.Queryable(viewFilter: view, handlerFilter: handler)
|
|
var query = _orderScreenRepository.Queryable(viewFilter: view, handlerFilter: handler)
|
|
.Includes(x => x.Order)
|
|
.Includes(x => x.Order)
|