Przeglądaj źródła

203 工单详情中新增中心意见等信息

田爽 10 miesięcy temu
rodzic
commit
43554e5550

+ 12 - 1
src/Hotline.Api/Controllers/OrderController.cs

@@ -2497,7 +2497,18 @@ public class OrderController : BaseController
             .Where(x => x.OrderId == id).Distinct().ToListAsync();
         var repeatables = _mapper.Map<List<RepeatableEventDetailOpDto>>(repeatablesMap);
         dto.RepeatableEventDetails = repeatables;
-        return dto;
+        if (!string.IsNullOrEmpty(dto.WorkflowId))
+        {
+			var workflow = await _workflowDomainService.GetWorkflowAsync(dto.WorkflowId, withSteps: true,
+				cancellationToken: HttpContext.RequestAborted);
+            var centerOpinion = workflow.Steps.Where(x => x.HandlerOrgId == OrgSeedData.CenterId).OrderByDescending(x=>x.CreationTime).Select(x=>x.Opinion).First();
+            dto.CenterOpinion = string.IsNullOrEmpty(centerOpinion)? string.Empty: centerOpinion;
+            var sendBack = await _orderSendBackAuditRepository.Queryable().Where(x => x.OrderId == dto.Id).OrderByDescending(x=>x.CreationTime).FirstAsync();
+            dto.SendBackOpinion = sendBack is { Id: not null } && !string.IsNullOrEmpty(sendBack.AuditContent) ? sendBack.AuditContent : string.Empty;
+            List<OrderRemarksDto> remarks = workflow.Steps.Select(x => new OrderRemarksDto { Remark = x.Remark, RemarkTime = x.CreationTime, RemarkUser = x.CreatorName }).ToList();
+            dto.OrderRemarks = remarks;
+		}
+		return dto;
     }
 
     /// <summary>

+ 6 - 1
src/Hotline.Share/Dtos/FlowEngine/BasicWorkflowDto.cs

@@ -74,7 +74,12 @@ public class BasicWorkflowDto : EndWorkflowDto
     /// </summary>
     public EReviewResult ReviewResult { get; set; }
 
-    
+    /// <summary>
+    /// 备注
+    /// </summary>
+    public string? Remark { get; set; }
+
+
 }
 
 public class External

+ 36 - 1
src/Hotline.Share/Dtos/Order/OrderDto.cs

@@ -496,7 +496,23 @@ namespace Hotline.Share.Dtos.Order
             }
             return overDays;
         }
-    }
+
+        /// <summary>
+        /// 中心意见
+        /// </summary>
+        public string CenterOpinion { get; set; }
+
+        /// <summary>
+        /// 退回意见
+        /// </summary>
+        public string SendBackOpinion { get; set; }
+
+        /// <summary>
+        /// 退回意见
+        /// </summary>
+        public List<OrderRemarksDto> OrderRemarks { get; set; }
+
+	}
 
     public class UpdateOrderDto : AddOrderDto
     {
@@ -833,4 +849,23 @@ namespace Hotline.Share.Dtos.Order
 
         public decimal UnsignedTime { get; set; }
     }
+
+    public class OrderRemarksDto 
+    { 
+        /// <summary>
+        /// 备注信息
+        /// </summary>
+        public string? Remark { get; set; }
+
+        /// <summary>
+        /// 备注人
+        /// </summary>
+        public string? RemarkUser { get; set; }
+
+        /// <summary>
+        /// 备注时间
+        /// </summary>
+        public DateTime RemarkTime { get; set; }
+
+	}
 }

+ 10 - 4
src/Hotline/FlowEngine/Workflows/StepBasicEntity.cs

@@ -88,12 +88,18 @@ public abstract class StepBasicEntity : CreationEntity
     /// </summary>
     public EWorkflowStepStatus Status { get; set; }
 
-    #region 会签
-
     /// <summary>
-    /// 会签id(或外层会签的id)
+    /// 备注
     /// </summary>
-    public string? CountersignId { get; set; }
+    [SugarColumn(ColumnDescription = "备注", ColumnDataType = "varchar(5000)")]
+    public string? Remark { get; set; }
+
+	#region 会签
+
+	/// <summary>
+	/// 会签id(或外层会签的id)
+	/// </summary>
+	public string? CountersignId { get; set; }
 
     /// <summary>
     /// 节点处于会签流程中的位置(区别直接办理会签和会签内非会签节点)