|
@@ -751,19 +751,35 @@ public class OrderController : BaseController
|
|
|
[HttpGet("mayscreen")]
|
|
|
public async Task<PagedDto<OrderVisitDto>> MayScreenList([FromQuery] MayScreenListDto dto)
|
|
|
{
|
|
|
- var (total, items) = await _orderVisitRepository.Queryable()
|
|
|
- .Includes(x => x.Order)
|
|
|
- .Includes(x => x.Employee)
|
|
|
- .Includes(x => x.OrderVisitDetails.Where(vd=> vd.VisitTarget == EVisitTarget.Org && (
|
|
|
+ var query = _orderVisitRepository.Queryable()
|
|
|
+ .Includes(x => x.Order)
|
|
|
+ .Includes(x => x.Employee);
|
|
|
+ if (_sessionContext.OrgId != null && !_sessionContext.OrgId.StartsWith("001"))
|
|
|
+ {
|
|
|
+ query.Includes(x => x.OrderVisitDetails.Where(vd => vd.VisitTarget == EVisitTarget.Org && vd.VisitOrgCode == _sessionContext.OrgId && (
|
|
|
+ SqlFunc.JsonField(vd.OrgProcessingResults, "Name") == "不满意" || SqlFunc.JsonField(vd.OrgProcessingResults, "Name") == "非常不满意" ||
|
|
|
+ SqlFunc.JsonField(vd.OrgHandledAttitude, "Name") == "不满意" || SqlFunc.JsonField(vd.OrgHandledAttitude, "Name") == "非常不满意"
|
|
|
+ )).ToList())
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.Keyword), d => d.Order.Title.Contains(dto.Keyword!) || d.Order.No.Contains(dto.Keyword!))
|
|
|
+ .Where(ov => ov.OrderVisitDetails.Any(d =>
|
|
|
+ d.VisitTarget == EVisitTarget.Org && d.VisitOrgCode == _sessionContext.OrgId && (
|
|
|
+ SqlFunc.JsonField(d.OrgProcessingResults, "Name") == "不满意" || SqlFunc.JsonField(d.OrgProcessingResults, "Name") == "非常不满意" ||
|
|
|
+ SqlFunc.JsonField(d.OrgHandledAttitude, "Name") == "不满意" || SqlFunc.JsonField(d.OrgHandledAttitude, "Name") == "非常不满意"
|
|
|
+ )));
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ query.Includes(x => x.OrderVisitDetails.Where(vd => vd.VisitTarget == EVisitTarget.Org && (
|
|
|
SqlFunc.JsonField(vd.OrgProcessingResults, "Name") == "不满意" || SqlFunc.JsonField(vd.OrgProcessingResults, "Name") == "非常不满意" ||
|
|
|
SqlFunc.JsonField(vd.OrgHandledAttitude, "Name") == "不满意" || SqlFunc.JsonField(vd.OrgHandledAttitude, "Name") == "非常不满意"
|
|
|
- )).ToList())
|
|
|
- .WhereIF(!string.IsNullOrEmpty(dto.Keyword), d => d.Order.Title.Contains(dto.Keyword!) || d.Order.No.Contains(dto.Keyword!))
|
|
|
- .Where(ov=>ov.OrderVisitDetails.Any(d=>
|
|
|
- d.VisitTarget == EVisitTarget.Org && (
|
|
|
- SqlFunc.JsonField(d.OrgProcessingResults,"Name") =="不满意" || SqlFunc.JsonField(d.OrgProcessingResults, "Name") == "非常不满意" ||
|
|
|
- SqlFunc.JsonField(d.OrgHandledAttitude, "Name") == "不满意" || SqlFunc.JsonField(d.OrgHandledAttitude, "Name") == "非常不满意"
|
|
|
- )))
|
|
|
+ )).ToList())
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.Keyword), d => d.Order.Title.Contains(dto.Keyword!) || d.Order.No.Contains(dto.Keyword!))
|
|
|
+ .Where(ov => ov.OrderVisitDetails.Any(d =>
|
|
|
+ d.VisitTarget == EVisitTarget.Org && (
|
|
|
+ SqlFunc.JsonField(d.OrgProcessingResults, "Name") == "不满意" || SqlFunc.JsonField(d.OrgProcessingResults, "Name") == "非常不满意" ||
|
|
|
+ SqlFunc.JsonField(d.OrgHandledAttitude, "Name") == "不满意" || SqlFunc.JsonField(d.OrgHandledAttitude, "Name") == "非常不满意"
|
|
|
+ )));
|
|
|
+ }
|
|
|
+ var (total, items) = await query
|
|
|
.OrderBy(x => x.CreationTime)
|
|
|
.ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
|
|
|
return new PagedDto<OrderVisitDto>(total, _mapper.Map<IReadOnlyList<OrderVisitDto>>(items));
|