|
@@ -213,7 +213,7 @@ public class OrderController : BaseController
|
|
|
.WhereIF(dto.PubState == EPubState.Pub, d => d.Status >= EOrderStatus.Published)
|
|
|
.WhereIF(dto.PubState == EPubState.NoPub, d => d.Status < EOrderStatus.Published)
|
|
|
.WhereIF(!string.IsNullOrEmpty(dto.PubMan),
|
|
|
- d => d.Acceptor.Name.Contains(dto.PubMan!) || d.Acceptor.StaffNo.Contains(dto.PubMan!))
|
|
|
+ d => d.AcceptorName.Contains(dto.PubMan!) || d.AcceptorStaffNo.Contains(dto.PubMan!))
|
|
|
.WhereIF(dto.PubRange == EPublicState.Pub, d => d.OrderPublish.PublishState)
|
|
|
.WhereIF(dto.PubRange == EPublicState.NoPub, d => !d.OrderPublish.PublishState)
|
|
|
.WhereIF(dto.FiledType != null && dto.FiledType == FiledType.CenterFiled, d => d.ProcessType == EProcessType.Zhiban)
|
|
@@ -434,7 +434,6 @@ public class OrderController : BaseController
|
|
|
public async Task<PublishOrderPageBaseDto> PublishOrderPageBase(string id)
|
|
|
{
|
|
|
var order = await _orderRepository.Queryable()
|
|
|
- .Includes(d => d.Acceptor)
|
|
|
.Includes(d => d.OrderExtension)
|
|
|
.FirstAsync(d => d.Id == id);
|
|
|
|
|
@@ -1091,7 +1090,6 @@ public class OrderController : BaseController
|
|
|
public async Task<PagedDto<OrderDto>> CanDelayOrderList([FromQuery] CanDelayOrderListDto dto)
|
|
|
{
|
|
|
var (total, items) = await _orderRepository.Queryable()
|
|
|
- .Includes(d => d.Acceptor)
|
|
|
.WhereIF(!string.IsNullOrEmpty(dto.Keyword),
|
|
|
d => d.Title.Contains(dto.Keyword!) || d.No.Contains(dto.Keyword!))
|
|
|
.Where(d => d.Status != EOrderStatus.WaitForAccept && d.Status != EOrderStatus.Filed &&
|
|
@@ -1185,7 +1183,7 @@ public class OrderController : BaseController
|
|
|
[HttpGet("delay")]
|
|
|
public async Task<PagedDto<OrderDelayDto>> DelayList([FromQuery] DelayListDto dto)
|
|
|
{
|
|
|
- var (total, items) = await _orderDelayRepository.Queryable(workflowFilter: false)
|
|
|
+ var (total, items) = await _orderDelayRepository.Queryable(viewFilter: false)
|
|
|
.Includes(x => x.Order)
|
|
|
.Includes(x => x.Workflow)
|
|
|
.WhereIF(!string.IsNullOrEmpty(dto.Keyword),
|
|
@@ -1207,7 +1205,9 @@ public class OrderController : BaseController
|
|
|
[HttpGet("wait_delay")]
|
|
|
public async Task<PagedDto<OrderDelayDto>> WaitDelayList([FromQuery] DelayListDto dto)
|
|
|
{
|
|
|
- var (total, items) = await _orderDelayRepository.Queryable()
|
|
|
+ var isHandled = dto.IsApply.HasValue && dto.IsApply.Value;
|
|
|
+ var (total, items) = await _orderDelayRepository
|
|
|
+ .Queryable(viewFilter: true, handlerFilter: !isHandled)
|
|
|
.WhereIF(!string.IsNullOrEmpty(dto.Keyword),
|
|
|
d => d.Order.Title.Contains(dto.Keyword!) || d.No.Contains(dto.Keyword!))
|
|
|
.WhereIF(dto.IsApply == true, x => x.DelayState != EDelayState.Examining)
|
|
@@ -1228,12 +1228,12 @@ public class OrderController : BaseController
|
|
|
[HttpGet("delay/{id}")]
|
|
|
public async Task<OrderDelayDto> DelayEntity(string id)
|
|
|
{
|
|
|
- var model = await _orderDelayRepository.Queryable(workflowFilter: false)
|
|
|
+ var model = await _orderDelayRepository.Queryable()
|
|
|
.Includes(x => x.Order)
|
|
|
.Includes(x => x.Workflow)
|
|
|
.FirstAsync(x => x.Id == id);
|
|
|
var rspModel = _mapper.Map<OrderDelayDto>(model);
|
|
|
- rspModel.IsCanHandle = model.Workflow.CanHandle(_sessionContext.RequiredUserId, _sessionContext.RequiredOrgId);
|
|
|
+ rspModel.IsCanHandle = model.CanHandle(_sessionContext.RequiredUserId, _sessionContext.RequiredOrgId);
|
|
|
if (rspModel.FileJson != null && rspModel.FileJson.Any())
|
|
|
{
|
|
|
var ids = rspModel.FileJson.Select(x => x.Id).ToList();
|
|
@@ -1339,7 +1339,7 @@ public class OrderController : BaseController
|
|
|
[HttpGet("screen")]
|
|
|
public async Task<PagedDto<OrderScreenListDto>> ScreenList([FromQuery] ScreenListDto dto)
|
|
|
{
|
|
|
- var query = _orderScreenRepository.Queryable(workflowFilter: false)
|
|
|
+ var query = _orderScreenRepository.Queryable(viewFilter: false)
|
|
|
.Includes(x => x.Order)
|
|
|
.Includes(x => x.VisitDetail)
|
|
|
.Includes(x => x.Visit, d => d.Order)
|
|
@@ -1509,13 +1509,13 @@ public class OrderController : BaseController
|
|
|
[HttpGet("screen/{id}")]
|
|
|
public async Task<OrderScreenListDto> ScreenEntity(string id)
|
|
|
{
|
|
|
- var model = await _orderScreenRepository.Queryable(workflowFilter: false)
|
|
|
+ var model = await _orderScreenRepository.Queryable(viewFilter: false)
|
|
|
.Includes(x => x.Order)
|
|
|
.Includes(x => x.Workflow)
|
|
|
.Includes(x => x.Visit, d => d.Order)
|
|
|
.FirstAsync(x => x.Id == id);
|
|
|
var rspModel = _mapper.Map<OrderScreenListDto>(model);
|
|
|
- rspModel.IsCanHandle = model.Workflow.CanHandle(_sessionContext.RequiredUserId, _sessionContext.RequiredOrgId);
|
|
|
+ rspModel.IsCanHandle = model.CanHandle(_sessionContext.RequiredUserId, _sessionContext.RequiredOrgId);
|
|
|
rspModel.Handle = await _workflowDomainService.CheckCurrentIsStartStepAsync(rspModel.WorkflowId, _sessionContext.RequiredUserId, _sessionContext.RequiredOrgId, HttpContext.RequestAborted);
|
|
|
if (rspModel.FileJson != null && rspModel.FileJson.Any())
|
|
|
{
|
|
@@ -1909,7 +1909,7 @@ public class OrderController : BaseController
|
|
|
[HttpGet]
|
|
|
public async Task<PagedDto<OrderDto>> Query([FromQuery] QueryOrderDto dto)
|
|
|
{
|
|
|
- var (total, items) = await _orderRepository.Queryable(workflowFilter: false)
|
|
|
+ var (total, items) = await _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))
|
|
@@ -1975,8 +1975,7 @@ public class OrderController : BaseController
|
|
|
[HttpGet("{id}")]
|
|
|
public async Task<OrderDto> Get(string id)
|
|
|
{
|
|
|
- var order = await _orderRepository.Queryable(workflowFilter: false)
|
|
|
- .Includes(d => d.Acceptor)
|
|
|
+ var order = await _orderRepository.Queryable()
|
|
|
.Includes(d => d.OrderExtension)
|
|
|
.Includes(d => d.OrderDelays)
|
|
|
.Includes(d => d.OrderScreens)
|
|
@@ -2352,31 +2351,14 @@ public class OrderController : BaseController
|
|
|
[HttpGet("waited")]
|
|
|
public async Task<PagedDto<OrderDto>> QueryWaited([FromQuery] QueryOrderWaitedDto dto)
|
|
|
{
|
|
|
- var query = dto.IsHandled.HasValue && !dto.IsHandled.Value
|
|
|
- ? _orderRepository.Queryable().Where(d =>
|
|
|
- SqlFunc.JsonListObjectAny(d.Workflow.HandlerUsers, "Key", _sessionContext.RequiredUserId) ||
|
|
|
- SqlFunc.JsonListObjectAny(d.Workflow.HandlerOrgs, "Key", _sessionContext.RequiredOrgId))
|
|
|
- : _orderRepository.Queryable();
|
|
|
-
|
|
|
- var (total, items) = await query
|
|
|
+ var (total, items) = await _orderRepository
|
|
|
+ .Queryable(viewFilter: true, handlerFilter: dto.IsHandled.HasValue && dto.IsHandled.Value)
|
|
|
.WhereIF(dto.IsProvince.HasValue, d => d.IsProvince == dto.IsProvince)
|
|
|
.WhereIF(!string.IsNullOrEmpty(dto.Keyword),
|
|
|
d => d.No.Contains(dto.Keyword) || d.Title.Contains(dto.Keyword))
|
|
|
.OrderByDescending(d => d.StartTime)
|
|
|
.ToPagedListAsync(dto, HttpContext.RequestAborted);
|
|
|
|
|
|
-
|
|
|
- //var (total, items) = await _orderRepository.Queryable()
|
|
|
- // .Includes(d => d.Workflow, x => x.Steps)
|
|
|
- // .WhereIF(dto.IsProvince.HasValue, d => d.IsProvince == dto.IsProvince)
|
|
|
- // .WhereIF(dto.IsHandled.HasValue && dto.IsHandled.Value, d => d.Workflow.Steps.Any(x => x.Status == EWorkflowStepStatus.Handled))
|
|
|
- // .WhereIF(dto.IsHandled.HasValue && !dto.IsHandled.Value, d => d.Workflow.Steps.Any(x => x.Status != EWorkflowStepStatus.Handled))
|
|
|
- // .WhereIF(!string.IsNullOrEmpty(dto.Keyword),
|
|
|
- // d => d.No.Contains(dto.Keyword) || d.Title.Contains(dto.Keyword))
|
|
|
- // .OrderByDescending(d => d.StartTime)
|
|
|
- // .ToPagedListAsync(dto, HttpContext.RequestAborted);
|
|
|
-
|
|
|
-
|
|
|
return new PagedDto<OrderDto>(total, _mapper.Map<IReadOnlyList<OrderDto>>(items));
|
|
|
}
|
|
|
|
|
@@ -2393,7 +2375,7 @@ public class OrderController : BaseController
|
|
|
: d is EOrderStatus.WaitForAccept or EOrderStatus.BackToUnAccept)
|
|
|
.ToArray();
|
|
|
|
|
|
- var (total, items) = await _orderRepository.Queryable(workflowFilter: false)
|
|
|
+ var (total, items) = await _orderRepository.Queryable(viewFilter: false)
|
|
|
.WhereIF(dto.IsProvince.HasValue, d => d.IsProvince == dto.IsProvince)
|
|
|
.WhereIF(dto.IsHandled.HasValue, d => handleStatuses.Contains(d.Status))
|
|
|
.WhereIF(!string.IsNullOrEmpty(dto.Keyword),
|