|
@@ -756,7 +756,7 @@ public class OrderController : BaseController
|
|
startDto.DefinitionModuleCode = WorkflowModuleConsts.OrderDelay;
|
|
startDto.DefinitionModuleCode = WorkflowModuleConsts.OrderDelay;
|
|
startDto.Title = model.DelayReason;
|
|
startDto.Title = model.DelayReason;
|
|
string workFlowId = await _workflowApplication.StartWorkflowAsync(startDto, id, HttpContext.RequestAborted);
|
|
string workFlowId = await _workflowApplication.StartWorkflowAsync(startDto, id, HttpContext.RequestAborted);
|
|
- model.WorkFlowId = workFlowId;
|
|
|
|
|
|
+ model.WorkflowId = workFlowId;
|
|
await _orderDelayRepository.UpdateAsync(model, HttpContext.RequestAborted);
|
|
await _orderDelayRepository.UpdateAsync(model, HttpContext.RequestAborted);
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
catch (Exception ex)
|
|
@@ -772,11 +772,12 @@ public class OrderController : BaseController
|
|
/// <returns></returns>
|
|
/// <returns></returns>
|
|
//[Permission(EPermission.DelayList)]
|
|
//[Permission(EPermission.DelayList)]
|
|
[HttpGet("delay")]
|
|
[HttpGet("delay")]
|
|
- public async Task<PagedDto<OrderDelay>> DelayList([FromQuery] DelayListDto dto)
|
|
|
|
|
|
+ public async Task<PagedDto<OrderDelayDto>> DelayList([FromQuery] DelayListDto dto)
|
|
{
|
|
{
|
|
var (total, items) = await _orderDelayRepository.Queryable()
|
|
var (total, items) = await _orderDelayRepository.Queryable()
|
|
.Includes(x => x.Order)
|
|
.Includes(x => x.Order)
|
|
.Includes(x => x.Employee)
|
|
.Includes(x => x.Employee)
|
|
|
|
+ .Includes(x => x.Workflow)
|
|
.WhereIF(!string.IsNullOrEmpty(dto.Keyword),
|
|
.WhereIF(!string.IsNullOrEmpty(dto.Keyword),
|
|
d => d.Order.Title.Contains(dto.Keyword!) || d.Order.No.Contains(dto.Keyword!))
|
|
d => d.Order.Title.Contains(dto.Keyword!) || d.Order.No.Contains(dto.Keyword!))
|
|
.WhereIF(dto.IsApply, x => x.DelayState != EDelayState.Examining)
|
|
.WhereIF(dto.IsApply, x => x.DelayState != EDelayState.Examining)
|
|
@@ -785,7 +786,7 @@ public class OrderController : BaseController
|
|
.OrderByDescending(x => x.CreationTime)
|
|
.OrderByDescending(x => x.CreationTime)
|
|
.ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
|
|
.ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
|
|
|
|
|
|
- return new PagedDto<OrderDelay>(total, _mapper.Map<IReadOnlyList<OrderDelay>>(items));
|
|
|
|
|
|
+ return new PagedDto<OrderDelayDto>(total, _mapper.Map<IReadOnlyList<OrderDelayDto>>(items));
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
@@ -795,12 +796,13 @@ public class OrderController : BaseController
|
|
/// <returns></returns>
|
|
/// <returns></returns>
|
|
//[Permission(EPermission.DelayEntity)]
|
|
//[Permission(EPermission.DelayEntity)]
|
|
[HttpGet("delay/{id}")]
|
|
[HttpGet("delay/{id}")]
|
|
- public async Task<OrderDelay> DelayEntity(string id)
|
|
|
|
|
|
+ public async Task<OrderDelayDto> DelayEntity(string id)
|
|
{
|
|
{
|
|
- return await _orderDelayRepository.Queryable()
|
|
|
|
|
|
+ var model = await _orderDelayRepository.Queryable()
|
|
.Includes(x => x.Order)
|
|
.Includes(x => x.Order)
|
|
.Includes(x => x.Employee)
|
|
.Includes(x => x.Employee)
|
|
.FirstAsync(x => x.Id == id);
|
|
.FirstAsync(x => x.Id == id);
|
|
|
|
+ return _mapper.Map<OrderDelayDto>(model);
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
@@ -869,16 +871,16 @@ public class OrderController : BaseController
|
|
{
|
|
{
|
|
query.WhereIF(!string.IsNullOrEmpty(dto.Keyword), d => d.OrderVisit.Order.Title.Contains(dto.Keyword!) || d.OrderVisit.Order.No.Contains(dto.Keyword!))
|
|
query.WhereIF(!string.IsNullOrEmpty(dto.Keyword), d => d.OrderVisit.Order.Title.Contains(dto.Keyword!) || d.OrderVisit.Order.No.Contains(dto.Keyword!))
|
|
.Where(d => d.VisitTarget == EVisitTarget.Org && d.VisitOrgCode == _sessionContext.OrgId && (
|
|
.Where(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") == "非常不满意"
|
|
|
|
|
|
+ SqlFunc.JsonField(d.OrgProcessingResults, "Value") == "不满意" || SqlFunc.JsonField(d.OrgProcessingResults, "Value") == "非常不满意" ||
|
|
|
|
+ SqlFunc.JsonField(d.OrgHandledAttitude, "Value") == "不满意" || SqlFunc.JsonField(d.OrgHandledAttitude, "Value") == "非常不满意"
|
|
));
|
|
));
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
query.WhereIF(!string.IsNullOrEmpty(dto.Keyword), d => d.OrderVisit.Order.Title.Contains(dto.Keyword!) || d.OrderVisit.Order.No.Contains(dto.Keyword!))
|
|
query.WhereIF(!string.IsNullOrEmpty(dto.Keyword), d => d.OrderVisit.Order.Title.Contains(dto.Keyword!) || d.OrderVisit.Order.No.Contains(dto.Keyword!))
|
|
.Where(d => d.VisitTarget == EVisitTarget.Org && (
|
|
.Where(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") == "非常不满意"
|
|
|
|
|
|
+ SqlFunc.JsonField(d.OrgProcessingResults, "Value") == "不满意" || SqlFunc.JsonField(d.OrgProcessingResults, "Value") == "非常不满意" ||
|
|
|
|
+ SqlFunc.JsonField(d.OrgHandledAttitude, "Value") == "不满意" || SqlFunc.JsonField(d.OrgHandledAttitude, "Value") == "非常不满意"
|
|
));
|
|
));
|
|
}
|
|
}
|
|
var (total, items) = await query
|
|
var (total, items) = await query
|
|
@@ -902,7 +904,7 @@ public class OrderController : BaseController
|
|
.Includes(x => x.VisitDetail)
|
|
.Includes(x => x.VisitDetail)
|
|
.Includes(x => x.Visit, d => d.Order)
|
|
.Includes(x => x.Visit, d => d.Order)
|
|
.WhereIF(!string.IsNullOrEmpty(dto.Keyword), d => d.Visit.Order.Title.Contains(dto.Keyword!) || d.Visit.Order.No.Contains(dto.Keyword!))
|
|
.WhereIF(!string.IsNullOrEmpty(dto.Keyword), d => d.Visit.Order.Title.Contains(dto.Keyword!) || d.Visit.Order.No.Contains(dto.Keyword!))
|
|
- .WhereIF(dto.Status == EScreenStatus.Apply || dto.Status == EScreenStatus.Approval || dto.Status == EScreenStatus.End, x => x.Status == dto.Status)
|
|
|
|
|
|
+ .WhereIF(dto.Status.HasValue, x => x.Status == dto.Status)
|
|
.WhereIF(dto.CreationTimeStart.HasValue, d => d.CreationTime >= dto.CreationTimeStart)
|
|
.WhereIF(dto.CreationTimeStart.HasValue, d => d.CreationTime >= dto.CreationTimeStart)
|
|
.WhereIF(dto.CreationTimeEnd.HasValue, d => d.CreationTime <= dto.CreationTimeEnd)
|
|
.WhereIF(dto.CreationTimeEnd.HasValue, d => d.CreationTime <= dto.CreationTimeEnd)
|
|
.OrderByDescending(x => x.CreationTime)
|
|
.OrderByDescending(x => x.CreationTime)
|
|
@@ -948,7 +950,7 @@ public class OrderController : BaseController
|
|
var screen = await _orderScreenRepository.GetAsync(id, HttpContext.RequestAborted);
|
|
var screen = await _orderScreenRepository.GetAsync(id, HttpContext.RequestAborted);
|
|
if (screen != null)
|
|
if (screen != null)
|
|
{
|
|
{
|
|
- screen.WorkFlowId = workflowId;
|
|
|
|
|
|
+ screen.WorkflowId = workflowId;
|
|
await _orderScreenRepository.UpdateAsync(screen, HttpContext.RequestAborted);
|
|
await _orderScreenRepository.UpdateAsync(screen, HttpContext.RequestAborted);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -958,7 +960,7 @@ public class OrderController : BaseController
|
|
id = string.Empty;
|
|
id = string.Empty;
|
|
throw new UserFriendlyException($"工单开启甄别流程失败!, {e.Message}", "工单开启甄别流程失败");
|
|
throw new UserFriendlyException($"工单开启甄别流程失败!, {e.Message}", "工单开启甄别流程失败");
|
|
}
|
|
}
|
|
- if (!string.IsNullOrEmpty(id))
|
|
|
|
|
|
+ if (model.Publish.HasValue && model.Publish.Value && !string.IsNullOrEmpty(id))
|
|
{
|
|
{
|
|
var screen = await _orderScreenRepository.GetAsync(x => x.Id == id);
|
|
var screen = await _orderScreenRepository.GetAsync(x => x.Id == id);
|
|
if (screen != null)
|
|
if (screen != null)
|
|
@@ -1816,7 +1818,7 @@ public class OrderController : BaseController
|
|
var handOrderNum = oders.Count(x => x.Status == EOrderStatus.Handling || x.Status == EOrderStatus.Countersigning);
|
|
var handOrderNum = oders.Count(x => x.Status == EOrderStatus.Handling || x.Status == EOrderStatus.Countersigning);
|
|
var DissatisfactionNum = await _orderVisitedDetailRepository.Queryable()
|
|
var DissatisfactionNum = await _orderVisitedDetailRepository.Queryable()
|
|
.Includes(x => x.OrderVisit)
|
|
.Includes(x => x.OrderVisit)
|
|
- .Where(x => SqlFunc.JsonField(x.OrgProcessingResults, "Name") == "不满意" || SqlFunc.JsonField(x.OrgProcessingResults, "Name") == "非常不满意")
|
|
|
|
|
|
+ .Where(x => SqlFunc.JsonField(x.OrgProcessingResults, "Value") == "不满意" || SqlFunc.JsonField(x.OrgProcessingResults, "Value") == "非常不满意")
|
|
.Distinct().Select(s => new { s.OrderVisit.OrderId }).CountAsync();
|
|
.Distinct().Select(s => new { s.OrderVisit.OrderId }).CountAsync();
|
|
//来电历史
|
|
//来电历史
|
|
//TODO 等待通讯对接完成 还缺少 上次来电时间
|
|
//TODO 等待通讯对接完成 还缺少 上次来电时间
|