Forráskód Böngészése

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

xf 10 hónapja
szülő
commit
6f33cef380

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

@@ -2423,11 +2423,18 @@ public class OrderController : BaseController
                 _sessionContext.RequiredOrgId, _sessionContext.OrgName,
                 _sessionContext.OrgAreaCode, _sessionContext.OrgAreaName));
         }
+		var setting = _systemSettingCacheManager.GetSetting(SettingConstants.SeatsMonitor);
+		var settingStr = setting?.SettingValue;
+		var roles = _sessionContext.Roles;
+		foreach (var item in settingStr)
+		{
+			if (roles != null && roles.Contains(item)) dto.CanHandle = true;
+		}
 
-        //var dto = _mapper.Map<OrderDto>(order!);
-        //dto.CountersignId = countersignId;
-        //dto.CanHandle = order.CanHandle(_sessionContext.RequiredUserId, _sessionContext.RequiredOrgId);
-        dto.IsCanDelay = !order.OrderDelays.Any(x => x.DelayState == EDelayState.Examining);
+		//var dto = _mapper.Map<OrderDto>(order!);
+		//dto.CountersignId = countersignId;
+		//dto.CanHandle = order.CanHandle(_sessionContext.RequiredUserId, _sessionContext.RequiredOrgId);
+		dto.IsCanDelay = !order.OrderDelays.Any(x => x.DelayState == EDelayState.Examining);
         if (order.OrderDelays.Any(x => x.DelayState == EDelayState.Examining && x.ApplyOrgCode == _sessionContext.RequiredOrgId))
         {
             dto.CanHandle = false;
@@ -3209,7 +3216,7 @@ public class OrderController : BaseController
             //  )))
             //.Where(d => d.Workflow.Steps.Any(s => s.Status < EWorkflowStepStatus.Handled && s.HandlerOrgId == OrgSeedData.CenterId))
             .LeftJoin<WorkflowStep>((d, step) => d.Id == step.ExternalId)
-            .Where((d,step)=>step.HandlerOrgId == OrgSeedData.CenterId)
+            .Where((d,step)=> (step.Id  == null || step.HandlerOrgId == OrgSeedData.CenterId))
             .Where(d => d.Source < ESource.MLSQ || d.Source > ESource.WZSC)
             .Where(d => d.Status != EOrderStatus.BackToProvince && d.Status < EOrderStatus.Filed)
             .WhereIF(!string.IsNullOrEmpty(dto.No), d => d.No!.Contains(dto.No!))
@@ -5010,8 +5017,9 @@ public class OrderController : BaseController
         if (order.IsSigned())
             throw new UserFriendlyException("该工单已被签收");
         order.Sign(_sessionContext.RequiredUserId, _sessionContext.UserName);
+        order.AutoAccept(_sessionContext.RequiredUserId, _sessionContext.UserName, _sessionContext.StaffNo);
 
-        if (!string.IsNullOrEmpty(order.WorkflowId))
+		if (!string.IsNullOrEmpty(order.WorkflowId))
         {
             var workflow = await _workflowDomainService.SignToSomebodyAsync(
                 order.WorkflowId,

+ 4 - 2
src/Hotline.Application/Mappers/OrderMapperConfigs.cs

@@ -34,8 +34,10 @@ public class OrderMapperConfigs : IRegister
             .Map(d => d.StartTime, s => s.CreationTime)
             .Ignore(d => d.Status)
             .Ignore(d => d.Title)
-            .Ignore(d => d.ExternalId)
-            .AfterMapping((s, d) =>
+            .Ignore(d => d.AcceptorId)
+            .Ignore(d => d.AcceptorName)
+            .Ignore(d => d.AcceptorStaffNo)
+			.AfterMapping((s, d) =>
             {
                 d.UpdateHandlingStatus(s.IsInCountersign);
             })

+ 4 - 1
src/Hotline/Orders/OrderDomainService.cs

@@ -105,7 +105,10 @@ public class OrderDomainService : IOrderDomainService, IScopeDependency
     public async Task<string> AddAsync(Order order, bool autoAccept = false, CancellationToken cancellationToken = default)
     {
         if (autoAccept)
-            order.AutoAccept(_sessionContext.RequiredUserId, _sessionContext.UserName, _sessionContext.StaffNo);
+        {
+	        order.AutoAccept(_sessionContext.RequiredUserId, _sessionContext.UserName, _sessionContext.StaffNo);
+            order.Sign(_sessionContext.RequiredUserId, _sessionContext.UserName);
+		}
         order.Init();
         order.No = GenerateNewOrderNo();
         order.Password = Random.Shared.Next(100000, 1000000).ToString();