|
@@ -2399,7 +2399,7 @@ public class OrderController : BaseController
|
|
|
//{
|
|
|
// throw UserFriendlyException.SameMessage("该工单存在正在审核中的延期,不能办理");
|
|
|
//}
|
|
|
- if (await _orderSendBackAuditRepository.AnyAsync(x => x.OrderId == order.Id && x.State == ESendBackAuditState.Apply, HttpContext.RequestAborted))
|
|
|
+ if (order != null && await _orderSendBackAuditRepository.AnyAsync(x => x.OrderId == order.Id && x.State == ESendBackAuditState.Apply, HttpContext.RequestAborted))
|
|
|
{
|
|
|
throw UserFriendlyException.SameMessage("该工单存在正在审核中的退回,不能办理");
|
|
|
}
|
|
@@ -2619,7 +2619,7 @@ public class OrderController : BaseController
|
|
|
{
|
|
|
var oneSendBack = bool.Parse(_systemSettingCacheManager.GetSetting(SettingConstants.OneOrgSendBack)?.SettingValue[0]);
|
|
|
var twoSendBack = bool.Parse(_systemSettingCacheManager.GetSetting(SettingConstants.TwoOrgSendBack)?.SettingValue[0]);
|
|
|
- if (oneSendBack || twoSendBack)
|
|
|
+ if (oneSendBack || twoSendBack)
|
|
|
{
|
|
|
var workflow =
|
|
|
await _workflowDomainService.GetWorkflowAsync(dto.WorkflowId, withSteps: true, cancellationToken: HttpContext.RequestAborted);
|
|
@@ -2637,6 +2637,12 @@ public class OrderController : BaseController
|
|
|
if (sendBack)
|
|
|
throw UserFriendlyException.SameMessage("当前工单已经生成退回记录");
|
|
|
|
|
|
+ var order = await _orderRepository
|
|
|
+ .Queryable()
|
|
|
+ .Includes(d => d.Workflow)
|
|
|
+ .FirstAsync(d => d.Id == workflow.ExternalId);
|
|
|
+ if (order.Workflow.IsInCountersign) throw UserFriendlyException.SameMessage("工单会签中,无法进行退回!");
|
|
|
+
|
|
|
var applyOrg = _organizeRepository.Get(currentStep.AcceptorOrgId);
|
|
|
var sendBackOrg = _organizeRepository.Get(prevStep.AcceptorOrgId);
|
|
|
if ((twoSendBack && 2.Equals(applyOrg.Level) && 1.Equals(sendBackOrg.Level) && !sendBackOrg.IsCenter)
|
|
@@ -2720,6 +2726,7 @@ public class OrderController : BaseController
|
|
|
.WhereIF(dto.CreationTimeStart.HasValue, d => d.CreationTime >= dto.CreationTimeStart)
|
|
|
.WhereIF(dto.CreationTimeEnd.HasValue, d => d.CreationTime <= dto.CreationTimeEnd)
|
|
|
.WhereIF(dto.State.HasValue, d => d.State == dto.State)
|
|
|
+ .Where(x=>x.SendBackOrgId == _sessionContext.OrgId)
|
|
|
.OrderByDescending(x => x.CreationTime)
|
|
|
.ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
|
|
|
|