|
@@ -27,15 +27,17 @@ namespace Hotline.Repository.SqlSugar.Orders
|
|
{
|
|
{
|
|
private readonly IDataPermissionFilterBuilder _dataPermissionFilterBuilder;
|
|
private readonly IDataPermissionFilterBuilder _dataPermissionFilterBuilder;
|
|
private readonly IRepository<OrderSendBackAudit> _orderSendBackAuditRepository;
|
|
private readonly IRepository<OrderSendBackAudit> _orderSendBackAuditRepository;
|
|
|
|
+ private readonly IRepository<OrderVisit> _orderVisitRepository;
|
|
|
|
|
|
public OrderRepository(ISugarUnitOfWork<HotlineDbContext> uow,
|
|
public OrderRepository(ISugarUnitOfWork<HotlineDbContext> uow,
|
|
IDataPermissionFilterBuilder dataPermissionFilterBuilder,
|
|
IDataPermissionFilterBuilder dataPermissionFilterBuilder,
|
|
- IRepository<OrderSendBackAudit> orderSendBackAuditRepository
|
|
|
|
|
|
+ IRepository<OrderSendBackAudit> orderSendBackAuditRepository,
|
|
|
|
+ IRepository<OrderVisit> orderVisitRepository
|
|
) : base(uow, dataPermissionFilterBuilder)
|
|
) : base(uow, dataPermissionFilterBuilder)
|
|
{
|
|
{
|
|
_dataPermissionFilterBuilder = dataPermissionFilterBuilder;
|
|
_dataPermissionFilterBuilder = dataPermissionFilterBuilder;
|
|
_orderSendBackAuditRepository = orderSendBackAuditRepository;
|
|
_orderSendBackAuditRepository = orderSendBackAuditRepository;
|
|
-
|
|
|
|
|
|
+ _orderVisitRepository = orderVisitRepository;
|
|
}
|
|
}
|
|
|
|
|
|
public async Task<string> AddOrderNavAsync(Order order, CancellationToken cancellationToken)
|
|
public async Task<string> AddOrderNavAsync(Order order, CancellationToken cancellationToken)
|
|
@@ -1200,6 +1202,42 @@ namespace Hotline.Repository.SqlSugar.Orders
|
|
}).OrderByDescending(x => x.CreationTime);
|
|
}).OrderByDescending(x => x.CreationTime);
|
|
return result;
|
|
return result;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 扭转列表
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <param name="dto"></param>
|
|
|
|
+ /// <returns></returns>
|
|
|
|
+ public ISugarQueryable<OrderVisit> VisitJudgeQuery(VisitJudgeQueryReq dto)
|
|
|
|
+ {
|
|
|
|
+ return _orderVisitRepository.Queryable()
|
|
|
|
+ .Includes(x => x.Order)
|
|
|
|
+ .Includes(x => x.Employee)
|
|
|
|
+ .Where(x => x.VisitState == EVisitState.Visited)
|
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.No), x => x.No == dto.No)
|
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.Title), x => x.Order.Title.Contains(dto.Title))
|
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.VisitUserName), x => x.Employee.Name.Contains(dto.VisitUserName))
|
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.AcceptType), d => d.Order.AcceptTypeCode == dto.AcceptType)//受理类型
|
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.Hotspot), d => d.Order.HotspotSpliceName != null && d.Order.HotspotSpliceName.Contains(dto.Hotspot))//热点类型
|
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.OrgId), d => d.Order.CurrentHandleOrgId == dto.OrgId)//接办部门
|
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.NameOrNo),
|
|
|
|
+ d => d.Order.AcceptorName.Contains(dto.NameOrNo!) || d.Order.AcceptorStaffNo.Contains(dto.NameOrNo!)) //受理人/坐席
|
|
|
|
+ .WhereIF(dto.CreationTimeStart.HasValue, d => d.CreationTime >= dto.CreationTimeStart) //受理时间开始
|
|
|
|
+ .WhereIF(dto.CreationTimeEnd.HasValue, d => d.CreationTime <= dto.CreationTimeEnd) //受理时间结束
|
|
|
|
+ .WhereIF(dto.ActualHandleTimeStart.HasValue, d => d.Order.ActualHandleTime >= dto.ActualHandleTimeStart) //办结时间开始
|
|
|
|
+ .WhereIF(dto.ActualHandleTimeEnd.HasValue, d => d.Order.ActualHandleTime <= dto.ActualHandleTimeEnd) //办结时间结束
|
|
|
|
+ .WhereIF(dto.VisitTimeStart.HasValue, d => d.VisitTime >= dto.VisitTimeStart) //回访开始时间
|
|
|
|
+ .WhereIF(dto.VisitTimeEnd.HasValue, d => d.VisitTime <= dto.VisitTimeEnd)
|
|
|
|
+ .WhereIF(dto.IsIng == true, d => d.JudgeState == EJudgeState.Judging)
|
|
|
|
+ .WhereIF(dto.IsIng == false, d => d.JudgeState != EJudgeState.Judging)
|
|
|
|
+ .WhereIF(dto.JudgeState != null, d => d.JudgeState == dto.JudgeState)
|
|
|
|
+ .WhereIF(dto.OrgJudge != null, d => d.OrgJudge == dto.OrgJudge)
|
|
|
|
+ .WhereIF(dto.SeatJudge != null, d => d.SeatJudge == dto.SeatJudge)
|
|
|
|
+ .WhereIF(dto.FiledType != null && dto.FiledType == FiledType.CenterFiled, d => d.Order.ProcessType == EProcessType.Zhiban)
|
|
|
|
+ .WhereIF(dto.FiledType != null && dto.FiledType == FiledType.OrgFiled, d => d.Order.ProcessType == EProcessType.Jiaoban)
|
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.TransferPhone), x => x.Order.TransferPhone == dto.TransferPhone)
|
|
|
|
+ .OrderByDescending(x => x.VisitTime);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
public class OrderScreenRepository : BaseRepositoryWorkflow<OrderScreen>, IOrderScreenRepository, IScopeDependency
|
|
public class OrderScreenRepository : BaseRepositoryWorkflow<OrderScreen>, IOrderScreenRepository, IScopeDependency
|