|
@@ -281,10 +281,10 @@ public class OrderController : BaseController
|
|
throw UserFriendlyException.SameMessage("未知数据!");
|
|
throw UserFriendlyException.SameMessage("未知数据!");
|
|
}
|
|
}
|
|
var pubentity = _mapper.Map<PublishedEntityDto>(publishedOrder);
|
|
var pubentity = _mapper.Map<PublishedEntityDto>(publishedOrder);
|
|
- var visit = await _orderVisitRepository.Queryable().Includes(x => x.VisitDetails).FirstAsync(x => x.Id == publishedOrder.OrderId, HttpContext.RequestAborted);
|
|
|
|
|
|
+ var visit = await _orderVisitRepository.Queryable().Includes(x => x.OrderVisitDetails).FirstAsync(x => x.Id == publishedOrder.OrderId, HttpContext.RequestAborted);
|
|
if (visit!=null)
|
|
if (visit!=null)
|
|
{
|
|
{
|
|
- var details = visit.VisitDetails.Where(x => x.VisitTarget == EVisitTarget.Org).ToList();
|
|
|
|
|
|
+ var details = visit.OrderVisitDetails.Where(x => x.VisitTarget == EVisitTarget.Org).ToList();
|
|
if (details!=null && details.Count>0)
|
|
if (details!=null && details.Count>0)
|
|
{
|
|
{
|
|
pubentity.IdNames = new List<IdName>();
|
|
pubentity.IdNames = new List<IdName>();
|
|
@@ -357,6 +357,7 @@ public class OrderController : BaseController
|
|
var (total, items) = await _orderVisitRepository.Queryable()
|
|
var (total, items) = await _orderVisitRepository.Queryable()
|
|
.Includes(x => x.Order)
|
|
.Includes(x => x.Order)
|
|
.Includes(x => x.Employee)
|
|
.Includes(x => x.Employee)
|
|
|
|
+ .Includes(x => x.OrderVisitDetails)
|
|
.WhereIF(dto.VisitState == EVisitStateQuery.NoVisit, x => x.VisitState == Share.Enums.Order.EVisitState.WaitForVisit || x.VisitState == Share.Enums.Order.EVisitState.NoSatisfiedWaitForVisit)
|
|
.WhereIF(dto.VisitState == EVisitStateQuery.NoVisit, x => x.VisitState == Share.Enums.Order.EVisitState.WaitForVisit || x.VisitState == Share.Enums.Order.EVisitState.NoSatisfiedWaitForVisit)
|
|
.WhereIF(dto.VisitState == EVisitStateQuery.Visited, x => x.VisitState == Share.Enums.Order.EVisitState.Visited)
|
|
.WhereIF(dto.VisitState == EVisitStateQuery.Visited, x => x.VisitState == Share.Enums.Order.EVisitState.Visited)
|
|
.WhereIF(!string.IsNullOrEmpty(dto.Keyword), d => d.Order.Title.Contains(dto.Keyword!) || d.Order.No.Contains(dto.Keyword!))
|
|
.WhereIF(!string.IsNullOrEmpty(dto.Keyword), d => d.Order.Title.Contains(dto.Keyword!) || d.Order.No.Contains(dto.Keyword!))
|
|
@@ -376,7 +377,7 @@ public class OrderController : BaseController
|
|
var orderVisit = await _orderVisitRepository.Queryable()
|
|
var orderVisit = await _orderVisitRepository.Queryable()
|
|
.Includes(x => x.Order)
|
|
.Includes(x => x.Order)
|
|
.Includes(x => x.Employee)
|
|
.Includes(x => x.Employee)
|
|
- .Includes(x=>x.VisitDetails)
|
|
|
|
|
|
+ .Includes(x=>x.OrderVisitDetails)
|
|
.FirstAsync(x => x.Id == id, HttpContext.RequestAborted);
|
|
.FirstAsync(x => x.Id == id, HttpContext.RequestAborted);
|
|
|
|
|
|
if (orderVisit is null)
|
|
if (orderVisit is null)
|
|
@@ -427,12 +428,12 @@ public class OrderController : BaseController
|
|
//var visit = await _orderVisitRepository.GetAsync(dto.Id, HttpContext.RequestAborted);
|
|
//var visit = await _orderVisitRepository.GetAsync(dto.Id, HttpContext.RequestAborted);
|
|
var visit = await _orderVisitRepository.Queryable()
|
|
var visit = await _orderVisitRepository.Queryable()
|
|
.Includes(d => d.Order)
|
|
.Includes(d => d.Order)
|
|
- .Includes(d=>d.VisitDetails)
|
|
|
|
|
|
+ .Includes(d => d.OrderVisitDetails)
|
|
.FirstAsync(d => d.Id == dto.Id, HttpContext.RequestAborted);
|
|
.FirstAsync(d => d.Id == dto.Id, HttpContext.RequestAborted);
|
|
if (visit is null)
|
|
if (visit is null)
|
|
throw UserFriendlyException.SameMessage("未知回访信息");
|
|
throw UserFriendlyException.SameMessage("未知回访信息");
|
|
|
|
|
|
- var first = dto.VisitDetails.First(x => x.VisitTarget == EVisitTarget.Seat);
|
|
|
|
|
|
+ var first = dto.VisitDetails.FirstOrDefault(x => x.VisitTarget == EVisitTarget.Org);
|
|
|
|
|
|
|
|
|
|
//更新主表
|
|
//更新主表
|
|
@@ -445,19 +446,29 @@ public class OrderController : BaseController
|
|
visit.IsPutThrough = dto.IsPutThrough;
|
|
visit.IsPutThrough = dto.IsPutThrough;
|
|
visit.AgainState = dto.IsAgain ? EAgainState.NeedAgain : EAgainState.NoAgain;
|
|
visit.AgainState = dto.IsAgain ? EAgainState.NeedAgain : EAgainState.NoAgain;
|
|
visit.EmployeeId = _sessionContext.UserId;
|
|
visit.EmployeeId = _sessionContext.UserId;
|
|
- visit.NowEvaluate = first.OrgProcessingResults;
|
|
|
|
|
|
+ if (first!=null)
|
|
|
|
+ {
|
|
|
|
+ visit.NowEvaluate = first.OrgProcessingResults;
|
|
|
|
+ }
|
|
//await _orderVisitRepository.UpdateAsync(visit,HttpContext.RequestAborted);
|
|
//await _orderVisitRepository.UpdateAsync(visit,HttpContext.RequestAborted);
|
|
|
|
|
|
//update order
|
|
//update order
|
|
if (dto.IsPutThrough)
|
|
if (dto.IsPutThrough)
|
|
{
|
|
{
|
|
- visit.Order.Visited(((int)first.SeatEvaluate).ToString(), first.SeatEvaluate.GetDescription());
|
|
|
|
- visit.VisitDetails = _mapper.Map<List<OrderVisitDetail>>(dto.VisitDetails);
|
|
|
|
|
|
+ if (first!=null)
|
|
|
|
+ {
|
|
|
|
+ visit.Order.Visited(first.OrgProcessingResults.Id, first.OrgProcessingResults.Name);
|
|
|
|
+ }
|
|
|
|
+ _mapper.Map(dto.VisitDetails,visit.OrderVisitDetails);
|
|
await _orderVisitRepository.UpdateAsync(visit,HttpContext.RequestAborted);
|
|
await _orderVisitRepository.UpdateAsync(visit,HttpContext.RequestAborted);
|
|
|
|
+ await _orderVisitedDetailRepository.UpdateRangeAsync(visit.OrderVisitDetails, HttpContext.RequestAborted);
|
|
await _orderRepository.UpdateAsync(visit.Order, HttpContext.RequestAborted);
|
|
await _orderRepository.UpdateAsync(visit.Order, HttpContext.RequestAborted);
|
|
var orderDto = _mapper.Map<OrderDto>(visit.Order);
|
|
var orderDto = _mapper.Map<OrderDto>(visit.Order);
|
|
- //推省上
|
|
|
|
- _capPublisher.Publish(EventNames.HotlineOrderVisited, new PublishVisitDto() { Order = orderDto, No = visit.No, VisitType = visit.VisitType, VisitName = visit.CreatorName, VisitTime = visit.VisitTime, VisitRemark = first.VisitContent, AreaCode = visit.Order.AreaCode!, SubjectResultSatifyCode = (int)first.SeatEvaluate, FirstSatisfactionCode = visit.Order.FirstVisitResultCode!, ClientGuid = "" });
|
|
|
|
|
|
+ if (first!=null)
|
|
|
|
+ {
|
|
|
|
+ //推省上
|
|
|
|
+ _capPublisher.Publish(EventNames.HotlineOrderVisited, new PublishVisitDto() { Order = orderDto, No = visit.No, VisitType = visit.VisitType, VisitName = visit.CreatorName, VisitTime = visit.VisitTime, VisitRemark = first.VisitContent, AreaCode = visit.Order.AreaCode!, SubjectResultSatifyCode = first.OrgProcessingResults.Id, FirstSatisfactionCode = visit.Order.FirstVisitResultCode!, ClientGuid = "" });
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|