|
@@ -2096,7 +2096,12 @@ public class OrderController : BaseController
|
|
|
var model = _mapper.Map<OrderSpecial>(dto);
|
|
|
model.OrgId = _sessionContext.OrgId;
|
|
|
model.OrgName = _sessionContext.OrgName;
|
|
|
+ if (!dto.Audit) model.State = 1;
|
|
|
await _orderSpecialRepository.AddAsync(model, HttpContext.RequestAborted);
|
|
|
+ if (model.State == 1)
|
|
|
+ {
|
|
|
+ //TODO 调用流程
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -2139,6 +2144,46 @@ public class OrderController : BaseController
|
|
|
return new PagedDto<OrderSpecialDto>(total, _mapper.Map<IReadOnlyList<OrderSpecialDto>>(items));
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 工单列表
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpGet("special/apply_list")]
|
|
|
+ public async Task<PagedDto<OrderDto>> SpecialList([FromQuery] QueryOrderDto dto)
|
|
|
+ {
|
|
|
+ var query = _orderRepository.Queryable()
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.Keyword),
|
|
|
+ d => d.Title.Contains(dto.Keyword!) || d.No.Contains(dto.Keyword!))
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.Content), d => d.Content.Contains(dto.Content!))
|
|
|
+ .WhereIF(dto.AcceptTypes.Any(), d => dto.AcceptTypes.Contains(d.AcceptType))
|
|
|
+ .WhereIF(dto.Channels.Any(), d => dto.Channels.Contains(d.SourceChannel))
|
|
|
+ .WhereIF(dto.HotspotIds.Any(), d => dto.HotspotIds.Contains(d.HotspotId))
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.TransferPhone), d => d.TransferPhone.Contains(dto.TransferPhone!))
|
|
|
+ .WhereIF(dto.OrgCodes.Any(), d => dto.OrgCodes.Contains(d.Workflow.ActualHandleOrgCode))
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.NameOrNo),
|
|
|
+ d => d.AcceptorName.Contains(dto.NameOrNo!) || d.AcceptorStaffNo.Contains(dto.NameOrNo!))
|
|
|
+ .WhereIF(dto.CreationTimeStart.HasValue, d => d.CreationTime >= dto.CreationTimeStart)
|
|
|
+ .WhereIF(dto.CreationTimeEnd.HasValue, d => d.CreationTime <= dto.CreationTimeEnd)
|
|
|
+ .WhereIF(dto.EmergencyLevels.Any(), d => dto.EmergencyLevels.Contains(d.EmergencyLevel))
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.PhoneNo),
|
|
|
+ d => d.FromPhone.Contains(dto.PhoneNo!) || d.Contact.Contains(dto.PhoneNo!))
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.PushTypeCode), d => d.PushTypeCode == dto.PushTypeCode)
|
|
|
+ .WhereIF(dto.ExpiredTimeStart.HasValue, d => d.ExpiredTime >= dto.ExpiredTimeStart)
|
|
|
+ .WhereIF(dto.ExpiredTimeEnd.HasValue, d => d.ExpiredTime <= dto.ExpiredTimeEnd)
|
|
|
+ .WhereIF(dto.Statuses.Any(), d => dto.Statuses.Contains(d.Status))
|
|
|
+ .WhereIF(dto.Statuses.Any(d => d == EOrderStatus.BackToUnAccept), d => d.Status <= EOrderStatus.BackToUnAccept);
|
|
|
+ if (!_sessionContext.OrgIsCenter && _sessionContext.OrgId.Length >= 6)
|
|
|
+ {
|
|
|
+ var oneCode = _sessionContext.OrgId.Substring(0, 6);
|
|
|
+ query = query.Where(x => x.AcceptorOrgCode.StartsWith(oneCode) && !x.AcceptorOrgCode.StartsWith(_sessionContext.OrgId));
|
|
|
+ }
|
|
|
+ var (total, items) = await query
|
|
|
+ .OrderByDescending(d => d.CreationTime)
|
|
|
+ .ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
|
|
|
+ return new PagedDto<OrderDto>(total, _mapper.Map<IReadOnlyList<OrderDto>>(items));
|
|
|
+ }
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 获取工单特提信息
|
|
|
/// </summary>
|