|
@@ -1668,7 +1668,8 @@ public class OrderApplication : IOrderApplication, IScopeDependency
|
|
|
public async Task<List<VisitAndOrgSatisfactionStatisticsDto>> VisitAndOrgSatisfactionStatistics(PagedKeywordSonRequest dto)
|
|
|
{
|
|
|
bool IsCenter = _sessionContextProvider.SessionContext.OrgIsCenter;
|
|
|
-
|
|
|
+ int orgLevel = _sessionContextProvider.SessionContext.OrgLevel;
|
|
|
+ string orgLevelStr = ((orgLevel+1) * 3).ToString();
|
|
|
var list = _orderVisitDetailRepository.Queryable()
|
|
|
.Where(x => x.OrderVisit.VisitTime >= dto.StartTime.Value && x.OrderVisit.VisitTime <= dto.EndTime.Value &&
|
|
|
x.VisitTarget == EVisitTarget.Org && x.OrderVisit.VisitState == EVisitState.Visited && !string.IsNullOrEmpty(x.VisitOrgCode))
|
|
@@ -1736,13 +1737,13 @@ public class OrderApplication : IOrderApplication, IScopeDependency
|
|
|
{
|
|
|
data = await list.GroupBy(x => new
|
|
|
{
|
|
|
- x.VisitOrgCode
|
|
|
+ VisitOrgCode = x.VisitOrgCode//.Substring(SqlFunc.MappingColumn<int>("0"),SqlFunc.MappingColumn<int>(orgLevelStr))
|
|
|
})
|
|
|
.Select(x => new VisitAndOrgSatisfactionStatisticsDto()
|
|
|
{
|
|
|
- OrgCode = x.VisitOrgCode,
|
|
|
+ OrgCode = x.VisitOrgCode,//.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>(orgLevelStr)),
|
|
|
TotalSumCount =
|
|
|
- SqlFunc.AggregateCount(x.VisitOrgCode.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>("6"))),
|
|
|
+ SqlFunc.AggregateCount(x.VisitOrgCode.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>(orgLevelStr))),
|
|
|
VerySatisfiedCount = SqlFunc.IIF(dto.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))), //非常满意数
|
|
@@ -1766,7 +1767,7 @@ public class OrderApplication : IOrderApplication, IScopeDependency
|
|
|
SqlFunc.AggregateSum(SqlFunc.IIF(SqlFunc.JsonField(x.OrgHandledAttitude, "Key") == "6", 1, 0))), //未接通
|
|
|
})
|
|
|
.MergeTable()
|
|
|
- .LeftJoin<SystemOrganize>((it, o) => it.OrgCode == o.Id)
|
|
|
+ .LeftJoin<SystemOrganize>((it, o) => it.OrgCode == o.Id && (o.Level == orgLevel || o.Level == (orgLevel+1)))
|
|
|
.Select((it, o) => new VisitAndOrgSatisfactionStatisticsDto()
|
|
|
{
|
|
|
OrgName = o.Name,
|