|
@@ -1875,8 +1875,8 @@ public class OrderApplication : IOrderApplication, IScopeDependency
|
|
//.WhereIF(!string.IsNullOrEmpty(dto.OrgId), d => d.CurrentHandleOrgId == dto.OrgId)//接办部门
|
|
//.WhereIF(!string.IsNullOrEmpty(dto.OrgId), d => d.CurrentHandleOrgId == dto.OrgId)//接办部门
|
|
.WhereIF(!string.IsNullOrEmpty(dto.OrgLevelOneName), d => d.OrgLevelOneName.Contains(dto.OrgLevelOneName)) //一级部门
|
|
.WhereIF(!string.IsNullOrEmpty(dto.OrgLevelOneName), d => d.OrgLevelOneName.Contains(dto.OrgLevelOneName)) //一级部门
|
|
.WhereIF(!string.IsNullOrEmpty(dto.ActualHandleOrgName), d => d.ActualHandleOrgName.Contains(dto.ActualHandleOrgName)) //接办部门(综合查询模糊)
|
|
.WhereIF(!string.IsNullOrEmpty(dto.ActualHandleOrgName), d => d.ActualHandleOrgName.Contains(dto.ActualHandleOrgName)) //接办部门(综合查询模糊)
|
|
- .WhereIF(!string.IsNullOrEmpty(dto.ActualHandleOrgCode), d => d.ActualHandleOrgCode.StartsWith(dto.ActualHandleOrgCode)) //接办部门(综合查询模糊)
|
|
|
|
- .WhereIF(!string.IsNullOrEmpty(dto.NameOrNo), d => d.AcceptorName == dto.NameOrNo! || d.AcceptorStaffNo == dto.NameOrNo!) //受理人/坐席
|
|
|
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.ActualHandleOrgCode), d => d.ActualHandleOrgCode.StartsWith(dto.ActualHandleOrgCode)) //接办部门(综合查询模糊)
|
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.NameOrNo), d => d.AcceptorName == dto.NameOrNo! || d.AcceptorStaffNo == dto.NameOrNo!) //受理人/坐席
|
|
.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) //受理时间结束
|
|
.WhereIF(dto.StartTimeStart.HasValue, d => d.StartTime >= dto.StartTimeStart) //流程开启时间开始
|
|
.WhereIF(dto.StartTimeStart.HasValue, d => d.StartTime >= dto.StartTimeStart) //流程开启时间开始
|
|
@@ -1934,9 +1934,9 @@ public class OrderApplication : IOrderApplication, IScopeDependency
|
|
.WhereIF(!string.IsNullOrEmpty(dto.OrderTagCode), d => d.OrderTags.Any(ot => ot.DicDataValue == dto.OrderTagCode)) //工单标签
|
|
.WhereIF(!string.IsNullOrEmpty(dto.OrderTagCode), d => d.OrderTags.Any(ot => ot.DicDataValue == dto.OrderTagCode)) //工单标签
|
|
.WhereIF(!string.IsNullOrEmpty(dto.FocusOnEvents),
|
|
.WhereIF(!string.IsNullOrEmpty(dto.FocusOnEvents),
|
|
d => d.FocusOnEvents.Contains(dto.FocusOnEvents) && !d.FocusOnEvents.Contains("99")) //!string.IsNullOrEmpty(d.FocusOnEvents) && SqlFunc.SplitIn(d.FocusOnEvents, dto.FocusOnEvents))
|
|
d => d.FocusOnEvents.Contains(dto.FocusOnEvents) && !d.FocusOnEvents.Contains("99")) //!string.IsNullOrEmpty(d.FocusOnEvents) && SqlFunc.SplitIn(d.FocusOnEvents, dto.FocusOnEvents))
|
|
- .WhereIF(dto.SeatEvaluate.Any(), d => dto.SeatEvaluate.Contains(d.SeatEvaluate.Value)) //话务员评价(话务评价)
|
|
|
|
- .WhereIF(dto.OrgProcessingResults.Any(),d => dto.OrgProcessingResults.Contains(SqlFunc.JsonField(d.OrgProcessingResults, "Key")))//部门办件结果
|
|
|
|
- .OrderByIF(string.IsNullOrEmpty(dto.SortField), d => d.CreationTime, OrderByType.Desc) //默认排序时间为创建时间
|
|
|
|
|
|
+ .WhereIF(dto.SeatEvaluate.Any(), d => dto.SeatEvaluate.Contains(d.SeatEvaluate.Value)) //话务员评价(话务评价)
|
|
|
|
+ .WhereIF(dto.OrgProcessingResults.Any(), d => dto.OrgProcessingResults.Contains(SqlFunc.JsonField(d.OrgProcessingResults, "Key")))//部门办件结果
|
|
|
|
+ .OrderByIF(string.IsNullOrEmpty(dto.SortField), d => d.CreationTime, OrderByType.Desc) //默认排序时间为创建时间
|
|
.OrderByIF(dto is { SortField: "no", SortRule: 0 }, d => d.No, OrderByType.Asc) //工单编号升序
|
|
.OrderByIF(dto is { SortField: "no", SortRule: 0 }, d => d.No, OrderByType.Asc) //工单编号升序
|
|
.OrderByIF(dto is { SortField: "no", SortRule: 1 }, d => d.No, OrderByType.Desc) //工单编号降序
|
|
.OrderByIF(dto is { SortField: "no", SortRule: 1 }, d => d.No, OrderByType.Desc) //工单编号降序
|
|
.OrderByIF(dto is { SortField: "isProvinceText", SortRule: 0 }, d => d.IsProvince, OrderByType.Asc) //是否省工单升序
|
|
.OrderByIF(dto is { SortField: "isProvinceText", SortRule: 0 }, d => d.IsProvince, OrderByType.Asc) //是否省工单升序
|
|
@@ -3558,6 +3558,99 @@ public class OrderApplication : IOrderApplication, IScopeDependency
|
|
return query;
|
|
return query;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 话务员办件统计--自贡专用
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <param name="dto"></param>
|
|
|
|
+ /// <returns></returns>
|
|
|
|
+ public ISugarQueryable<OrderBiCentreDataListVo> CentreDataListZG(ReportPagedRequest dto)
|
|
|
|
+ {
|
|
|
|
+ if (!dto.StartTime.HasValue || !dto.EndTime.HasValue) throw UserFriendlyException.SameMessage("请选择时间!");
|
|
|
|
+
|
|
|
|
+ var query = _orderRepository.Queryable(false, false, false)
|
|
|
|
+ .WhereIF(dto.StartTime.HasValue, it => it.CreationTime >= dto.StartTime)
|
|
|
|
+ .WhereIF(dto.EndTime.HasValue, it => it.CreationTime <= dto.EndTime)
|
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.Keyword), it => it.SignerName.Contains(dto.Keyword!))
|
|
|
|
+ .GroupBy(it => new { it.AcceptorId })
|
|
|
|
+ .Select(it => new OrderBiCentreDataListVo
|
|
|
|
+ {
|
|
|
|
+ UserId = it.AcceptorId,
|
|
|
|
+ CentreArchive = SqlFunc.AggregateSum(SqlFunc.IIF(it.Status >= EOrderStatus.Filed && it.FileOrgIsCenter == true, 1, 0)), //中心归档件
|
|
|
|
+
|
|
|
|
+ CentreCareOf = SqlFunc.AggregateSum(SqlFunc.IIF((it.Status >= EOrderStatus.Filed && it.FileOrgIsCenter == false) ||
|
|
|
|
+ (it.ActualHandleStepName != "话务部" && it.Status < EOrderStatus.Filed && it.Status > EOrderStatus.WaitForAccept)
|
|
|
|
+ , 1, 0)),//转办件(部门归档件+已开启流程且当前节点在非话务部的办理中的工单)
|
|
|
|
+
|
|
|
|
+ NoCentreCareOf = SqlFunc.AggregateSum(SqlFunc.IIF(it.ActualHandleStepName == "话务部" &&
|
|
|
|
+ it.Status < EOrderStatus.Filed && it.Status > EOrderStatus.WaitForAccept, 1, 0)),//待转办信件(当前节点为话务部,已受理未归档的工单)
|
|
|
|
+
|
|
|
|
+ Subtotal = SqlFunc.AggregateSum(SqlFunc.IIF(it.Status > EOrderStatus.WaitForAccept, 1, 0))//排除待受理工单
|
|
|
|
+ })
|
|
|
|
+ .MergeTable()
|
|
|
|
+ .LeftJoin<User>((it, u) => it.UserId == u.Id)
|
|
|
|
+ .Select((it, u) => new OrderBiCentreDataListVo
|
|
|
|
+ {
|
|
|
|
+ UserId = it.UserId,
|
|
|
|
+ UserName = u.Name,
|
|
|
|
+ CentreArchive = it.CentreArchive,
|
|
|
|
+ CentreCareOf = it.CentreCareOf,
|
|
|
|
+ NoCentreCareOf = it.NoCentreCareOf,
|
|
|
|
+ Subtotal = it.Subtotal
|
|
|
|
+ })
|
|
|
|
+ ;
|
|
|
|
+ switch (dto.SortField)
|
|
|
|
+ {
|
|
|
|
+ case "centreArchive":
|
|
|
|
+ query = dto.SortRule is 0 ? query.OrderBy(x => x.CentreArchive) : query.OrderByDescending(x => x.CentreArchive);
|
|
|
|
+ break;
|
|
|
|
+ case "centreCareOf":
|
|
|
|
+ query = dto.SortRule is 0 ? query.OrderBy(x => x.CentreCareOf) : query.OrderByDescending(x => x.CentreCareOf);
|
|
|
|
+ break;
|
|
|
|
+ case "noCentreCareOf":
|
|
|
|
+ query = dto.SortRule is 0 ? query.OrderBy(x => x.NoCentreCareOf) : query.OrderByDescending(x => x.NoCentreCareOf);
|
|
|
|
+ break;
|
|
|
|
+ case "subtotal":
|
|
|
|
+ query = dto.SortRule is 0 ? query.OrderBy(x => x.Subtotal) : query.OrderByDescending(x => x.Subtotal);
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (string.IsNullOrEmpty(dto.SortField))
|
|
|
|
+ {
|
|
|
|
+ query = query.OrderByDescending(x => x.Subtotal);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return query;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 话务员办件统计明细--自贡专用
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <param name="dto"></param>
|
|
|
|
+ /// <returns></returns>
|
|
|
|
+ public ISugarQueryable<Order> CentreDataListDetailZG(CentreDataListDetailRequest dto)
|
|
|
|
+ {
|
|
|
|
+ var query = _orderRepository.Queryable(false, false, false)
|
|
|
|
+ .WhereIF(dto.StartTime.HasValue, p => p.CreationTime >= dto.StartTime)
|
|
|
|
+ .WhereIF(dto.EndTime.HasValue, p => p.CreationTime <= dto.EndTime)
|
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.UserId), p => p.AcceptorId == dto.UserId);
|
|
|
|
+ if (dto.TypeId == "0")//所有信件
|
|
|
|
+ query = query.Where(p => p.Status > EOrderStatus.WaitForAccept);
|
|
|
|
+
|
|
|
|
+ if (dto.TypeId == "1")//中心归档件
|
|
|
|
+ query = query.Where(p => p.Status >= EOrderStatus.Filed && p.FileOrgIsCenter == true);
|
|
|
|
+
|
|
|
|
+ if (dto.TypeId == "2")//转办信件
|
|
|
|
+ query = query.Where(p => (p.Status >= EOrderStatus.Filed && p.FileOrgIsCenter == false) ||
|
|
|
|
+ (p.ActualHandleStepName != "话务部" && p.Status < EOrderStatus.Filed && p.Status > EOrderStatus.WaitForAccept));
|
|
|
|
+
|
|
|
|
+ if (dto.TypeId == "3")//待转办信件
|
|
|
|
+ query = query.Where(p => p.ActualHandleStepName == "话务部" && p.Status < EOrderStatus.Filed && p.Status > EOrderStatus.WaitForAccept);
|
|
|
|
+
|
|
|
|
+ query = query.OrderByDescending(p => p.CreationTime);
|
|
|
|
+
|
|
|
|
+ return query;
|
|
|
|
+ }
|
|
|
|
+
|
|
/// <summary>
|
|
/// <summary>
|
|
/// 工单业务量统计
|
|
/// 工单业务量统计
|
|
/// </summary>
|
|
/// </summary>
|