浏览代码

Merge branch 'master' of http://110.188.24.182:10023/Fengwo/hotline

xf 1 年之前
父节点
当前提交
26c5d29ca6
共有 1 个文件被更改,包括 54 次插入37 次删除
  1. 54 37
      src/Hotline.Application/Handlers/FlowEngine/EndWorkflowHandler.cs

+ 54 - 37
src/Hotline.Application/Handlers/FlowEngine/EndWorkflowHandler.cs

@@ -226,10 +226,18 @@ public class EndWorkflowHandler : INotificationHandler<EndWorkflowNotify>
                 var delay = await _orderDelayRepository.GetAsync(workflow.ExternalId, cancellationToken);
                 if (delay != null)
                 {
-                    delay.DelayState = isReviewPass ? EDelayState.Pass : EDelayState.NoPass;
-                    await _orderDelayRepository.UpdateAsync(delay, cancellationToken);
+                    if (isReviewPass)
+                    {
+                        delay.DelayState = isReviewPass ? EDelayState.Pass : EDelayState.NoPass;
+                        await _orderDelayRepository.UpdateAsync(delay, cancellationToken);
 
-                    //处理工单延期TODO
+                        //处理工单延期TODO
+                    }
+                    else
+                    {
+                        delay.DelayState = EDelayState.NoPass;
+                        await _orderDelayRepository.UpdateAsync(delay, cancellationToken);
+                    }
                 }
                 break;
             case WorkflowModuleConsts.VisitApply:
@@ -237,43 +245,52 @@ public class EndWorkflowHandler : INotificationHandler<EndWorkflowNotify>
                 var visitApply = await _orderVisitApplyRepository.GetAsync(workflow.ExternalId, cancellationToken);
                 if (visitApply!=null)
                 {
-                    //处理申请单
-                    visitApply.VisitApplyState = EVisitApplyState.Pass;
-                    await _orderVisitApplyRepository.UpdateAsync(visitApply, cancellationToken);
-                    //处理原回访数据
-                    var visitModel = await _orderVisitRepository.GetAsync(visitApply.OrderVisitId, cancellationToken);
-                    if (visitModel!=null)
+                    if (isReviewPass)
                     {
-                        visitModel.VisitState = EVisitState.None;
-                        await _orderVisitRepository.UpdateAsync(visitModel, cancellationToken);
-                        //处理新回访数据
-                        //查询原回访数据子表
-                        var visitModelNew = _mapper.Map<OrderVisit>(visitModel);
-                        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)
+                        //处理申请单
+                        visitApply.VisitApplyState = EVisitApplyState.Pass;
+                        await _orderVisitApplyRepository.UpdateAsync(visitApply, cancellationToken);
+                        //处理原回访数据
+                        var visitModel = await _orderVisitRepository.GetAsync(visitApply.OrderVisitId, cancellationToken);
+                        if (visitModel != null)
                         {
-                            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);
+                            visitModel.VisitState = EVisitState.None;
+                            await _orderVisitRepository.UpdateAsync(visitModel, cancellationToken);
+                            //处理新回访数据
+                            //查询原回访数据子表
+                            var visitModelNew = _mapper.Map<OrderVisit>(visitModel);
+                            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);
 
+                        }
+                    }
+                    else 
+                    {
+                        //处理申请单
+                        visitApply.VisitApplyState = EVisitApplyState.NoPass;
+                        await _orderVisitApplyRepository.UpdateAsync(visitApply, cancellationToken);
                     }
                 }
                 break;