|
@@ -112,7 +112,7 @@ public class OrderController : BaseController
|
|
|
.Includes(d => d.OrderPublished)
|
|
|
.Includes(d => d.Employee)
|
|
|
.Where(x => x.Status == EOrderStatus.Filed)
|
|
|
- .WhereIF(!string.IsNullOrEmpty(dto.OrderTitle), d => d.Title.Contains(dto.OrderTitle!))
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.Keyword), d => d.Title.Contains(dto.Keyword!) || d.No.Contains(dto.Keyword!))
|
|
|
.WhereIF(dto.PubState == EPubState.Pub, d => d.Progress == EProgress.Published || d.Progress == EProgress.Visited)
|
|
|
.WhereIF(dto.PubState == EPubState.NoPub, d => d.Progress == EProgress.Managing)
|
|
|
.WhereIF(!string.IsNullOrEmpty(dto.PubMan), d => d.Employee.Name.Contains(dto.PubMan!) || d.Employee.StaffNo.Contains(dto.PubMan!))
|
|
@@ -230,6 +230,7 @@ public class OrderController : BaseController
|
|
|
.Includes(x => x.Employee)
|
|
|
.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(!string.IsNullOrEmpty(dto.Keyword), d => d.Order.Title.Contains(dto.Keyword!) || d.Order.No.Contains(dto.Keyword!))
|
|
|
.OrderBy(x => x.CreationTime)
|
|
|
.ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
|
|
|
return new PagedDto<OrderVisit>(total, _mapper.Map<IReadOnlyList<OrderVisit>>(items));
|
|
@@ -271,8 +272,10 @@ public class OrderController : BaseController
|
|
|
{
|
|
|
var (total,items) = await _orderVisitedDetailRepository.Queryable()
|
|
|
.Includes(x => x.OrderVisit)
|
|
|
+ .Includes(x=>x.OrderVisit.Order)
|
|
|
.WhereIF(dto.VisitState == EVisitStateQuery.NoVisit, x=>x.OrderVisit.VisitState == Share.Enums.Order.EVisitState.WaitForVisit || x.OrderVisit.VisitState == Share.Enums.Order.EVisitState.NoSatisfiedWaitForVisit)
|
|
|
.WhereIF(dto.VisitState == EVisitStateQuery.Visited, x=>x.OrderVisit.VisitState == Share.Enums.Order.EVisitState.Visited)
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.Keyword), d => d.OrderVisit.Order.Title.Contains(dto.Keyword!) || d.OrderVisit.Order.No.Contains(dto.Keyword!))
|
|
|
.OrderByDescending(x => x.CreationTime)
|
|
|
.ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
|
|
|
|
|
@@ -292,11 +295,18 @@ public class OrderController : BaseController
|
|
|
if (visit is null)
|
|
|
throw UserFriendlyException.SameMessage("未知回访信息");
|
|
|
|
|
|
+ var first = dto.VisitDetails.First(x => x.VisitTarget == EVisitTarget.Org);
|
|
|
+
|
|
|
//更新主表
|
|
|
visit.VisitState = Share.Enums.Order.EVisitState.Visited;
|
|
|
visit.VisitTime = DateTime.Now;
|
|
|
visit.IsPutThrough = dto.IsPutThrough;
|
|
|
visit.EmployeeId = _sessionContext.UserId;
|
|
|
+ visit.NowEvaluate = first.OrgProcessingResults;
|
|
|
+ if (visit.FirstEvaluate is null)
|
|
|
+ {
|
|
|
+ visit.FirstEvaluate = first.OrgProcessingResults;
|
|
|
+ }
|
|
|
await _orderVisitedRepository.UpdateAsync(visit,HttpContext.RequestAborted);
|
|
|
|
|
|
//更新明細
|
|
@@ -322,6 +332,7 @@ public class OrderController : BaseController
|
|
|
{
|
|
|
var (total,items) = await _orderRepository.Queryable()
|
|
|
.Includes(d => d.Employee)
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.Keyword), d => d.Title.Contains(dto.Keyword!) || d.No.Contains(dto.Keyword!))
|
|
|
.Where(d => d.Status != EOrderStatus.WaitForAccept && d.Status != EOrderStatus.Filed &&
|
|
|
SqlFunc.Subqueryable<OrderDelay>().Where(s=>s.OrderId == d.Id && s.DelayState == EDelayState.Examining).NotAny())
|
|
|
.OrderByDescending(d => d.CreationTime)
|
|
@@ -343,6 +354,10 @@ public class OrderController : BaseController
|
|
|
var order = await _orderRepository.GetAsync(dto.OrderId, HttpContext.RequestAborted);
|
|
|
if (order is null)
|
|
|
throw UserFriendlyException.SameMessage("无效工单");
|
|
|
+ //验证工单是否在办理中
|
|
|
+ if (order.Status == EOrderStatus.WaitForAccept || order.Status == EOrderStatus.Filed)
|
|
|
+ throw UserFriendlyException.SameMessage("当前工单状态不能申请延期");
|
|
|
+
|
|
|
bool IsHas = await _orderDelayRepository.AnyAsync(x => x.OrderId == dto.OrderId && x.DelayState == EDelayState.Examining, HttpContext.RequestAborted);
|
|
|
if (IsHas)
|
|
|
throw UserFriendlyException.SameMessage("该存在延期申请正在审核");
|
|
@@ -378,6 +393,7 @@ public class OrderController : BaseController
|
|
|
var (total,items) = await _orderDelayRepository.Queryable()
|
|
|
.Includes(x => x.Order)
|
|
|
.Includes(x => x.Employee)
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(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)
|
|
|
.OrderByDescending(x => x.CreationTime)
|
|
@@ -412,6 +428,15 @@ public class OrderController : BaseController
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
+
|
|
|
+ #region 工单督办
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ #region 工单管理
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 工单列表
|
|
|
/// </summary>
|
|
@@ -660,8 +685,5 @@ public class OrderController : BaseController
|
|
|
return rsp;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+ #endregion
|
|
|
}
|