|
@@ -32,6 +32,8 @@ namespace Hotline.Api.Controllers
|
|
private readonly IOrderRepository _orderRepository;
|
|
private readonly IOrderRepository _orderRepository;
|
|
private readonly IOrderDelayRepository _orderDelayRepository;
|
|
private readonly IOrderDelayRepository _orderDelayRepository;
|
|
private readonly ITimeLimitDomainService _timeLimitDomainService;
|
|
private readonly ITimeLimitDomainService _timeLimitDomainService;
|
|
|
|
+ private readonly IOrderScreenRepository _orderScreenRepository;
|
|
|
|
+ private readonly IRepository<OrderVisitDetail> _orderVisitedDetailRepository;
|
|
|
|
|
|
public CommonPController(
|
|
public CommonPController(
|
|
ISystemCommonOpinionDomainService commonOpinionDomainService,
|
|
ISystemCommonOpinionDomainService commonOpinionDomainService,
|
|
@@ -41,7 +43,9 @@ namespace Hotline.Api.Controllers
|
|
IOrderRepository orderRepository,
|
|
IOrderRepository orderRepository,
|
|
IMapper mapper,
|
|
IMapper mapper,
|
|
IOrderDelayRepository orderDelayRepository,
|
|
IOrderDelayRepository orderDelayRepository,
|
|
- ITimeLimitDomainService timeLimitDomainService)
|
|
|
|
|
|
+ ITimeLimitDomainService timeLimitDomainService,
|
|
|
|
+ IOrderScreenRepository orderScreenRepository,
|
|
|
|
+ IRepository<OrderVisitDetail> orderVisitedDetailRepository)
|
|
{
|
|
{
|
|
_commonOpinionDomainService = commonOpinionDomainService;
|
|
_commonOpinionDomainService = commonOpinionDomainService;
|
|
_systemAreaDomainService= systemAreaDomainService;
|
|
_systemAreaDomainService= systemAreaDomainService;
|
|
@@ -51,6 +55,8 @@ namespace Hotline.Api.Controllers
|
|
_orderRepository = orderRepository;
|
|
_orderRepository = orderRepository;
|
|
_orderDelayRepository = orderDelayRepository;
|
|
_orderDelayRepository = orderDelayRepository;
|
|
_timeLimitDomainService = timeLimitDomainService;
|
|
_timeLimitDomainService = timeLimitDomainService;
|
|
|
|
+ _orderScreenRepository = orderScreenRepository;
|
|
|
|
+ _orderVisitedDetailRepository= orderVisitedDetailRepository;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -100,6 +106,7 @@ namespace Hotline.Api.Controllers
|
|
//部门
|
|
//部门
|
|
//今日待办 tasksOkNum
|
|
//今日待办 tasksOkNum
|
|
var time = DateTime.Parse(tadayTime);
|
|
var time = DateTime.Parse(tadayTime);
|
|
|
|
+ //工单
|
|
var order = await _orderRepository.Queryable()
|
|
var order = await _orderRepository.Queryable()
|
|
.Includes(o => o.Workflow, w => w.Steps)
|
|
.Includes(o => o.Workflow, w => w.Steps)
|
|
.Where(o => SqlFunc.JsonListObjectAny(o.Workflow.HandlerUsers, "Key", _sessionContext.RequiredUserId) || SqlFunc.JsonListObjectAny(o.Workflow.HandlerOrgs, "Key", _sessionContext.RequiredOrgId))
|
|
.Where(o => SqlFunc.JsonListObjectAny(o.Workflow.HandlerUsers, "Key", _sessionContext.RequiredUserId) || SqlFunc.JsonListObjectAny(o.Workflow.HandlerOrgs, "Key", _sessionContext.RequiredOrgId))
|
|
@@ -114,10 +121,28 @@ namespace Hotline.Api.Controllers
|
|
var aboutExpire = order?.aboutExpire ?? 0;
|
|
var aboutExpire = order?.aboutExpire ?? 0;
|
|
var havExpired = order?.havExpired ?? 0;
|
|
var havExpired = order?.havExpired ?? 0;
|
|
var countersignHandle = order?.countersignHandle ?? 0;
|
|
var countersignHandle = order?.countersignHandle ?? 0;
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- return new { AboutExpire = aboutExpire, HavExpired = havExpired, CountersignHandle = countersignHandle, ScreenAudit = "aa", Delay = "aa", ScreenHandle = "aa" };
|
|
|
|
|
|
+ //延期
|
|
|
|
+ var delay = await _orderDelayRepository.Queryable()
|
|
|
|
+ .Includes(x=>x.Workflow)
|
|
|
|
+ .Where(x=> SqlFunc.JsonListObjectAny(x.Workflow.HandlerUsers, "Key", _sessionContext.RequiredUserId) || SqlFunc.JsonListObjectAny(x.Workflow.HandlerOrgs, "Key", _sessionContext.RequiredOrgId))
|
|
|
|
+ .Where(x => x.DelayState == EDelayState.Examining).CountAsync();
|
|
|
|
+ //甄别
|
|
|
|
+ var screenAudit = await _orderScreenRepository.Queryable()
|
|
|
|
+ .Includes(x=>x.Workflow)
|
|
|
|
+ .Where(x => SqlFunc.JsonListObjectAny(x.Workflow.HandlerUsers, "Key", _sessionContext.RequiredUserId) || SqlFunc.JsonListObjectAny(x.Workflow.HandlerOrgs, "Key", _sessionContext.RequiredOrgId))
|
|
|
|
+ .Where(x => x.Status == EScreenStatus.Apply)
|
|
|
|
+ .CountAsync();
|
|
|
|
+ var workTime = _timeLimitDomainService.CalcWorkTimeReduce(DateTime.Now, 5);
|
|
|
|
+ var screenHandle = await _orderVisitedDetailRepository.Queryable(false, true)
|
|
|
|
+ .Includes(x => x.OrderVisit)
|
|
|
|
+ .LeftJoin<OrderScreen>((x, s) => x.Id == s.VisitDetailId && s.Status < EScreenStatus.End && s.IsDeleted == false)
|
|
|
|
+ .Where((x, s) => s.Id == null)
|
|
|
|
+ .Where(x => x.OrderVisit.VisitTime < time && x.OrderVisit.VisitTime > workTime)
|
|
|
|
+ .Where((x, s) => x.OrderVisit.VisitState != EVisitState.None && x.OrderVisit.IsCanHandle)
|
|
|
|
+ .Where((x, s) => x.VisitTarget == EVisitTarget.Org && x.VisitOrgCode.StartsWith(_sessionContext.OrgId) && (
|
|
|
|
+ SqlFunc.JsonField(x.OrgProcessingResults, "Key") == "1" || SqlFunc.JsonField(x.OrgProcessingResults, "Key") == "2" ||
|
|
|
|
+ SqlFunc.JsonField(x.OrgHandledAttitude, "Key") == "1" || SqlFunc.JsonField(x.OrgHandledAttitude, "Key") == "2")).CountAsync();
|
|
|
|
+ return new { AboutExpire = aboutExpire, HavExpired = havExpired, CountersignHandle = countersignHandle, ScreenAudit = screenAudit, Delay = delay, ScreenHandle = screenHandle };
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|