|
@@ -2423,11 +2423,18 @@ public class OrderController : BaseController
|
|
_sessionContext.RequiredOrgId, _sessionContext.OrgName,
|
|
_sessionContext.RequiredOrgId, _sessionContext.OrgName,
|
|
_sessionContext.OrgAreaCode, _sessionContext.OrgAreaName));
|
|
_sessionContext.OrgAreaCode, _sessionContext.OrgAreaName));
|
|
}
|
|
}
|
|
|
|
+ var setting = _systemSettingCacheManager.GetSetting(SettingConstants.SeatsMonitor);
|
|
|
|
+ var settingStr = setting?.SettingValue;
|
|
|
|
+ var roles = _sessionContext.Roles;
|
|
|
|
+ foreach (var item in settingStr)
|
|
|
|
+ {
|
|
|
|
+ if (roles != null && roles.Contains(item)) dto.CanHandle = true;
|
|
|
|
+ }
|
|
|
|
|
|
- //var dto = _mapper.Map<OrderDto>(order!);
|
|
|
|
- //dto.CountersignId = countersignId;
|
|
|
|
- //dto.CanHandle = order.CanHandle(_sessionContext.RequiredUserId, _sessionContext.RequiredOrgId);
|
|
|
|
- dto.IsCanDelay = !order.OrderDelays.Any(x => x.DelayState == EDelayState.Examining);
|
|
|
|
|
|
+ //var dto = _mapper.Map<OrderDto>(order!);
|
|
|
|
+ //dto.CountersignId = countersignId;
|
|
|
|
+ //dto.CanHandle = order.CanHandle(_sessionContext.RequiredUserId, _sessionContext.RequiredOrgId);
|
|
|
|
+ dto.IsCanDelay = !order.OrderDelays.Any(x => x.DelayState == EDelayState.Examining);
|
|
if (order.OrderDelays.Any(x => x.DelayState == EDelayState.Examining && x.ApplyOrgCode == _sessionContext.RequiredOrgId))
|
|
if (order.OrderDelays.Any(x => x.DelayState == EDelayState.Examining && x.ApplyOrgCode == _sessionContext.RequiredOrgId))
|
|
{
|
|
{
|
|
dto.CanHandle = false;
|
|
dto.CanHandle = false;
|
|
@@ -3198,16 +3205,18 @@ public class OrderController : BaseController
|
|
dto.StartTimeEnd = dto.StartTimeEnd.Value.AddDays(1).AddSeconds(-1);
|
|
dto.StartTimeEnd = dto.StartTimeEnd.Value.AddDays(1).AddSeconds(-1);
|
|
|
|
|
|
var (total, items) = await _orderRepository.Queryable()
|
|
var (total, items) = await _orderRepository.Queryable()
|
|
- .LeftJoin<WorkflowStep>((d, step) => d.Id == step.ExternalId)
|
|
|
|
- .Where((d, step) =>
|
|
|
|
- ((string.IsNullOrEmpty(d.WorkflowId) && (string.IsNullOrEmpty(d.SignerId) || d.SignerId == _sessionContext.RequiredUserId)) ||
|
|
|
|
- (!string.IsNullOrEmpty(d.WorkflowId) &&
|
|
|
|
- ((step.FlowAssignType == EFlowAssignType.User && !string.IsNullOrEmpty(step.HandlerId) && step.HandlerId == _sessionContext.RequiredUserId) ||
|
|
|
|
- (step.FlowAssignType == EFlowAssignType.Org && !string.IsNullOrEmpty(step.HandlerOrgId) && step.HandlerOrgId == _sessionContext.RequiredOrgId) ||
|
|
|
|
- (step.FlowAssignType == EFlowAssignType.Role && !string.IsNullOrEmpty(step.RoleId) && _sessionContext.Roles.Contains(step.RoleId))) &&
|
|
|
|
- ( step.Status != EWorkflowStepStatus.Handled )
|
|
|
|
- )))
|
|
|
|
- //.Where(d => d.Workflow.Steps.Any(s => s.Status < EWorkflowStepStatus.Handled && s.HandlerOrgId == OrgSeedData.CenterId))
|
|
|
|
|
|
+ //.LeftJoin<WorkflowStep>((d, step) => d.Id == step.ExternalId)
|
|
|
|
+ //.Where((d, step) =>
|
|
|
|
+ // ((string.IsNullOrEmpty(d.WorkflowId) && (string.IsNullOrEmpty(d.SignerId) || d.SignerId == _sessionContext.RequiredUserId)) ||
|
|
|
|
+ // (!string.IsNullOrEmpty(d.WorkflowId) &&
|
|
|
|
+ // ((step.FlowAssignType == EFlowAssignType.User && !string.IsNullOrEmpty(step.HandlerId) && step.HandlerId == _sessionContext.RequiredUserId) ||
|
|
|
|
+ // (step.FlowAssignType == EFlowAssignType.Org && !string.IsNullOrEmpty(step.HandlerOrgId) && step.HandlerOrgId == _sessionContext.RequiredOrgId) ||
|
|
|
|
+ // (step.FlowAssignType == EFlowAssignType.Role && !string.IsNullOrEmpty(step.RoleId) && _sessionContext.Roles.Contains(step.RoleId))) &&
|
|
|
|
+ // ( step.Status != EWorkflowStepStatus.Handled )
|
|
|
|
+ // )))
|
|
|
|
+ //.Where(d => d.Workflow.Steps.Any(s => s.Status < EWorkflowStepStatus.Handled && s.HandlerOrgId == OrgSeedData.CenterId))
|
|
|
|
+ .LeftJoin<WorkflowStep>((d, step) => d.Id == step.ExternalId)
|
|
|
|
+ .Where((d,step)=> (step.Id == null || step.HandlerOrgId == OrgSeedData.CenterId))
|
|
.Where(d => d.Source < ESource.MLSQ || d.Source > ESource.WZSC)
|
|
.Where(d => d.Source < ESource.MLSQ || d.Source > ESource.WZSC)
|
|
.Where(d => d.Status != EOrderStatus.BackToProvince && d.Status < EOrderStatus.Filed)
|
|
.Where(d => d.Status != EOrderStatus.BackToProvince && d.Status < EOrderStatus.Filed)
|
|
.WhereIF(!string.IsNullOrEmpty(dto.No), d => d.No!.Contains(dto.No!))
|
|
.WhereIF(!string.IsNullOrEmpty(dto.No), d => d.No!.Contains(dto.No!))
|
|
@@ -5008,8 +5017,9 @@ public class OrderController : BaseController
|
|
if (order.IsSigned())
|
|
if (order.IsSigned())
|
|
throw new UserFriendlyException("该工单已被签收");
|
|
throw new UserFriendlyException("该工单已被签收");
|
|
order.Sign(_sessionContext.RequiredUserId, _sessionContext.UserName);
|
|
order.Sign(_sessionContext.RequiredUserId, _sessionContext.UserName);
|
|
|
|
+ order.AutoAccept(_sessionContext.RequiredUserId, _sessionContext.UserName, _sessionContext.StaffNo);
|
|
|
|
|
|
- if (!string.IsNullOrEmpty(order.WorkflowId))
|
|
|
|
|
|
+ if (!string.IsNullOrEmpty(order.WorkflowId))
|
|
{
|
|
{
|
|
var workflow = await _workflowDomainService.SignToSomebodyAsync(
|
|
var workflow = await _workflowDomainService.SignToSomebodyAsync(
|
|
order.WorkflowId,
|
|
order.WorkflowId,
|