Jason 1 year ago
parent
commit
04e2bbe004

+ 14 - 15
src/Hotline.Api/Controllers/OrderController.cs

@@ -386,8 +386,11 @@ public class OrderController : BaseController
 
 
         //更新主表
-        visit.VisitState = Share.Enums.Order.EVisitState.Visited;
-        visit.VisitTime = DateTime.Now;
+        if (dto.IsPutThrough)
+        {
+            visit.VisitState = Share.Enums.Order.EVisitState.Visited;
+            visit.VisitTime = DateTime.Now;
+        }
         visit.IsPutThrough = dto.IsPutThrough;
         visit.AgainState = dto.IsAgain ? EAgainState.NeedAgain : EAgainState.NoAgain;
         visit.EmployeeId = _sessionContext.UserId;
@@ -395,19 +398,15 @@ public class OrderController : BaseController
         //await _orderVisitRepository.UpdateAsync(visit,HttpContext.RequestAborted);
 
         //update order
-        visit.Order.Visited(first.OrgProcessingResults.Id, first.OrgProcessingResults.Name);
-
-        //更新明細
-        //var visitDetails = _mapper.Map <List<OrderVisitDetail>>(dto.VisitDetails); 
-        //await _orderVisitedDetailRepository.UpdateRangeAsync(visitDetails, HttpContext.RequestAborted);
-        visit.VisitDetails = _mapper.Map<List<OrderVisitDetail>>(dto.VisitDetails);
-
-        _orderVisitRepository.UpdateNav(visit);
-
-        var orderDto = _mapper.Map<OrderDto>(visit.Order);
-
-        //推省上
-        _capPublisher.Publish(EventNames.HotlineOrderVisited, new PublishVisitDto() { Order = orderDto, No = visit.No, VisitType = visit.VisitType, VisitName = visit.Employee.Name, VisitTime = visit.VisitTime, VisitRemark = first.VisitContent, AreaCode = visit.Order.AreaCode!, SubjectResultSatifyCode = first.OrgProcessingResults.Id, FirstSatisfactionCode = visit.Order.FirstVisitResultCode!, ClientGuid = "" });
+        if (dto.IsPutThrough)
+        {
+            visit.Order.Visited(first.OrgProcessingResults.Id, first.OrgProcessingResults.Name);
+            visit.VisitDetails = _mapper.Map<List<OrderVisitDetail>>(dto.VisitDetails);
+            _orderVisitRepository.UpdateNav(visit);
+            var orderDto = _mapper.Map<OrderDto>(visit.Order);
+            //推省上
+            _capPublisher.Publish(EventNames.HotlineOrderVisited, new PublishVisitDto() { Order = orderDto, No = visit.No, VisitType = visit.VisitType, VisitName = visit.Employee.Name, VisitTime = visit.VisitTime, VisitRemark = first.VisitContent, AreaCode = visit.Order.AreaCode!, SubjectResultSatifyCode = first.OrgProcessingResults.Id, FirstSatisfactionCode = visit.Order.FirstVisitResultCode!, ClientGuid = "" });
+        }
     }
 
     #endregion

+ 7 - 7
src/Hotline.Share/Dtos/Order/QueryOrderDto.cs

@@ -183,37 +183,37 @@ namespace Hotline.Share.Dtos.Order
         /// <summary>
         /// 部门办件结果
         /// </summary>
-        public IdName OrgProcessingResults { get; set; }
+        public IdName? OrgProcessingResults { get; set; }
 
         /// <summary>
         /// 不满意原因
         /// </summary>
-        public IdName OrgNoSatisfiedReason { get; set; }
+        public IdName? OrgNoSatisfiedReason { get; set; }
 
         /// <summary>
         /// 部门办件态度
         /// </summary>
-        public IdName OrgHandledAttitude { get; set; }
+        public IdName? OrgHandledAttitude { get; set; }
 
         /// <summary>
         /// 回访内容
         /// </summary>
-        public string VisitContent { get; set; }
+        public string? VisitContent { get; set; }
 
         /// <summary>
         /// 回访部门名称
         /// </summary>
-        public string VisitOrgName { get; set; }
+        public string? VisitOrgName { get; set; }
 
         /// <summary>
         /// 回访部门Code
         /// </summary>
-        public string VisitOrgCode { get; set; }
+        public string? VisitOrgCode { get; set; }
 
         /// <summary>
         /// 回访对象类型 10:话务员 20:部门
         /// </summary>
-        public EVisitTarget VisitTarget { get; set; }
+        public EVisitTarget? VisitTarget { get; set; }
     }
 
     public record QueryOrderRedoRecordDto: PagedKeywordRequest