浏览代码

ordervisit

Jason 1 年之前
父节点
当前提交
7c17eef794

+ 7 - 1
src/Hotline.Api/Controllers/TestController.cs

@@ -57,6 +57,7 @@ public class TestController : BaseController
 
     private readonly ITimeLimitDomainService _timeLimitDomainService;
     private readonly IWfModuleDomainService _wfModuleDomainService;
+    private readonly IDaySettingRepository _daySettingRepository;
     private readonly ITrClient _trClient;
 
 
@@ -87,6 +88,7 @@ public class TestController : BaseController
         IRepositoryTextSearch<OrderTs> repositoryts,
         ITimeLimitDomainService timeLimitDomainService,
         IWfModuleDomainService wfModuleDomainService,
+        IDaySettingRepository daySettingRepository,
         ITrClient trClient
         )
     {
@@ -109,6 +111,7 @@ public class TestController : BaseController
         _repositoryts = repositoryts;
         _timeLimitDomainService = timeLimitDomainService;
         _wfModuleDomainService = wfModuleDomainService;
+        _daySettingRepository = daySettingRepository;
         _trClient = trClient;
     }
 
@@ -136,7 +139,10 @@ public class TestController : BaseController
 
         //var rsp = await _daprClient.InvokeMethodAsync<ApiResponse<string>>(HttpMethod.Get, "identity", "api/v1/Test/time", HttpContext.RequestAborted);
         //var rsp1 = await _daprClient.InvokeMethodAsync<int, ApiResponse<string>>(HttpMethod.Post, "identity", "api/v1/Test/time1", 222, HttpContext.RequestAborted);
-        var a = await _trClient.QueryTelsAsync(new Tr.Sdk.Tels.QueryTelRequest() { }, HttpContext.RequestAborted);
+        //var a = await _trClient.QueryTelsAsync(new Tr.Sdk.Tels.QueryTelRequest() { }, HttpContext.RequestAborted);
+
+        await _daySettingRepository.IsWorkDay(DateTime.Now);
+
 
         return OpenResponse.Ok(DateTime.Now.ToString("F"));
     }

+ 25 - 1
src/Hotline.Application/Handlers/FlowEngine/EndWorkflowHandler.cs

@@ -15,6 +15,7 @@ using Hotline.Share.Enums.Order;
 using Hotline.Share.Mq;
 using MapsterMapper;
 using MediatR;
+using Microsoft.AspNetCore.Http;
 using XF.Domain.Exceptions;
 using XF.Domain.Repository;
 
@@ -248,8 +249,31 @@ public class EndWorkflowHandler : INotificationHandler<EndWorkflowNotify>
                         //处理新回访数据
                         //查询原回访数据子表
                         var visitModelNew = _mapper.Map<OrderVisit>(visitModel);
-                        var visitModelDetail = _orderVisitedDetailRepository.Queryable().Where(x => x.VisitId == visitModel.Id);
+                        visitModelNew.InitId();
+                        visitModelNew.CreationTime = DateTime.Now;
+                        visitModelNew.CreatorId = string.Empty;
+                        visitModelNew.CreatorName = string.Empty;
+                        visitModelNew.CreatorOrgId = string.Empty;
+                        visitModelNew.CreatorOrgName = string.Empty;
+                        visitModelNew.CreatorOrgLevel = 0;
+                        visitModelNew.AreaId = string.Empty;
+                        visitModelNew.VisitState = EVisitState.WaitForVisit;
+
+                        var id = await _orderVisitRepository.AddAsync(visitModelNew, cancellationToken);
+                        var visitModelDetail = await _orderVisitedDetailRepository.Queryable().Where(x => x.VisitId == visitModel.Id).ToListAsync(cancellationToken);
+                        var visitDetailListNew = new List<OrderVisitDetail>();
                         //TODO
+                        foreach (var item in visitModelDetail)
+                        {
+                            var visitDetail = new OrderVisitDetail();
+                            visitDetail.VisitId = id;
+                            visitDetail.VisitOrgCode = item.VisitOrgCode;
+                            visitDetail.VisitOrgName = item.VisitOrgName;
+                            visitDetail.VisitTarget = item.VisitTarget;
+                            visitDetailListNew.Add(visitDetail);
+                        }
+                        await _orderVisitedDetailRepository.AddRangeAsync(visitDetailListNew, cancellationToken);
+
                     }
                 }
                 break;

+ 3 - 1
src/XF.Domain.Repository/Entity.cs

@@ -50,6 +50,8 @@ public abstract class Entity : IEntity<string>, IDomainEvents, IDataPermission,
     public void ClearEvents() => _domainEvents.Clear();
 
     public ICollection<IAppNotification> QueryAllEvents() => _domainEvents;
+
+    public void InitId() => Id = SequentialStringGenerator.Create();
 }
 
 /// <summary>
@@ -289,5 +291,5 @@ public abstract class PositionWorkflowEntity : PositionEntity, IWorkflow
         }
     }
 
-    public void InitId() => Id = SequentialStringGenerator.Create();
+    
 }