|
@@ -48,6 +48,7 @@ using Hotline.Validators.FlowEngine;
|
|
|
using Mapster;
|
|
|
using MapsterMapper;
|
|
|
using MediatR;
|
|
|
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion.Internal;
|
|
|
using Microsoft.Extensions.Options;
|
|
|
using PanGu;
|
|
|
using Quartz.Simpl;
|
|
@@ -1317,7 +1318,8 @@ public class OrderApplication : IOrderApplication, IScopeDependency
|
|
|
if (_appOptions.Value.IsYiBin && visit.VisitState == EVisitState.Visited)
|
|
|
throw UserFriendlyException.SameMessage("已回访,不能重复回访");
|
|
|
|
|
|
- var visitTemp = visit;
|
|
|
+ bool exisNoSatisfiedSeat = false;
|
|
|
+ bool exisNoSatisfiedOrg = false;
|
|
|
|
|
|
//记录修改历史
|
|
|
try
|
|
@@ -1335,6 +1337,35 @@ public class OrderApplication : IOrderApplication, IScopeDependency
|
|
|
await _orderVisitDetailCopyRepository.AddRangeAsync(visitDetailsCopy, cancellationToken);
|
|
|
visit.IsUpdate = true;
|
|
|
}
|
|
|
+
|
|
|
+ //# 再次回访处理之前的甄别记录
|
|
|
+ //## 若用户将语音评价结果修改为了满意,此时甄别类型为中心话务甄别的工单,需从甄别待审批中删除;部门办件甄别的工单需保留
|
|
|
+ if (visit.OrderVisitDetails != null && visit.OrderVisitDetails.Count > 0)
|
|
|
+ {
|
|
|
+ // 坐席
|
|
|
+ // 判断老数据是否是不满意
|
|
|
+ var visitDataSeat = visit.OrderVisitDetails.Where(x => x.VisitTarget == EVisitTarget.Seat).FirstOrDefault();
|
|
|
+ if (visitDataSeat != null)
|
|
|
+ {
|
|
|
+ if (visitDataSeat.VoiceEvaluate == EVoiceEvaluate.NoSatisfied ||
|
|
|
+ visitDataSeat.VoiceEvaluate == EVoiceEvaluate.VeryNoSatisfied)
|
|
|
+ {
|
|
|
+ exisNoSatisfiedSeat = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 部门
|
|
|
+ // 判断老数据是否是不满意
|
|
|
+ var visitDataOrg = visit.OrderVisitDetails.Where(x => x.VisitTarget == EVisitTarget.Org).FirstOrDefault();
|
|
|
+ if (visitDataOrg != null)
|
|
|
+ {
|
|
|
+ if (visitDataOrg.OrgProcessingResults?.Value == "不满意" ||
|
|
|
+ visitDataOrg.OrgProcessingResults?.Value == "非常不满意")
|
|
|
+ {
|
|
|
+ exisNoSatisfiedOrg = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
catch (Exception)
|
|
@@ -1488,56 +1519,41 @@ public class OrderApplication : IOrderApplication, IScopeDependency
|
|
|
//## 若用户将语音评价结果修改为了满意,此时甄别类型为中心话务甄别的工单,需从甄别待审批中删除;部门办件甄别的工单需保留
|
|
|
if (dto.IsUpdate.HasValue && dto.IsUpdate == true)
|
|
|
{
|
|
|
- if (visitTemp.OrderVisitDetails != null && visitTemp.OrderVisitDetails.Count > 0)
|
|
|
+ // 坐席
|
|
|
+ // 判断老数据是否是不满意
|
|
|
+ if (exisNoSatisfiedSeat)
|
|
|
{
|
|
|
- // 坐席
|
|
|
- // 判断老数据是否是不满意
|
|
|
- var visitDataSeat = visitTemp.OrderVisitDetails.Where(x => x.VisitTarget == EVisitTarget.Seat).FirstOrDefault();
|
|
|
- if (visitDataSeat != null)
|
|
|
+ // 判断更新数据是否是满意
|
|
|
+ var visitData = dto.VisitDetails.Where(x => x.VisitTarget == EVisitTarget.Seat).FirstOrDefault();
|
|
|
+ if (visitData != null)
|
|
|
{
|
|
|
- if (visitDataSeat.VoiceEvaluate == EVoiceEvaluate.NoSatisfied ||
|
|
|
- visitDataSeat.VoiceEvaluate == EVoiceEvaluate.VeryNoSatisfied)
|
|
|
+ if ((visitData.VoiceEvaluate == EVoiceEvaluate.VerySatisfied ||
|
|
|
+ visitData.VoiceEvaluate == EVoiceEvaluate.Satisfied) &&
|
|
|
+ (visitData.SeatEvaluate == ESeatEvaluate.VerySatisfied ||
|
|
|
+ visitData.SeatEvaluate == ESeatEvaluate.Satisfied))
|
|
|
{
|
|
|
- // 判断更新数据是否是满意
|
|
|
- var visitData = dto.VisitDetails.Where(x => x.VisitTarget == EVisitTarget.Seat).FirstOrDefault();
|
|
|
- if (visitData != null)
|
|
|
- {
|
|
|
- if ((visitData.VoiceEvaluate == EVoiceEvaluate.VerySatisfied ||
|
|
|
- visitData.VoiceEvaluate == EVoiceEvaluate.Satisfied) &&
|
|
|
- (visitData.SeatEvaluate == ESeatEvaluate.VerySatisfied ||
|
|
|
- visitData.SeatEvaluate == ESeatEvaluate.Satisfied))
|
|
|
- {
|
|
|
- await _orderScreenRepository.RemoveAsync(x => x.VisitId == visitData.VisitId);
|
|
|
- }
|
|
|
- }
|
|
|
+ await _orderScreenRepository.RemoveAsync(x => x.VisitId == visitData.VisitId);
|
|
|
}
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
- // 部门
|
|
|
- // 判断老数据是否是不满意
|
|
|
- var visitDataOrg = visitTemp.OrderVisitDetails.Where(x => x.VisitTarget == EVisitTarget.Org).FirstOrDefault();
|
|
|
- if (visitDataOrg != null)
|
|
|
+ // 部门
|
|
|
+ // 判断老数据是否是不满意
|
|
|
+ if (exisNoSatisfiedOrg)
|
|
|
+ {
|
|
|
+ // 判断更新数据是否是满意
|
|
|
+ var visitData = dto.VisitDetails.Where(x => x.VisitTarget == EVisitTarget.Org).FirstOrDefault();
|
|
|
+ if (visitData != null)
|
|
|
{
|
|
|
- if (visitDataOrg.VoiceEvaluate == EVoiceEvaluate.NoSatisfied ||
|
|
|
- visitDataOrg.VoiceEvaluate == EVoiceEvaluate.VeryNoSatisfied)
|
|
|
+ if (visitData.OrgProcessingResults != null)
|
|
|
{
|
|
|
- // 判断更新数据是否是满意
|
|
|
- var visitData = dto.VisitDetails.Where(x => x.VisitTarget == EVisitTarget.Org).FirstOrDefault();
|
|
|
- if (visitData != null)
|
|
|
+ if (visitData.OrgProcessingResults.Value == "非常满意" ||
|
|
|
+ visitData.OrgProcessingResults.Value == "满意")
|
|
|
{
|
|
|
- if (visitData.OrgProcessingResults != null)
|
|
|
- {
|
|
|
- if (visitData.OrgProcessingResults.Value == "非常满意" ||
|
|
|
- visitData.OrgProcessingResults.Value == "满意")
|
|
|
- {
|
|
|
- await _orderScreenRepository.RemoveAsync(x => x.VisitId == visitData.VisitId);
|
|
|
- }
|
|
|
- }
|
|
|
+ await _orderScreenRepository.RemoveAsync(x => x.VisitId == visitData.VisitId);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
}
|