|
@@ -19,6 +19,7 @@ using MapsterMapper;
|
|
|
using Microsoft.AspNetCore.Authorization;
|
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
using SqlSugar;
|
|
|
+using System.Collections.Generic;
|
|
|
using XF.Domain.Authentications;
|
|
|
using XF.Domain.Constants;
|
|
|
using XF.Domain.Exceptions;
|
|
@@ -46,7 +47,7 @@ namespace Hotline.Api.Controllers.Bi
|
|
|
private readonly ISystemSettingCacheManager _systemSettingCacheManager;
|
|
|
private readonly IRepository<OrderSpecialDetail> _orderSpecialDetailRepository;
|
|
|
|
|
|
- public BiOrderController(
|
|
|
+ public BiOrderController(
|
|
|
IOrderRepository orderRepository,
|
|
|
IRepository<Hotspot> hotspotTypeRepository,
|
|
|
ISystemDicDataCacheManager sysDicDataCacheManager,
|
|
@@ -63,7 +64,7 @@ namespace Hotline.Api.Controllers.Bi
|
|
|
ISessionContext sessionContext,
|
|
|
ISystemSettingCacheManager systemSettingCacheManager,
|
|
|
IRepository<OrderSpecialDetail> orderSpecialDetailRepository
|
|
|
- )
|
|
|
+ )
|
|
|
{
|
|
|
_orderRepository = orderRepository;
|
|
|
_hotspotTypeRepository = hotspotTypeRepository;
|
|
@@ -82,12 +83,12 @@ namespace Hotline.Api.Controllers.Bi
|
|
|
_systemSettingCacheManager = systemSettingCacheManager;
|
|
|
_orderSpecialDetailRepository = orderSpecialDetailRepository;
|
|
|
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
//public async Task OrgDataListDetail([FromQuery] OrgDataListDetailRequest dto)
|
|
|
//{
|
|
|
// dto.EndDate = dto.EndDate.AddDays(1).AddSeconds(-1);
|
|
|
-
|
|
|
+
|
|
|
// await _orderRepository.Queryable()
|
|
|
// .Where(x => x.CreationTime >= dto.StartDate && x.CreationTime <= dto.EndDate)
|
|
|
// .WhereIF(dto.QueryType == 1, x => x.Status >= EOrderStatus.Filed && x.ExpiredTime < x.FiledTime) //业务已办超期
|
|
@@ -95,7 +96,7 @@ namespace Hotline.Api.Controllers.Bi
|
|
|
// .WhereIF(dto.QueryType == 3, x => x.Status < EOrderStatus.Filed && x.ExpiredTime < SqlFunc.GetDate()) //业务待办超期
|
|
|
// //.WhereIF(dto.QueryType ==4,) //会签待办超期
|
|
|
// .ToPageListAsync(dto.PageIndex, dto.PageSize);
|
|
|
-
|
|
|
+
|
|
|
//}
|
|
|
|
|
|
|
|
@@ -117,14 +118,14 @@ namespace Hotline.Api.Controllers.Bi
|
|
|
.LeftJoin<SystemOrganize>((x, o) => x.ActualHandleOrgCode == o.Id)
|
|
|
.WhereIF(dto.StartTime.HasValue, (x, o) => x.CreationTime >= dto.StartTime)
|
|
|
.WhereIF(dto.EndTime.HasValue, (x, o) => x.CreationTime <= dto.EndTime)
|
|
|
- .WhereIF(IsCenter == false, (x,o) => x.ActualHandleOrgCode == _sessionContext.RequiredOrgId)
|
|
|
+ .WhereIF(IsCenter == false, (x, o) => x.ActualHandleOrgCode == _sessionContext.RequiredOrgId)
|
|
|
.GroupBy((x, o) => new { x.ActualHandleOrgCode, o.Name })
|
|
|
.Select((x, o) => new OrderBiOrgDataListVo
|
|
|
{
|
|
|
OrgName = o.Name,
|
|
|
OrgId = x.ActualHandleOrgCode,
|
|
|
- HandlerExtendedNum = SqlFunc.AggregateSum(SqlFunc.IIF(x.Status >= EOrderStatus.Filed && x.ExpiredTime < x.FiledTime, 1, 0)),
|
|
|
- NoHandlerExtendedNum = SqlFunc.AggregateSum(SqlFunc.IIF(x.Status < EOrderStatus.Filed && x.ExpiredTime < SqlFunc.GetDate(), 1, 0)),
|
|
|
+ HandlerExtendedNum = SqlFunc.AggregateSum(SqlFunc.IIF(x.Status >= EOrderStatus.Filed && x.ExpiredTime < x.FiledTime, 1, 0)),
|
|
|
+ NoHandlerExtendedNum = SqlFunc.AggregateSum(SqlFunc.IIF(x.Status < EOrderStatus.Filed && x.ExpiredTime < SqlFunc.GetDate(), 1, 0)),
|
|
|
}).MergeTable();
|
|
|
var queryCountersign = _workflowCountersignRepository.Queryable()
|
|
|
.LeftJoin<WorkflowCountersignMember>((x, o) => x.Id == o.WorkflowCountersignId)
|
|
@@ -135,7 +136,7 @@ namespace Hotline.Api.Controllers.Bi
|
|
|
{
|
|
|
OrgId = o.Key,
|
|
|
CounterHandlerExtendedNum = SqlFunc.AggregateSum(SqlFunc.IIF(o.IsHandled, 1, 0)),
|
|
|
- CounterNoHandlerExtendedNum = SqlFunc.AggregateSum(SqlFunc.IIF(o.IsHandled==false, 1, 0)),
|
|
|
+ CounterNoHandlerExtendedNum = SqlFunc.AggregateSum(SqlFunc.IIF(o.IsHandled == false, 1, 0)),
|
|
|
}).MergeTable();
|
|
|
|
|
|
var query = queryOrder.LeftJoin(queryCountersign, (or, co) => or.OrgId == co.OrgId)
|
|
@@ -192,7 +193,7 @@ namespace Hotline.Api.Controllers.Bi
|
|
|
UserName = x.AcceptorName,
|
|
|
UserId = x.AcceptorId,
|
|
|
//Subtotal = SqlFunc.AggregateCount(x.AcceptorId),
|
|
|
- CentreArchive = SqlFunc.AggregateSum(SqlFunc.IIF(x.Status >= EOrderStatus.Filed && x.ProcessType == EProcessType.Zhiban, 1, 0)),
|
|
|
+ CentreArchive = SqlFunc.AggregateSum(SqlFunc.IIF(x.Status >= EOrderStatus.Filed && x.ProcessType == EProcessType.Zhiban, 1, 0)),
|
|
|
CentreCareOf = SqlFunc.AggregateSum(SqlFunc.IIF(x.Status >= EOrderStatus.Filed && x.ProcessType == EProcessType.Jiaoban, 1, 0)),
|
|
|
//NoCentreCareOf = SqlFunc.AggregateSum(SqlFunc.IIF((int)x.Status < 300 && x.ExpiredTime > x.FiledTime, 1, 0)),
|
|
|
Invalid = SqlFunc.AggregateSum(SqlFunc.IIF(x.AcceptType == "无效", 1, 0)),
|
|
@@ -216,7 +217,7 @@ namespace Hotline.Api.Controllers.Bi
|
|
|
query = dto.SortRule == 0 ? query.OrderBy(x => x.Repeat) : query.OrderByDescending(x => x.Repeat);
|
|
|
break;
|
|
|
}
|
|
|
- var (total, items) = await query.Where(x=> (x.CentreArchive+x.CentreCareOf+x.Invalid+x.Repeat)!=0).ToPagedListAsync(dto, HttpContext.RequestAborted);
|
|
|
+ var (total, items) = await query.Where(x => (x.CentreArchive + x.CentreCareOf + x.Invalid + x.Repeat) != 0).ToPagedListAsync(dto, HttpContext.RequestAborted);
|
|
|
return new PagedDto<OrderBiCentreDataListVo>(total, items);
|
|
|
}
|
|
|
|
|
@@ -750,10 +751,10 @@ namespace Hotline.Api.Controllers.Bi
|
|
|
|
|
|
var list = await _orderVisitDetailRepository.Queryable()
|
|
|
.Where(x => x.OrderVisit.VisitTime >= StartDate && x.OrderVisit.VisitTime <= EndDate && x.VisitTarget == EVisitTarget.Org && x.OrderVisit.VisitState == EVisitState.Visited && !string.IsNullOrEmpty(x.VisitOrgCode))
|
|
|
- .WhereIF(string.IsNullOrEmpty(OrgName)==false, x => x.VisitOrgName.Contains(OrgName))
|
|
|
- .WhereIF(string.IsNullOrEmpty(LineNum)==false, x => x.OrderVisit.Order.CallRecord.Gateway.Contains(LineNum))
|
|
|
+ .WhereIF(string.IsNullOrEmpty(OrgName) == false, x => x.VisitOrgName.Contains(OrgName))
|
|
|
+ .WhereIF(string.IsNullOrEmpty(LineNum) == false, x => x.OrderVisit.Order.CallRecord.Gateway.Contains(LineNum))
|
|
|
.WhereIF(IsCenter == false, x => x.VisitOrgCode.StartsWith(_sessionContext.OrgId))
|
|
|
- .GroupByIF(IsCenter,x => new
|
|
|
+ .GroupByIF(IsCenter, x => new
|
|
|
{
|
|
|
VisitOrgCode = x.VisitOrgCode.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>("6"))
|
|
|
})
|
|
@@ -763,7 +764,7 @@ namespace Hotline.Api.Controllers.Bi
|
|
|
})
|
|
|
.Select(x => new VisitAndOrgSatisfactionStatisticsDto()
|
|
|
{
|
|
|
- OrgCode = SqlFunc.IIF(IsCenter,x.VisitOrgCode.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>("6")), x.VisitOrgCode),
|
|
|
+ OrgCode = SqlFunc.IIF(IsCenter, x.VisitOrgCode.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>("6")), x.VisitOrgCode),
|
|
|
TotalSumCount = SqlFunc.AggregateCount(x.VisitOrgCode.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>("6"))),
|
|
|
VerySatisfiedCount = SqlFunc.IIF(TypeId == 1, SqlFunc.AggregateSum(SqlFunc.IIF(SqlFunc.JsonField(x.OrgProcessingResults, "Key") == "5", 1, 0)), SqlFunc.AggregateSum(SqlFunc.IIF(SqlFunc.JsonField(x.OrgHandledAttitude, "Key") == "5", 1, 0))),//非常满意数
|
|
|
SatisfiedCount = SqlFunc.IIF(TypeId == 1, SqlFunc.AggregateSum(SqlFunc.IIF(SqlFunc.JsonField(x.OrgProcessingResults, "Key") == "4", 1, 0)), SqlFunc.AggregateSum(SqlFunc.IIF(SqlFunc.JsonField(x.OrgHandledAttitude, "Key") == "4", 1, 0))), //满意数
|
|
@@ -1191,19 +1192,18 @@ namespace Hotline.Api.Controllers.Bi
|
|
|
/// <param name="TypeCode">0:全部,1:中心,2:部门</param>
|
|
|
/// <returns></returns>
|
|
|
[HttpGet("department_acceptance_type_statistics")]
|
|
|
- public async Task<List<DepartmentAcceptanceTypeStatisticsDto>> DepartmentAcceptanceTypeStatistics(DateTime StartDate, DateTime EndDate, int TypeCode)
|
|
|
+ public async Task<object> DepartmentAcceptanceTypeStatistics(DateTime StartDate, DateTime EndDate, int TypeCode)
|
|
|
{
|
|
|
EndDate = EndDate.AddDays(1).AddSeconds(-1);
|
|
|
|
|
|
var IsCenter = _sessionContext.OrgIsCenter;
|
|
|
|
|
|
var orderData = await _orderRepository.Queryable()
|
|
|
- // .LeftJoin<SystemOrganize>((it, o) => it.OrgLevelOneCode == o.Id)
|
|
|
- .Where(it => it.CreationTime >= StartDate && it.CreationTime <= EndDate && it.Status >= EOrderStatus.Filed)
|
|
|
+ .Where(it => it.CreationTime >= StartDate && it.CreationTime <= EndDate && it.Status > EOrderStatus.WaitForAccept)
|
|
|
|
|
|
.Select(it => new
|
|
|
{
|
|
|
- OrgCode = IsCenter == true ? it.OrgLevelOneCode : it.ActualHandleOrgCode.Substring(0, _sessionContext.RequiredOrgId.Length + 3),
|
|
|
+ OrgCode = IsCenter == true ? it.ActualHandleOrgCode.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>("6")) : it.ActualHandleOrgCode.Substring(0, _sessionContext.RequiredOrgId.Length + 3),
|
|
|
it.AcceptTypeCode,
|
|
|
it.FileDurationWorkday,
|
|
|
it.AllDuration
|
|
@@ -1256,9 +1256,152 @@ namespace Hotline.Api.Controllers.Bi
|
|
|
})
|
|
|
.ToListAsync();
|
|
|
|
|
|
- return orderData;
|
|
|
+ var sumModel = new DepartmentAcceptanceTypeStatisticsDto
|
|
|
+ {
|
|
|
+ OrgName = "合计",
|
|
|
+ ZxAllCount = orderData.Sum(x => x.ZxAllCount),
|
|
|
+ ZxAllTimes = orderData.Sum(x => x.ZxAllTimes),
|
|
|
+ ZxAcceptanceTypeCode = "10",
|
|
|
+
|
|
|
+ JyAllCount = orderData.Sum(x => x.JyAllCount),
|
|
|
+ JyAllTimes = orderData.Sum(x => x.JyAllTimes),
|
|
|
+ JyAcceptanceTypeCode = "15",
|
|
|
+
|
|
|
+ QzAllCount = orderData.Sum(x => x.QzAllCount),
|
|
|
+ QzAllTimes = orderData.Sum(x => x.QzAllTimes),
|
|
|
+ QzAcceptanceTypeCode = "20",
|
|
|
+
|
|
|
+ ByAllCount = orderData.Sum(x => x.ByAllCount),
|
|
|
+ ByAllTimes = orderData.Sum(x => x.ByAllTimes),
|
|
|
+ ByAcceptanceTypeCode = "25",
|
|
|
+
|
|
|
+ JbAllCount = orderData.Sum(x => x.JbAllCount),
|
|
|
+ JbAllTimes = orderData.Sum(x => x.JbAllTimes),
|
|
|
+ JbAcceptanceTypeCode = "30",
|
|
|
+
|
|
|
+ TsAllCount = orderData.Sum(x => x.TsAllCount),
|
|
|
+ TsAllTimes = orderData.Sum(x => x.TsAllTimes),
|
|
|
+ TsAcceptanceTypeCode = "35",
|
|
|
+
|
|
|
+ QtAllCount = orderData.Sum(x => x.QtAllCount),
|
|
|
+ QtAllTimes = orderData.Sum(x => x.QtAllTimes),
|
|
|
+ QtAcceptanceTypeCode = "40"
|
|
|
+ };
|
|
|
+
|
|
|
+ return new { DataList = orderData, SumModel = sumModel };
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 部门受理类型统计周期---子级
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="StartDate"></param>
|
|
|
+ /// <param name="EndDate"></param>
|
|
|
+ /// <param name="TypeCode">0:全部,1:中心,2:部门</param>
|
|
|
+ /// <param name="OrgCode"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpGet("department_acceptance_type_child_statistics")]
|
|
|
+ public async Task<object> DepartmentAcceptanceTypeChildStatistics(DateTime StartDate, DateTime EndDate, int TypeCode, string OrgCode)
|
|
|
+ {
|
|
|
+ EndDate = EndDate.AddDays(1).AddSeconds(-1);
|
|
|
+
|
|
|
+ // var IsCenter = _sessionContext.OrgIsCenter;
|
|
|
+
|
|
|
+ var orderData = await _orderRepository.Queryable()
|
|
|
+ .Where(it => it.CreationTime >= StartDate && it.CreationTime <= EndDate && it.Status > EOrderStatus.WaitForAccept)// && it.Status >= EOrderStatus.Filed
|
|
|
+ .WhereIF(OrgCode == "001", it => it.ActualHandleOrgCode == OrgCode)
|
|
|
+ .WhereIF(OrgCode != "001", it => it.ActualHandleOrgCode.StartsWith(OrgCode))
|
|
|
+
|
|
|
+ .Select(it => new
|
|
|
+ {
|
|
|
+ // OrgCode = OrgCode == "001" ? OrgCode : it.ActualHandleOrgCode.Substring(0, OrgCode.Length + 3),
|
|
|
+ OrgCode = it.ActualHandleOrgCode == "001" ? it.ActualHandleOrgCode : it.ActualHandleOrgCode.Substring(0, OrgCode.Length + 3),
|
|
|
+ it.AcceptTypeCode,
|
|
|
+ it.FileDurationWorkday,
|
|
|
+ it.AllDuration
|
|
|
+ })
|
|
|
+ .MergeTable()
|
|
|
+ .LeftJoin<SystemOrganize>((it, o) => it.OrgCode == o.Id)
|
|
|
+
|
|
|
+ .WhereIF(TypeCode == 1, (it, o) => it.OrgCode == "001")
|
|
|
+ .WhereIF(TypeCode == 2, (it, o) => it.OrgCode != "001")
|
|
|
+ //.WhereIF(IsCenter == false, (it, o) => it.OrgCode.StartsWith(_sessionContext.RequiredOrgId))
|
|
|
+
|
|
|
+ .GroupBy((it, o) => new
|
|
|
+ {
|
|
|
+ it.OrgCode,
|
|
|
+ o.Name,
|
|
|
+ o.OrgType
|
|
|
+ })
|
|
|
+ .Select((it, o) => new DepartmentAcceptanceTypeStatisticsDto
|
|
|
+ {
|
|
|
+ OrgName = it.OrgCode == "001" ? "热线中心" : o.Name,
|
|
|
+ OrgCode = it.OrgCode,
|
|
|
+ OrgType = (int)o.OrgType == 2 ? "区县部门" : "市直部门",
|
|
|
+ ZxAllCount = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "10", 1, 0)),
|
|
|
+ ZxAllTimes = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "10" && it.AllDuration != null, it.AllDuration, 0)),
|
|
|
+ ZxAcceptanceTypeCode = "10",
|
|
|
+
|
|
|
+ JyAllCount = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "15", 1, 0)),
|
|
|
+ JyAllTimes = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "15" && it.FileDurationWorkday != null, it.FileDurationWorkday, 0)),
|
|
|
+ JyAcceptanceTypeCode = "15",
|
|
|
+
|
|
|
+ QzAllCount = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "20", 1, 0)),
|
|
|
+ QzAllTimes = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "20" && it.FileDurationWorkday != null, it.FileDurationWorkday, 0)),
|
|
|
+ QzAcceptanceTypeCode = "20",
|
|
|
+
|
|
|
+ ByAllCount = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "25", 1, 0)),
|
|
|
+ ByAllTimes = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "25" && it.FileDurationWorkday != null, it.FileDurationWorkday, 0)),
|
|
|
+ ByAcceptanceTypeCode = "25",
|
|
|
+
|
|
|
+ JbAllCount = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "30", 1, 0)),
|
|
|
+ JbAllTimes = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "30" && it.FileDurationWorkday != null, it.FileDurationWorkday, 0)),
|
|
|
+ JbAcceptanceTypeCode = "30",
|
|
|
+
|
|
|
+ TsAllCount = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "35", 1, 0)),
|
|
|
+ TsAllTimes = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "35" && it.FileDurationWorkday != null, it.FileDurationWorkday, 0)),
|
|
|
+ TsAcceptanceTypeCode = "35",
|
|
|
+
|
|
|
+ QtAllCount = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "40", 1, 0)),
|
|
|
+ QtAllTimes = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "40" && it.FileDurationWorkday != null, it.FileDurationWorkday, 0)),
|
|
|
+ QtAcceptanceTypeCode = "40"
|
|
|
+ })
|
|
|
+ .ToListAsync();
|
|
|
+
|
|
|
+ var sumModel = new DepartmentAcceptanceTypeStatisticsDto
|
|
|
+ {
|
|
|
+ OrgName = "合计",
|
|
|
+ ZxAllCount = orderData.Sum(x => x.ZxAllCount),
|
|
|
+ ZxAllTimes = orderData.Sum(x => x.ZxAllTimes),
|
|
|
+ ZxAcceptanceTypeCode = "10",
|
|
|
+
|
|
|
+ JyAllCount = orderData.Sum(x => x.JyAllCount),
|
|
|
+ JyAllTimes = orderData.Sum(x => x.JyAllTimes),
|
|
|
+ JyAcceptanceTypeCode = "15",
|
|
|
+
|
|
|
+ QzAllCount = orderData.Sum(x => x.QzAllCount),
|
|
|
+ QzAllTimes = orderData.Sum(x => x.QzAllTimes),
|
|
|
+ QzAcceptanceTypeCode = "20",
|
|
|
+
|
|
|
+ ByAllCount = orderData.Sum(x => x.ByAllCount),
|
|
|
+ ByAllTimes = orderData.Sum(x => x.ByAllTimes),
|
|
|
+ ByAcceptanceTypeCode = "25",
|
|
|
+
|
|
|
+ JbAllCount = orderData.Sum(x => x.JbAllCount),
|
|
|
+ JbAllTimes = orderData.Sum(x => x.JbAllTimes),
|
|
|
+ JbAcceptanceTypeCode = "30",
|
|
|
+
|
|
|
+ TsAllCount = orderData.Sum(x => x.TsAllCount),
|
|
|
+ TsAllTimes = orderData.Sum(x => x.TsAllTimes),
|
|
|
+ TsAcceptanceTypeCode = "35",
|
|
|
+
|
|
|
+ QtAllCount = orderData.Sum(x => x.QtAllCount),
|
|
|
+ QtAllTimes = orderData.Sum(x => x.QtAllTimes),
|
|
|
+ QtAcceptanceTypeCode = "40"
|
|
|
+ };
|
|
|
+ return new { DataList = orderData, SumModel = sumModel };
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 部门受理类型统计周期--明细列表
|
|
|
/// </summary>
|
|
@@ -1269,9 +1412,10 @@ namespace Hotline.Api.Controllers.Bi
|
|
|
{
|
|
|
dto.EndDate = dto.EndDate.AddDays(1).AddSeconds(-1);
|
|
|
var (total, items) = await _orderRepository.Queryable()
|
|
|
- .Where(p => p.CreationTime >= dto.StartDate && p.CreationTime <= dto.EndDate && p.Status >= EOrderStatus.Filed)
|
|
|
- .WhereIF(!string.IsNullOrEmpty(dto.OrgLevelOneCode) && dto.OrgLevelOneCode == "001", p => p.OrgLevelOneCode == dto.OrgLevelOneCode)
|
|
|
- .WhereIF(!string.IsNullOrEmpty(dto.OrgLevelOneCode) && dto.OrgLevelOneCode != "001", p => p.ActualHandleOrgCode.StartsWith(dto.OrgLevelOneCode))
|
|
|
+ .Where(p => p.CreationTime >= dto.StartDate && p.CreationTime <= dto.EndDate && p.Status > EOrderStatus.WaitForAccept)//&& p.Status >= EOrderStatus.Filed
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode == "001", p => p.OrgLevelOneCode == dto.OrgCode)
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode != "001" && dto.SuperiorOrgCode != dto.OrgCode, p => p.ActualHandleOrgCode.StartsWith(dto.OrgCode))
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.OrgCode) && dto.OrgCode != "001" && dto.SuperiorOrgCode == dto.OrgCode, p => p.ActualHandleOrgCode == dto.OrgCode)
|
|
|
.WhereIF(!string.IsNullOrEmpty(dto.AcceptTypeCode), p => p.AcceptTypeCode == dto.AcceptTypeCode)
|
|
|
.WhereIF(dto.TypeCode == 1, p => p.OrgLevelOneCode == "001")
|
|
|
.WhereIF(dto.TypeCode == 2, p => p.OrgLevelOneCode != "001")
|
|
@@ -1412,7 +1556,7 @@ namespace Hotline.Api.Controllers.Bi
|
|
|
.Where((p, o) => p.CallOrderType == ECallOrderType.Order)
|
|
|
.Where((p, o) => p.ExternalId != null && o.Id != null)
|
|
|
.WhereIF(!string.IsNullOrEmpty(dto.PhoneNum), (p, o) => p.CPN == dto.PhoneNum)
|
|
|
- .Select((p, o) => new
|
|
|
+ .Select((p, o) => new
|
|
|
{
|
|
|
p.CPN,
|
|
|
p.ExternalId
|
|
@@ -1579,59 +1723,59 @@ namespace Hotline.Api.Controllers.Bi
|
|
|
return new PagedDto<OrderDto>(total, _mapper.Map<IReadOnlyList<OrderDto>>(items));
|
|
|
}
|
|
|
|
|
|
- /// <summary>
|
|
|
- /// 回退错件
|
|
|
- /// </summary>
|
|
|
- /// <param name="dto"></param>
|
|
|
- /// <returns></returns>
|
|
|
- [HttpGet("reTransact")]
|
|
|
- public async Task<PagedDto<OrderReTransactVo>> OrderReTransact([FromQuery] QueryOrderReTransactRequest dto)
|
|
|
+ /// <summary>
|
|
|
+ /// 回退错件
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpGet("reTransact")]
|
|
|
+ public async Task<PagedDto<OrderReTransactVo>> OrderReTransact([FromQuery] QueryOrderReTransactRequest dto)
|
|
|
{
|
|
|
- if (!dto.StartTime.HasValue || !dto.EndTime.HasValue)
|
|
|
- throw UserFriendlyException.SameMessage("请选择时间!");
|
|
|
- dto.EndTime = dto.EndTime.Value.AddDays(1).AddSeconds(-1);
|
|
|
- var (total, items) = await _orderSpecialDetailRepository.Queryable()
|
|
|
- .Includes(x=>x.OrderSpecial)
|
|
|
+ if (!dto.StartTime.HasValue || !dto.EndTime.HasValue)
|
|
|
+ throw UserFriendlyException.SameMessage("请选择时间!");
|
|
|
+ dto.EndTime = dto.EndTime.Value.AddDays(1).AddSeconds(-1);
|
|
|
+ var (total, items) = await _orderSpecialDetailRepository.Queryable()
|
|
|
+ .Includes(x => x.OrderSpecial)
|
|
|
.WhereIF(!string.IsNullOrEmpty(dto.OrgName), x => x.OrgName.Contains(dto.OrgName!))
|
|
|
- .Where(x => x.OrderSpecial.ESpecialType == ESpecialType.ReTransact)
|
|
|
+ .Where(x => x.OrderSpecial.ESpecialType == ESpecialType.ReTransact)
|
|
|
.Where(x => x.OrderSpecial.CreationTime >= dto.StartTime)
|
|
|
.Where(x => x.OrderSpecial.CreationTime <= dto.EndTime)
|
|
|
.GroupBy(x => new { Time = x.OrderSpecial.CreationTime.ToString("yyyy-MM-dd"), x.OrgId, x.OrgName })
|
|
|
.Select(x => new OrderReTransactVo
|
|
|
{
|
|
|
- Time = x.OrderSpecial.CreationTime.ToString("yyyy-MM-dd"),
|
|
|
- OrgId = x.OrgId,
|
|
|
+ Time = x.OrderSpecial.CreationTime.ToString("yyyy-MM-dd"),
|
|
|
+ OrgId = x.OrgId,
|
|
|
OrgName = x.OrgName,
|
|
|
Num = SqlFunc.AggregateCount(1)
|
|
|
}).MergeTable()
|
|
|
- .OrderByIF(dto.SortRule == 0, x => x.Num, OrderByType.Asc)
|
|
|
+ .OrderByIF(dto.SortRule == 0, x => x.Num, OrderByType.Asc)
|
|
|
.OrderByIF(dto.SortRule == 1, x => x.Num, OrderByType.Desc)
|
|
|
.ToPagedListAsync(dto, HttpContext.RequestAborted);
|
|
|
return new PagedDto<OrderReTransactVo>(total, _mapper.Map<IReadOnlyList<OrderReTransactVo>>(items));
|
|
|
- }
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// 回退错件明细
|
|
|
- /// </summary>
|
|
|
- /// <param name="dto"></param>
|
|
|
- /// <returns></returns>
|
|
|
- [HttpGet("reTransact_detail")]
|
|
|
- public async Task<PagedDto<OrderSpecialDetailDto>> OrderReTransactDetail([FromQuery] QueryOrderReTransactDetailRequest dto)
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 回退错件明细
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpGet("reTransact_detail")]
|
|
|
+ public async Task<PagedDto<OrderSpecialDetailDto>> OrderReTransactDetail([FromQuery] QueryOrderReTransactDetailRequest dto)
|
|
|
{
|
|
|
- if (!dto.StartTime.HasValue || !dto.EndTime.HasValue)
|
|
|
- throw UserFriendlyException.SameMessage("请选择时间!");
|
|
|
- dto.EndTime = dto.EndTime.Value.AddDays(1).AddSeconds(-1);
|
|
|
- var (total, items) = await _orderSpecialDetailRepository.Queryable()
|
|
|
- .Includes(x => x.OrderSpecial,s=>s.Order)
|
|
|
- .WhereIF(!string.IsNullOrEmpty(dto.OrgName),x=>x.OrgName.Contains(dto.OrgName!))
|
|
|
- .WhereIF(!string.IsNullOrEmpty(dto.ErrorName), x => x.ErrorName.Contains(dto.ErrorName!))
|
|
|
- .WhereIF(!string.IsNullOrEmpty(dto.No), x => x.OrderSpecial!.Order!.No!.Contains(dto.No!))
|
|
|
- .Where(x => x.OrderSpecial.ESpecialType == ESpecialType.ReTransact)
|
|
|
- .Where(x => x.OrderSpecial.CreationTime >= dto.StartTime)
|
|
|
- .Where(x => x.OrderSpecial.CreationTime <= dto.EndTime)
|
|
|
- .ToPagedListAsync(dto, HttpContext.RequestAborted);
|
|
|
- return new PagedDto<OrderSpecialDetailDto>(total, _mapper.Map<IReadOnlyList<OrderSpecialDetailDto>>(items));
|
|
|
- }
|
|
|
+ if (!dto.StartTime.HasValue || !dto.EndTime.HasValue)
|
|
|
+ throw UserFriendlyException.SameMessage("请选择时间!");
|
|
|
+ dto.EndTime = dto.EndTime.Value.AddDays(1).AddSeconds(-1);
|
|
|
+ var (total, items) = await _orderSpecialDetailRepository.Queryable()
|
|
|
+ .Includes(x => x.OrderSpecial, s => s.Order)
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.OrgName), x => x.OrgName.Contains(dto.OrgName!))
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.ErrorName), x => x.ErrorName.Contains(dto.ErrorName!))
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.No), x => x.OrderSpecial!.Order!.No!.Contains(dto.No!))
|
|
|
+ .Where(x => x.OrderSpecial.ESpecialType == ESpecialType.ReTransact)
|
|
|
+ .Where(x => x.OrderSpecial.CreationTime >= dto.StartTime)
|
|
|
+ .Where(x => x.OrderSpecial.CreationTime <= dto.EndTime)
|
|
|
+ .ToPagedListAsync(dto, HttpContext.RequestAborted);
|
|
|
+ return new PagedDto<OrderSpecialDetailDto>(total, _mapper.Map<IReadOnlyList<OrderSpecialDetailDto>>(items));
|
|
|
+ }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 获取基本信息
|
|
@@ -1639,14 +1783,14 @@ namespace Hotline.Api.Controllers.Bi
|
|
|
/// <param name="id"></param>
|
|
|
/// <returns></returns>
|
|
|
[HttpGet("reTransact_base")]
|
|
|
- public async Task<object> ReTransactBaseData()
|
|
|
- {
|
|
|
- var rsp = new
|
|
|
- {
|
|
|
- ReTransactErrorType = _sysDicDataCacheManager.GetSysDicDataCache(SysDicTypeConsts.ReTransactErrorType),
|
|
|
- };
|
|
|
- return rsp;
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
+ public async Task<object> ReTransactBaseData()
|
|
|
+ {
|
|
|
+ var rsp = new
|
|
|
+ {
|
|
|
+ ReTransactErrorType = _sysDicDataCacheManager.GetSysDicDataCache(SysDicTypeConsts.ReTransactErrorType),
|
|
|
+ };
|
|
|
+ return rsp;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
}
|