Browse Source

Merge branch 'release/yibin' of http://110.188.24.182:10023/Fengwo/hotline into release/yibin

xf 10 months ago
parent
commit
03534890ea

+ 2 - 2
src/Hotline.Api/Controllers/OrderController.cs

@@ -1644,7 +1644,7 @@ public class OrderController : BaseController
         var view = dto.source == 1;
         var handler = dto.source == 1 && dto.Status is EScreenStatus.Apply;
 
-        var query = _orderScreenRepository.Queryable(canView: view, hasHandled: handler)
+        var query = _orderScreenRepository.Queryable(hasHandled: handler)
             .Includes(d => d.Order)
             .Includes(d => d.VisitDetail)
             .Includes(d => d.Visit, v => v.Order)
@@ -2505,7 +2505,7 @@ public class OrderController : BaseController
             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;
+            dto.SendBackOpinion = sendBack is { Id: not null } && !string.IsNullOrEmpty(sendBack.Content) ? sendBack.Content : string.Empty;
             List<OrderRemarksDto> remarks = workflow.Steps.Where(x=> !string.IsNullOrEmpty(x.Remark)).Select(x => new OrderRemarksDto { Remark = x.Remark, RemarkTime = x.CreationTime, RemarkUser = x.CreatorName }).ToList();
             dto.OrderRemarks = remarks;
 		}

+ 41 - 20
src/Hotline.Api/Controllers/TestController.cs

@@ -202,28 +202,49 @@ public class TestController : BaseController
     }
     [HttpGet("testo111")]
     [AllowAnonymous]
-    public async Task<object> Test111(DateTime StartTime, DateTime? EndTime)
+    public async Task Test111(DateTime StartTime, DateTime? EndTime)
     {
 
         var list = await _orderRepository.Queryable()
-                 .Where(p => p.CreationTime >= StartTime && p.CreationTime <= EndTime)
-                 .Select(p => new
-                 {
-                     AreaCode = p.AreaCode.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>("6")),
-                     Hour = p.CreationTime.Hour
-
-                 }).MergeTable()
-                 .LeftJoin<SystemArea>((p, a) => p.AreaCode == a.Id)
-                 .GroupBy((p, a) => a.AreaName)
-                 .GroupBy((p, a) => p.Hour)
-                 .Select((p, a) => new
-                 {
-                     AreaCode = a.AreaName,
-                     Hour = p.Hour,
-                     count = SqlFunc.AggregateCount(p.AreaCode)
-                 }).ToPivotTableAsync(p => p.AreaCode, p => p.Hour, p => p.Sum(x => x.count));
-
-        return list;
+           .Where(p => p.CreationTime >= StartTime && p.CreationTime <= EndTime && p.Status >= EOrderStatus.Filed)
+           .Where(p => p.CreationTimeHandleDuration == null || p.CenterToOrgHandleDuration == null)
+           .ToListAsync();
+
+        if (list.Any())
+        {
+            foreach (var item in list)
+            {
+                var creationTimeHandleDurationWorkday = item.ActualHandleTime.HasValue
+                  ? _timeLimitDomainService.CalcWorkTime(item.CreationTime, item.ActualHandleTime.Value,
+                  item.ProcessType is EProcessType.Zhiban)
+                  : 0;
+                var centerToOrgHandleDurationWorkday = item.ActualHandleTime.HasValue && item.CenterToOrgTime.HasValue
+                    ? _timeLimitDomainService.CalcWorkTime(item.CenterToOrgTime.Value, item.ActualHandleTime.Value,
+                    item.ProcessType is EProcessType.Zhiban)
+                    : 0;
+
+                item.CreationTimeHandleDurationWorkday = creationTimeHandleDurationWorkday;
+                item.CenterToOrgHandleDurationWorkday = centerToOrgHandleDurationWorkday;
+
+                if (item.ActualHandleTime.HasValue)
+                {
+                    var count = Math.Round((item.ActualHandleTime - item.CreationTime).Value.TotalSeconds);
+                    item.CreationTimeHandleDuration = count <= 0 ? 1 : count;
+                }
+                else
+                    item.CreationTimeHandleDuration = 0;
+
+                if (item.ActualHandleTime.HasValue && item.CenterToOrgTime.HasValue)
+                {
+                    var count = Math.Round((item.ActualHandleTime - item.CenterToOrgTime).Value.TotalSeconds);
+                    item.CenterToOrgHandleDuration = count <= 0 ? 1 : count;
+                }
+                else
+                    item.CenterToOrgHandleDuration = 0;
+
+                await _orderRepository.UpdateAsync(item, HttpContext.RequestAborted);
+            }
+        }
     }
 
     [HttpGet("testo")]
@@ -751,7 +772,7 @@ public class TestController : BaseController
                 trace.HandlerOrgAreaCode = org.AreaCode;
             if (string.IsNullOrEmpty(trace.HandlerOrgAreaName))
                 trace.HandlerOrgAreaName = org.AreaName;
-            
+
             updateSteps.Add(trace);
         }
 

+ 7 - 6
src/Hotline.Api/Hotline.Api.csproj

@@ -8,6 +8,13 @@
     <NoWarn>$(NoWarn);1591;8618;1803;</NoWarn>
   </PropertyGroup>
 
+  <ItemGroup>
+    <Compile Remove="Template\**" />
+    <Content Remove="Template\**" />
+    <EmbeddedResource Remove="Template\**" />
+    <None Remove="Template\**" />
+  </ItemGroup>
+
   <ItemGroup>
     <PackageReference Include="FluentValidation.AspNetCore" Version="11.3.0" />
     <PackageReference Include="Fw.Utility.Client" Version="1.0.0" />
@@ -26,10 +33,4 @@
     <ProjectReference Include="..\Hotline.Application\Hotline.Application.csproj" />
   </ItemGroup>
 
-  <ItemGroup>
-    <None Update="Template\宜宾交办单模版.doc">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </None>
-  </ItemGroup>
-
 </Project>

BIN
src/Hotline.Api/Template/宜宾交办单模版.doc


+ 1 - 1
src/Hotline.Share/Dtos/OrderExportWord/OrderSubmissionForm.cs

@@ -87,7 +87,7 @@ namespace Hotline.Share.Dtos.OrderExportWord
         /// <summary>
         /// 实际办理意见
         /// </summary>
-        public string? ActualOpinion { get; set; }
+        public string? FileOpinion { get; set; }
 
         /// <summary>
         /// 回访部门信息

+ 16 - 6
src/Hotline/Orders/Order.cs

@@ -690,7 +690,7 @@ namespace Hotline.Orders
         [SugarColumn(ColumnDataType = "varchar(8000)")]
         public string? FileOpinion { get; set; }
 
-        
+
 
         #endregion
 
@@ -1040,8 +1040,14 @@ namespace Hotline.Orders
         /// </summary>
         public void SetCreationTimeHandleDurationWorkday()
         {
-            if (!ActualHandleTime.HasValue) return;
-            FileDuration = Math.Round((ActualHandleTime - CreationTime).Value.TotalSeconds);
+            if (!ActualHandleTime.HasValue)
+                CreationTimeHandleDuration = 0;
+            else
+            {
+                var count = Math.Round((ActualHandleTime - CreationTime).Value.TotalSeconds);
+                CreationTimeHandleDuration = count <= 0 ? 1 : count;
+            }
+
         }
 
         /// <summary>
@@ -1049,9 +1055,13 @@ namespace Hotline.Orders
         /// </summary>
         public void SetCenterToOrgHandleDurationWorkday()
         {
-            if (!ActualHandleTime.HasValue) return;
-            if (!CenterToOrgTime.HasValue) return;
-            FileDuration = Math.Round((ActualHandleTime - CenterToOrgTime).Value.TotalSeconds);
+            if (ActualHandleTime.HasValue && CenterToOrgTime.HasValue)
+            {
+                var count = Math.Round((ActualHandleTime - CenterToOrgTime).Value.TotalSeconds);
+                CenterToOrgHandleDuration = count <= 0 ? 1 : count;
+            }
+            else
+                CenterToOrgHandleDuration = 0;
         }
 
         /// <summary>