|
@@ -1648,8 +1648,9 @@ public class OrderController : BaseController
|
|
.Includes(x => x.OrderVisit)
|
|
.Includes(x => x.OrderVisit)
|
|
.Includes(x => x.OrderVisit, y => y.Order)
|
|
.Includes(x => x.OrderVisit, y => y.Order)
|
|
.Includes(x => x.OrderVisit, y => y.Employee)
|
|
.Includes(x => x.OrderVisit, y => y.Employee)
|
|
- .LeftJoin<OrderScreen>((x, s) => x.Id == s.VisitDetailId && s.Status < EScreenStatus.End && s.IsDeleted == false)
|
|
|
|
- .Where((x, s) => s.Id == null)
|
|
|
|
|
|
+ .LeftJoin<OrderScreen>((x, s) => x.Id == s.VisitDetailId && s.IsDeleted == false)
|
|
|
|
+ //&& s.Status < EScreenStatus.End
|
|
|
|
+ .Where((x, s) => s.Id == null)
|
|
.WhereIF(dto.IsHomePage.HasValue && dto.IsHomePage == true,
|
|
.WhereIF(dto.IsHomePage.HasValue && dto.IsHomePage == true,
|
|
x => x.OrderVisit.VisitTime < dto.CreationTimeEnd && x.OrderVisit.VisitTime > dto.CreationTimeStart)
|
|
x => x.OrderVisit.VisitTime < dto.CreationTimeEnd && x.OrderVisit.VisitTime > dto.CreationTimeStart)
|
|
.WhereIF(!string.IsNullOrEmpty(dto.No), x => x.OrderVisit.Order!.No!.Contains(dto.No!))
|
|
.WhereIF(!string.IsNullOrEmpty(dto.No), x => x.OrderVisit.Order!.No!.Contains(dto.No!))
|
|
@@ -1845,10 +1846,31 @@ public class OrderController : BaseController
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
- /// 查询工单甄别流程开启参数
|
|
|
|
|
|
+ /// 甄别流程退回
|
|
/// </summary>
|
|
/// </summary>
|
|
- /// <returns></returns>
|
|
|
|
- [HttpGet("screen/startflow")]
|
|
|
|
|
|
+ [HttpPost("screen/previous")]
|
|
|
|
+ public async Task ScreenPrevious([FromBody] PreviousWorkflowDto dto)
|
|
|
|
+ {
|
|
|
|
+ var workflow = await _workflowDomainService.GetWorkflowAsync(dto.WorkflowId, withSteps: true,
|
|
|
|
+ cancellationToken: HttpContext.RequestAborted);
|
|
|
|
+ if (workflow.Steps.Count > 2)
|
|
|
|
+ {
|
|
|
|
+ await _workflowApplication.PreviousAsync(dto, HttpContext.RequestAborted);
|
|
|
|
+ }
|
|
|
|
+ else {
|
|
|
|
+ TerminateDto terDto = new TerminateDto
|
|
|
|
+ {
|
|
|
|
+ WorkflowId = dto.WorkflowId,
|
|
|
|
+ Opinion = "退回申请人"
|
|
|
|
+ };
|
|
|
|
+ await _workflowDomainService.TerminateAsync(terDto, HttpContext.RequestAborted);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 查询工单甄别流程开启参数
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <returns></returns>
|
|
|
|
+ [HttpGet("screen/startflow")]
|
|
public async Task<NextStepsDto> GetScreenFlowStartOptionsAsync()
|
|
public async Task<NextStepsDto> GetScreenFlowStartOptionsAsync()
|
|
{
|
|
{
|
|
//return await _workflowApplication.GetStartOptionsAsync(WorkflowModuleConsts.OrderScreen,
|
|
//return await _workflowApplication.GetStartOptionsAsync(WorkflowModuleConsts.OrderScreen,
|
|
@@ -2671,7 +2693,7 @@ public class OrderController : BaseController
|
|
{
|
|
{
|
|
var workflow = await _workflowDomainService.GetWorkflowAsync(dto.WorkflowId, withSteps: true,
|
|
var workflow = await _workflowDomainService.GetWorkflowAsync(dto.WorkflowId, withSteps: true,
|
|
cancellationToken: HttpContext.RequestAborted);
|
|
cancellationToken: HttpContext.RequestAborted);
|
|
- var centerOpinion = workflow.Steps.Where(x => x.HandlerOrgId == OrgSeedData.CenterId).MaxBy(d => d.CreationTime)?.Opinion ?? string.Empty;
|
|
|
|
|
|
+ var centerOpinion = workflow.Steps.Where(x => x.HandlerOrgId == OrgSeedData.CenterId && x.StepType != EStepType.End).MaxBy(d => d.CreationTime)?.Opinion ?? string.Empty;
|
|
dto.CenterOpinion = centerOpinion;
|
|
dto.CenterOpinion = centerOpinion;
|
|
List<OrderRemarksDto> remarks = workflow.Steps.Where(x => !string.IsNullOrEmpty(x.Remark)).Select(x => new OrderRemarksDto { Remark = x.Remark, RemarkTime = x.CreationTime, RemarkUser = x.CreatorName }).ToList();
|
|
List<OrderRemarksDto> remarks = workflow.Steps.Where(x => !string.IsNullOrEmpty(x.Remark)).Select(x => new OrderRemarksDto { Remark = x.Remark, RemarkTime = x.CreationTime, RemarkUser = x.CreatorName }).ToList();
|
|
dto.OrderRemarks = remarks;
|
|
dto.OrderRemarks = remarks;
|
|
@@ -3306,6 +3328,7 @@ public class OrderController : BaseController
|
|
var (total, items) = await _orderRepository
|
|
var (total, items) = await _orderRepository
|
|
.Queryable(hasHandled: isHandled)
|
|
.Queryable(hasHandled: isHandled)
|
|
.Includes(d => d.OrderSpecials)
|
|
.Includes(d => d.OrderSpecials)
|
|
|
|
+ .Where(d=>d.Status != EOrderStatus.WaitForAccept || d.Status != EOrderStatus.BackToUnAccept || d.Status != EOrderStatus.SpecialToUnAccept)
|
|
.WhereIF(dto.IsProvince.HasValue, d => d.IsProvince == dto.IsProvince)
|
|
.WhereIF(dto.IsProvince.HasValue, d => d.IsProvince == dto.IsProvince)
|
|
.WhereIF(!string.IsNullOrEmpty(dto.Keyword), d => d.Title.StartsWith(dto.Keyword))
|
|
.WhereIF(!string.IsNullOrEmpty(dto.Keyword), d => d.Title.StartsWith(dto.Keyword))
|
|
.WhereIF(!string.IsNullOrEmpty(dto.No), d => d.No == dto.No)
|
|
.WhereIF(!string.IsNullOrEmpty(dto.No), d => d.No == dto.No)
|
|
@@ -3701,7 +3724,7 @@ public class OrderController : BaseController
|
|
var processType = flowDirection == EFlowDirection.OrgToCenter || flowDirection == EFlowDirection.CenterToCenter
|
|
var processType = flowDirection == EFlowDirection.OrgToCenter || flowDirection == EFlowDirection.CenterToCenter
|
|
? EProcessType.Zhiban
|
|
? EProcessType.Zhiban
|
|
: EProcessType.Jiaoban;
|
|
: EProcessType.Jiaoban;
|
|
- await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { ProcessType = processType,Status = EOrderStatus.SendBack })
|
|
|
|
|
|
+ await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { ProcessType = processType })
|
|
.Where(o => o.Id == order.Id).ExecuteCommandAsync(HttpContext.RequestAborted);
|
|
.Where(o => o.Id == order.Id).ExecuteCommandAsync(HttpContext.RequestAborted);
|
|
//发送短信TODO
|
|
//发送短信TODO
|
|
}
|
|
}
|
|
@@ -3712,7 +3735,7 @@ public class OrderController : BaseController
|
|
var processType = flowDirection == EFlowDirection.OrgToCenter || flowDirection == EFlowDirection.CenterToCenter
|
|
var processType = flowDirection == EFlowDirection.OrgToCenter || flowDirection == EFlowDirection.CenterToCenter
|
|
? EProcessType.Zhiban
|
|
? EProcessType.Zhiban
|
|
: EProcessType.Jiaoban;
|
|
: EProcessType.Jiaoban;
|
|
- await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { ProcessType = processType, Status = EOrderStatus.SendBack })
|
|
|
|
|
|
+ await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { ProcessType = processType })
|
|
.Where(o => o.Id == order.Id).ExecuteCommandAsync(HttpContext.RequestAborted);
|
|
.Where(o => o.Id == order.Id).ExecuteCommandAsync(HttpContext.RequestAborted);
|
|
//发送短信TODO
|
|
//发送短信TODO
|
|
}
|
|
}
|
|
@@ -3754,7 +3777,7 @@ public class OrderController : BaseController
|
|
flowDirection == EFlowDirection.CenterToCenter
|
|
flowDirection == EFlowDirection.CenterToCenter
|
|
? EProcessType.Zhiban
|
|
? EProcessType.Zhiban
|
|
: EProcessType.Jiaoban;
|
|
: EProcessType.Jiaoban;
|
|
- await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { ProcessType = processType, Status = EOrderStatus.SendBack })
|
|
|
|
|
|
+ await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { ProcessType = processType })
|
|
.Where(o => o.Id == sendBack.OrderId).ExecuteCommandAsync(HttpContext.RequestAborted);
|
|
.Where(o => o.Id == sendBack.OrderId).ExecuteCommandAsync(HttpContext.RequestAborted);
|
|
//发送短信TODO
|
|
//发送短信TODO
|
|
await _orderSendBackAuditRepository.UpdateAsync(sendBack, HttpContext.RequestAborted);
|
|
await _orderSendBackAuditRepository.UpdateAsync(sendBack, HttpContext.RequestAborted);
|
|
@@ -3794,7 +3817,7 @@ public class OrderController : BaseController
|
|
var processType = flowDirection == EFlowDirection.OrgToCenter || flowDirection == EFlowDirection.CenterToCenter
|
|
var processType = flowDirection == EFlowDirection.OrgToCenter || flowDirection == EFlowDirection.CenterToCenter
|
|
? EProcessType.Zhiban
|
|
? EProcessType.Zhiban
|
|
: EProcessType.Jiaoban;
|
|
: EProcessType.Jiaoban;
|
|
- await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { ProcessType = processType, Status = EOrderStatus.SendBack })
|
|
|
|
|
|
+ await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { ProcessType = processType})
|
|
.Where(o => o.Id == sendBack.OrderId).ExecuteCommandAsync(HttpContext.RequestAborted);
|
|
.Where(o => o.Id == sendBack.OrderId).ExecuteCommandAsync(HttpContext.RequestAborted);
|
|
//发送短信TODO
|
|
//发送短信TODO
|
|
}
|
|
}
|
|
@@ -4289,8 +4312,6 @@ public class OrderController : BaseController
|
|
var processType = dto.FlowDirection == EFlowDirection.OrgToCenter || dto.FlowDirection == EFlowDirection.CenterToCenter
|
|
var processType = dto.FlowDirection == EFlowDirection.OrgToCenter || dto.FlowDirection == EFlowDirection.CenterToCenter
|
|
? EProcessType.Zhiban
|
|
? EProcessType.Zhiban
|
|
: EProcessType.Jiaoban;
|
|
: EProcessType.Jiaoban;
|
|
- await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { ProcessType = processType, Status = EOrderStatus.SendBack })
|
|
|
|
- .Where(o => o.Id == order.Id).ExecuteCommandAsync(HttpContext.RequestAborted);
|
|
|
|
await _workflowApplication.RecallAsync(recall, endTime, order.Status >= EOrderStatus.Filed, HttpContext.RequestAborted);
|
|
await _workflowApplication.RecallAsync(recall, endTime, order.Status >= EOrderStatus.Filed, HttpContext.RequestAborted);
|
|
var publish = await _orderPublishRepository.GetAsync(x => x.OrderId == dto.OrderId);
|
|
var publish = await _orderPublishRepository.GetAsync(x => x.OrderId == dto.OrderId);
|
|
if (publish != null)
|
|
if (publish != null)
|
|
@@ -4308,7 +4329,7 @@ public class OrderController : BaseController
|
|
}
|
|
}
|
|
|
|
|
|
var reTransactNum = order.ReTransactNum.HasValue ? order.ReTransactNum.Value + 1 : 1;
|
|
var reTransactNum = order.ReTransactNum.HasValue ? order.ReTransactNum.Value + 1 : 1;
|
|
- await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { ReTransactNum = reTransactNum }).Where(o => o.Id == order.Id)
|
|
|
|
|
|
+ await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { ProcessType = processType,ReTransactNum = reTransactNum, Status = EOrderStatus.BackToUnAccept }).Where(o => o.Id == order.Id)
|
|
.ExecuteCommandAsync(HttpContext.RequestAborted);
|
|
.ExecuteCommandAsync(HttpContext.RequestAborted);
|
|
|
|
|
|
var visit = await _orderVisitRepository.GetAsync(x => x.OrderId == dto.OrderId && x.VisitState != EVisitState.None);
|
|
var visit = await _orderVisitRepository.GetAsync(x => x.OrderId == dto.OrderId && x.VisitState != EVisitState.None);
|