Browse Source

修复显示错误

qinchaoyue 1 month ago
parent
commit
f6da1fed53

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

@@ -1337,7 +1337,7 @@ public class OrderController : BaseController
             Histories = histories,
             IsCanUpdate = isCanUpdate
         };
-        if (_appOptions.Value.IsLuZhou 
+        if (_appOptions.Value.IsLuZhou
             && !_sessionContext.OrgIsCenter
             && rsp.OrderVisitModel.Order.IsSecret)
         {
@@ -4027,15 +4027,13 @@ public class OrderController : BaseController
         if (_systemSettingCacheManager.Snapshot)
         {
             await _orderSnapshotRepository.Queryable()
-                .Where(m => m.Id == order.Id)
-                .Select(m => new { m.IndustryId, m.IndustryName , m.IndustryCase})
+                .LeftJoin<IndustryCase>((snapshot, industryCase) => snapshot.IndustryCase == industryCase.Id)
+                .Where((snapshot, industryCase) => snapshot.Id == order.Id)
+                .Select((snapshot, industryCase) => new { snapshot.IndustryId, snapshot.IndustryName, industryCase.Name, })
                 .FirstAsync(HttpContext.RequestAborted)
                 .Then(async snapshot =>
                 {
-                    if (snapshot.IndustryCase.IsNullOrEmpty())
-                        dto.IndustryName = snapshot.IndustryName;
-                    else
-                        dto.IndustryName = snapshot.IndustryName + " " + snapshot.IndustryCase;
+                    dto.IndustryName = snapshot.IndustryName + " " + snapshot.Name;
                     dto.IndustryId = snapshot.IndustryId;
                 });
         }
@@ -4860,7 +4858,7 @@ public class OrderController : BaseController
                 orderHandleFlowDto.CrossSteps = orderHandleFlowDto.CrossSteps.OrderBy(d => d.Sort).ToList();
                 var stepCount = orderHandleFlowDto.CrossSteps.Count;
                 var unhandleSteps = new List<WorkflowStep> { startStep };
-                for (int i = 0; i < stepCount; i++)
+                for (int i = 0;i < stepCount;i++)
                 {
                     var crossStep = orderHandleFlowDto.CrossSteps[i];
                     var tempSteps = new List<WorkflowStep>();
@@ -7203,11 +7201,11 @@ public class OrderController : BaseController
         }
     }
 
-	/// <summary>
-	/// 批量重提   根据传入的工单编号特提所有工单
-	/// </summary>
-	/// <returns></returns>
-	[HttpPost("order_batch_special")]
+    /// <summary>
+    /// 批量重提   根据传入的工单编号特提所有工单
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost("order_batch_special")]
     [AllowAnonymous]
     public async Task BatchSpecial([FromBody] OrderBatchSpecialDto model)
     {
@@ -7215,15 +7213,15 @@ public class OrderController : BaseController
             .Includes(o => o.Workflow)
             .Includes(o => o.OrderVisits)
             .Where(o => (o.CounterSignType == null || o.CounterSignType == ECounterSignType.Department))
-            .In(o=> o.No, model.No).ToListAsync();
+            .In(o => o.No, model.No).ToListAsync();
         if (!orders.Any())
             throw UserFriendlyException.SameMessage("未查询到工单信息!");
         foreach (var order in orders)
         {
             var nextStep = await _workflowTraceRepository.Queryable()
-				.LeftJoin<SystemOrganize>((step, o) => step.HandlerOrgId == o.Id)
-				.Where((step,o) =>  step.WorkflowId == order.WorkflowId && step.TraceStyle == ETraceStyle.Flow && step.StepType == EStepType.Normal
-					&&!string.IsNullOrEmpty(step.HandlerOrgId) && o.Level == 1 && step.BusinessType == EBusinessType.Department).OrderByDescending(step => step.CreationTime)
+                .LeftJoin<SystemOrganize>((step, o) => step.HandlerOrgId == o.Id)
+                .Where((step, o) => step.WorkflowId == order.WorkflowId && step.TraceStyle == ETraceStyle.Flow && step.StepType == EStepType.Normal
+                    && !string.IsNullOrEmpty(step.HandlerOrgId) && o.Level == 1 && step.BusinessType == EBusinessType.Department).OrderByDescending(step => step.CreationTime)
                 .FirstAsync(HttpContext.RequestAborted);
             if (nextStep is null)
                 continue;

+ 5 - 3
src/Hotline.Application/Snapshot/SnapshotOrderApplication.cs

@@ -213,10 +213,9 @@ public class SnapshotOrderApplication : IOrderSnapshotApplication, IScopeDepende
     {
         var query = _orderSnapshotRepository.Queryable()
             .LeftJoin<Order>((snapshot, order) => snapshot.Id == order.Id)
-            .LeftJoin<WorkflowStep>((snapshot, order, step) => step.ExternalId == order.Id)
+            .LeftJoin<WorkflowStep>((snapshot, order, step) => step.ExternalId == order.Id && step.Tag == TagDefaults.OrderMark && step.Status != EWorkflowStepStatus.Handled)
             .Where((snapshot, order, step) => snapshot.IndustryName == "安全隐患")
-            //.WhereIF(dto.Status == 0, (snapshot, order, step) => step.Tag == TagDefaults.OrderMark) // 全部
-            .WhereIF(dto.Status == 1, (snapshot, order, step) => step.Tag == TagDefaults.OrderMark && step.Status != EWorkflowStepStatus.Handled &&  _sessionContext.Roles.Contains(step.RoleId)) // 待标记
+            .WhereIF(dto.Status == 1, (snapshot, order, step) => step.Id != null && snapshot.IsSafetyDepartment == null) // 待标记
             .WhereIF(dto.Status == 2, (snapshot, order, step) => snapshot.IsSafetyDepartment != null) // 已标记
             .WhereIF(dto.No.NotNullOrEmpty(), (snapshot, order, step) => order.No.Contains(dto.No))
             .WhereIF(dto.Title.NotNullOrEmpty(), (snapshot, order, step) => order.Title.Contains(dto.Title))
@@ -237,6 +236,9 @@ public class SnapshotOrderApplication : IOrderSnapshotApplication, IScopeDepende
                 LabelTime = snapshot.SignTime,
                 LabelUserName = snapshot.SignUserName
             });
+#if DEBUG
+        var sql = query.ToSqlString();
+#endif
         return query;
     }
 

+ 1 - 0
test/Hotline.Tests/Application/SnapshotApplicationTest.cs

@@ -93,6 +93,7 @@ public class SnapshotApplicationTest : TestBase
             IsPublished = true
         }).ToPageListAsync(0, 10);
         items.NotNullOrEmpty().ShouldBeTrue();
+        var signItems =  await _orderSnapshotApplication.GetSignOrderSnapshotItems(new SignOrderSnapshotItemsInDto()).ToListAsync();
     }
 
     [Fact]