|
@@ -2163,7 +2163,9 @@ public class OrderController : BaseController
|
|
|
.WhereIF(dto.AreaCodes.Any(), d => dto.AreaCodes.Contains(d.AreaCode)) //区域
|
|
|
.WhereIF(dto.IsProvinceOrder.HasValue && dto.IsProvinceOrder == true, x => x.IsProvince == true)
|
|
|
.WhereIF(dto.IsProvinceOrder.HasValue && dto.IsProvinceOrder == false, x => x.IsProvince == false)
|
|
|
- .OrderByDescending(d => d.CreationTime)
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.SensitiveWord),x=> SqlFunc.JsonArrayAny(x.Sensitive, dto.SensitiveWord))
|
|
|
+ .WhereIF(dto.IsSensitiveWord.HasValue && dto.IsSensitiveWord == true, x => x.Sensitive != null)
|
|
|
+ .OrderByDescending(d => d.CreationTime)
|
|
|
.ToPagedListAsync(dto, HttpContext.RequestAborted);
|
|
|
|
|
|
return new PagedDto<OrderDto>(total, _mapper.Map<IReadOnlyList<OrderDto>>(items));
|
|
@@ -2843,7 +2845,11 @@ public class OrderController : BaseController
|
|
|
if (sendBack)
|
|
|
throw UserFriendlyException.SameMessage("当前工单已经生成退回记录");
|
|
|
|
|
|
- var order = await _orderRepository
|
|
|
+ var specialAny = await _orderSpecialRepository.Queryable().Where(x => x.OrderId == dto.OrderId && x.State == 0)
|
|
|
+ .AnyAsync();
|
|
|
+ if (specialAny) throw UserFriendlyException.SameMessage("工单已存在待审批特提信息!");
|
|
|
+
|
|
|
+ var order = await _orderRepository
|
|
|
.Queryable()
|
|
|
.Includes(d => d.Workflow)
|
|
|
.FirstAsync(d => d.Id == workflow.ExternalId);
|
|
@@ -2921,20 +2927,21 @@ public class OrderController : BaseController
|
|
|
[HttpGet("order_previous_list")]
|
|
|
public async Task<PagedDto<SendBackDto>> AuditList([FromQuery] SendBackListDto dto)
|
|
|
{
|
|
|
- var (total, items) = await _orderSendBackAuditRepository.Queryable()
|
|
|
- .Includes(x => x.Order)
|
|
|
- .WhereIF(!string.IsNullOrEmpty(dto.Keyword),
|
|
|
- d => d.Order.Title.Contains(dto.Keyword!) || d.Order.No.Contains(dto.Keyword!))
|
|
|
- .WhereIF(dto.CreationTimeStart.HasValue, d => d.CreationTime >= dto.CreationTimeStart)
|
|
|
- .WhereIF(dto.CreationTimeEnd.HasValue, d => d.CreationTime <= dto.CreationTimeEnd)
|
|
|
- .WhereIF(dto.AuditState == 1, d => d.State == ESendBackAuditState.Apply)
|
|
|
- .WhereIF(dto.AuditState == 2 && !dto.State.HasValue, d => d.State > ESendBackAuditState.Apply)
|
|
|
- .WhereIF(dto.AuditState == 2 && dto.State.HasValue, d => d.State == dto.State)
|
|
|
- .Where(x => x.SendBackOrgId == _sessionContext.OrgId)
|
|
|
- .OrderByDescending(x => x.CreationTime)
|
|
|
+ var query = _orderSendBackAuditRepository.Queryable()
|
|
|
+ .Includes(x => x.Order)
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.Keyword),
|
|
|
+ d => d.Order.Title.Contains(dto.Keyword!) || d.Order.No.Contains(dto.Keyword!))
|
|
|
+ .WhereIF(dto.CreationTimeStart.HasValue, d => d.CreationTime >= dto.CreationTimeStart)
|
|
|
+ .WhereIF(dto.CreationTimeEnd.HasValue, d => d.CreationTime <= dto.CreationTimeEnd)
|
|
|
+ .WhereIF(dto.AuditState == 1, d => d.State == ESendBackAuditState.Apply)
|
|
|
+ .WhereIF(dto.AuditState == 2 && !dto.State.HasValue, d => d.State > ESendBackAuditState.Apply)
|
|
|
+ .WhereIF(dto.AuditState == 2 && dto.State.HasValue, d => d.State == dto.State)
|
|
|
+ .WhereIF(_sessionContext.Roles.Contains("123") == false, x => x.SendBackOrgId == _sessionContext.OrgId);// 123 系统管理员
|
|
|
+
|
|
|
+ var (total, items) = await query.OrderByDescending(x => x.CreationTime)
|
|
|
.ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
|
|
|
|
|
|
- return new PagedDto<SendBackDto>(total, _mapper.Map<IReadOnlyList<SendBackDto>>(items));
|
|
|
+ return new PagedDto<SendBackDto>(total, _mapper.Map<IReadOnlyList<SendBackDto>>(items));
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -3143,7 +3150,12 @@ public class OrderController : BaseController
|
|
|
var screen = await _orderScreenRepository.Queryable().Where(x => x.OrderId == dto.OrderId && (int)x.Status < 2).AnyAsync();
|
|
|
if (screen) throw UserFriendlyException.SameMessage("工单存在甄别中的信息!");
|
|
|
|
|
|
- var order = await _orderRepository
|
|
|
+ if (await _orderSendBackAuditRepository.AnyAsync(x => x.OrderId == dto.OrderId && x.State == ESendBackAuditState.Apply, HttpContext.RequestAborted))
|
|
|
+ {
|
|
|
+ throw UserFriendlyException.SameMessage("该工单存在正在审核中的退回,不能办理");
|
|
|
+ }
|
|
|
+
|
|
|
+ var order = await _orderRepository
|
|
|
.Queryable()
|
|
|
.Includes(d => d.Workflow)
|
|
|
.FirstAsync(d => d.Id == dto.OrderId);
|
|
@@ -3259,6 +3271,11 @@ public class OrderController : BaseController
|
|
|
var screen = await _orderScreenRepository.Queryable().Where(x => x.OrderId == dto.OrderId && (int)x.Status < 2).AnyAsync();
|
|
|
if (screen) throw UserFriendlyException.SameMessage("工单存在甄别中的信息!");
|
|
|
|
|
|
+ if (await _orderSendBackAuditRepository.AnyAsync(x => x.OrderId == dto.OrderId && x.State == ESendBackAuditState.Apply, HttpContext.RequestAborted))
|
|
|
+ {
|
|
|
+ throw UserFriendlyException.SameMessage("该工单存在正在审核中的退回,不能办理");
|
|
|
+ }
|
|
|
+
|
|
|
var order = await _orderRepository
|
|
|
.Queryable()
|
|
|
.Includes(d => d.Workflow)
|
|
@@ -3336,7 +3353,7 @@ public class OrderController : BaseController
|
|
|
.FirstAsync(d => d.Id == dto.Id);
|
|
|
if (special is null) throw UserFriendlyException.SameMessage("无效特提审批信息!");
|
|
|
if (special.State != 0) throw UserFriendlyException.SameMessage("无效特提审批信息,特提审批信息错误,该信息已审核!");
|
|
|
- if (string.IsNullOrEmpty(dto.NextStepName)) dto.NextStepName = special.NextStepName;
|
|
|
+ if (string.IsNullOrEmpty(dto.NextStepName)) dto.NextStepName = special.NextStepName;
|
|
|
if (string.IsNullOrEmpty(dto.NextStepCode)) dto.NextStepCode = special.NextStepCode;
|
|
|
if (dto.NextHandlers.Count <= 0) dto.NextHandlers = special.NextHandlers;
|
|
|
_mapper.Map(dto, special);
|