瀏覽代碼

Merge branch 'master' of http://git.12345lm.cn/Fengwo/hotline

Dun.Jason 1 年之前
父節點
當前提交
c9fc99827f

+ 5 - 1
src/Hotline.Api/Controllers/Bi/BiOrderController.cs

@@ -1345,7 +1345,11 @@ namespace Hotline.Api.Controllers.Bi
 
                     QtAllCount = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "40", 1, 0)),
                     QtAllTimes = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "40" && it.FileDurationWorkday != null, it.FileDurationWorkday, 0)),
-                    QtAcceptanceTypeCode = "40"
+                    QtAcceptanceTypeCode = "40",
+
+                    YjAllCount = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "1", 1, 0)),
+                    YjAllTimes = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptTypeCode == "1" && it.FileDurationWorkday != null, it.FileDurationWorkday, 0)),
+                    YjAcceptanceTypeCode = "1"
                 })
               .ToListAsync();
 

+ 8 - 1
src/Hotline.Api/Controllers/EnforcementOrderController.cs

@@ -201,6 +201,13 @@ namespace Hotline.Api.Controllers
                     order.EventTypeOneLevelId = null;
                     order.EventTypeId = null;
                 }
+                if (!order.IsTheClueTrue.HasValue || order.IsTheClueTrue.Value == false)
+                {
+                    order.EventTypeName = null;
+                    order.EventTypeSpliceName = null;
+                    order.EventTypeOneLevelId = null;
+                    order.EventTypeId = null;
+                }
                 await _enforcementOrdersRepository.UpdateAsync(order, HttpContext.RequestAborted);
             }
         }
@@ -268,7 +275,7 @@ namespace Hotline.Api.Controllers
                 PassTheBuckOrder = data.Sum(x => x.PassTheBuckOrder),
             };
 
-            return new { List = items,  OrderCount = orderCount };
+            return new { List = items, OrderCount = orderCount };
         }
 
         /// <summary>

+ 10 - 4
src/Hotline.Application/Handlers/FlowEngine/WorkflowEndHandler.cs

@@ -19,6 +19,7 @@ using Hotline.Share.Enums.Quality;
 using MapsterMapper;
 using MediatR;
 using Microsoft.Extensions.Logging;
+using XF.Domain.Authentications;
 using XF.Domain.Repository;
 
 namespace Hotline.Application.Handlers.FlowEngine;
@@ -49,7 +50,8 @@ public class WorkflowEndHandler : INotificationHandler<EndWorkflowNotify>
     private readonly IKnowledgeWorkFlowRepository _knowledgeWorkFlowRepository;
     private readonly IRepository<TrCallRecord> _trCallRecordRepository;
     private readonly IQualityApplication _qualityApplication;
-    private readonly IEnforcementApplication _enforcementApplication;
+    private readonly IEnforcementApplication _enforcementApplication; 
+    private readonly ISessionContext _sessionContext;
 
     public WorkflowEndHandler(
         IKnowledgeDomainService knowledgeDomainService,
@@ -76,7 +78,8 @@ public class WorkflowEndHandler : INotificationHandler<EndWorkflowNotify>
         ILogger<WorkflowEndHandler> logger,
         IRepository<TrCallRecord> trCallRecordRepository,
          IQualityApplication qualityApplication,
-        IEnforcementApplication enforcementApplication)
+        IEnforcementApplication enforcementApplication,
+        ISessionContext sessionContext)
     {
         _knowledgeDomainService = knowledgeDomainService;
         _orderDomainService = orderDomainService;
@@ -102,6 +105,7 @@ public class WorkflowEndHandler : INotificationHandler<EndWorkflowNotify>
         _trCallRecordRepository = trCallRecordRepository;
         _qualityApplication = qualityApplication;
         _enforcementApplication = enforcementApplication;
+        _sessionContext = sessionContext;
     }
 
     /// <summary>Handles a notification</summary>
@@ -170,6 +174,8 @@ public class WorkflowEndHandler : INotificationHandler<EndWorkflowNotify>
 
                 //司法行政监督管理-工单处理
                 await _enforcementApplication.AddEnforcementOrderAsync(order, cancellationToken);
+                //推诿工单
+                await _enforcementApplication.AddPassTheBuckOrderAsync(order, _sessionContext.RequiredOrgId, _sessionContext.OrgName, cancellationToken);
                 break;
             case WorkflowModuleConsts.OrderScreen:
                 var screen = await _orderScreenRepository.GetAsync(workflow.ExternalId, cancellationToken);
@@ -190,7 +196,7 @@ public class WorkflowEndHandler : INotificationHandler<EndWorkflowNotify>
                             visitDetail.OrgHandledAttitude = screenSatisfy;
                             await _orderVisitedDetailRepository.UpdateAsync(visitDetail, cancellationToken);
                             // 修改主表当前评价结果
-                            await _orderVisitRepository.Updateable().SetColumns(v=> new OrderVisit() { NowEvaluate = screenSatisfy }).Where(v=>v.Id == visitDetail.VisitId).ExecuteCommandAsync(cancellationToken);
+                            await _orderVisitRepository.Updateable().SetColumns(v => new OrderVisit() { NowEvaluate = screenSatisfy }).Where(v => v.Id == visitDetail.VisitId).ExecuteCommandAsync(cancellationToken);
                             //获取回访信息
                             var visit = await _orderVisitRepository.Queryable().Includes(x => x.Order)
                                 .Includes(x => x.OrderVisitDetails)
@@ -208,7 +214,7 @@ public class WorkflowEndHandler : INotificationHandler<EndWorkflowNotify>
                                           VisitType = visit.VisitType,
                                           VisitName = visit.CreatorName,
                                           VisitTime = visit.VisitTime,
-                                          VisitRemark = string.IsNullOrEmpty(visitDe.VisitContent)? screenSatisfy.Value: visitDe.VisitContent,
+                                          VisitRemark = string.IsNullOrEmpty(visitDe.VisitContent) ? screenSatisfy.Value : visitDe.VisitContent,
                                           AreaCode = visit.Order.AreaCode!,
                                           SubjectResultSatifyCode = visitDe.OrgProcessingResults?.Key,
                                           FirstSatisfactionCode = visit.Order.FirstVisitResultCode!,

+ 3 - 16
src/Hotline.Application/JudicialManagement/EnforcementApplication.cs

@@ -1,8 +1,6 @@
-using Hotline.Application.Handlers.FlowEngine;
-using Hotline.Caching.Interfaces;
+using Hotline.Caching.Interfaces;
 using Hotline.JudicialManagement;
 using Hotline.Settings;
-using Microsoft.Extensions.Logging;
 using SqlSugar;
 using XF.Domain.Constants;
 using XF.Domain.Dependency;
@@ -17,7 +15,6 @@ namespace Hotline.Application.JudicialManagement
         private readonly IRepository<EnforcementHotspot> _enforcementHotspotRepository;
         private readonly ISystemDicDataCacheManager _sysDicDataCacheManager;
         private readonly ISystemSettingCacheManager _systemSettingCacheManager;
-        private readonly ILogger<EnforcementApplication> _logger;
 
 
         /// <summary>
@@ -32,15 +29,13 @@ namespace Hotline.Application.JudicialManagement
            IRepository<EnforcementOrders> enforcementOrdersRepository,
           IRepository<EnforcementHotspot> enforcementHotspotRepository,
         ISystemDicDataCacheManager sysDicDataCacheManager,
-       ISystemSettingCacheManager systemSettingCacheManager,
-      ILogger<EnforcementApplication> logger)
+       ISystemSettingCacheManager systemSettingCacheManager)
         {
             _enforcementOrderHanderRepository = enforcementOrderHanderRepository;
             _enforcementOrdersRepository = enforcementOrdersRepository;
             _enforcementHotspotRepository = enforcementHotspotRepository;
             _sysDicDataCacheManager = sysDicDataCacheManager;
             _systemSettingCacheManager = systemSettingCacheManager;
-            _logger= logger;
         }
 
         /// <summary>
@@ -52,7 +47,7 @@ namespace Hotline.Application.JudicialManagement
         public async Task AddEnforcementOrderAsync(Hotline.Orders.Order order, CancellationToken cancellationToken)
         {
             //排除咨询件
-            if (order.AcceptTypeCode == "30")
+            if (order.AcceptTypeCode == "10")
                 return;
 
             //如果没开启则不处理
@@ -110,7 +105,6 @@ namespace Hotline.Application.JudicialManagement
         /// <returns></returns>
         public async Task AddPassTheBuckOrderAsync(Hotline.Orders.Order order, string orgCode, string orgName, CancellationToken cancellationToken)
         {
-            _logger.LogInformation("进入");
             //排除咨询件
             if (order.AcceptTypeCode == "10")
                 return;
@@ -126,17 +120,14 @@ namespace Hotline.Application.JudicialManagement
             if (enforcementPassTheBuckNum != null)
                 CountNum = int.Parse(enforcementPassTheBuckNum);
 
-            _logger.LogInformation("进入"+ CountNum);
             //如果是特定部门办理写入数据
             var JudicialManagementOrg = _sysDicDataCacheManager.GetSysDicDataCache(SysDicTypeConsts.JudicialManagementOrg).Where(p => p.DicDataValue == orgCode);
             if (JudicialManagementOrg != null && JudicialManagementOrg.Any())
             {
-                _logger.LogInformation("部门进入" );
                 //第一次办理,直接写入数据
                 var enforcementOrder = await _enforcementOrderHanderRepository.GetAsync(p => p.OrderId == order.Id && p.ActualHandleOrgCode == orgCode, cancellationToken);
                 if (enforcementOrder == null)
                 {
-                    _logger.LogInformation("部门没数据进入");
                     enforcementOrder = new EnforcementOrderHander()
                     {
                         OrderId = order.Id,
@@ -148,7 +139,6 @@ namespace Hotline.Application.JudicialManagement
                 }
                 else
                 {
-                    _logger.LogInformation("部门有数据进入");
                     //多次办理,修改数据
                     enforcementOrder.ActualHandleOrgName = orgName;
                     enforcementOrder.ActualHandleOrgCode = orgCode;
@@ -159,12 +149,10 @@ namespace Hotline.Application.JudicialManagement
                 //达到工单推诿计算次数
                 if (enforcementOrder.HandleNum >= CountNum)
                 {
-                    _logger.LogInformation("达到次数");
                     //查找工单数据
                     var orderData = await _enforcementOrdersRepository.GetAsync(p => p.Id == order.Id, cancellationToken);
                     if (orderData == null)
                     {
-                        _logger.LogInformation("达到次数新增工单");
                         //没有工单数据,直接写入
                         EnforcementOrders enforcementOrders = new EnforcementOrders()
                         {
@@ -178,7 +166,6 @@ namespace Hotline.Application.JudicialManagement
                     }
                     else
                     {
-                        _logger.LogInformation("达到次数修改");
                         //有工单数据修改为推诿
                         if (orderData.IsPassTheBuckOrder != true)
                         {

+ 8 - 0
src/Hotline.Share/Dtos/Order/DepartmentAcceptanceTypeStatisticsDto.cs

@@ -78,6 +78,14 @@
         public double? QtAverageTime => GetCalculateAverage(QtAllCount, QtAllTimes);
         public string? QtAcceptanceTypeCode { get; set; }
 
+        /// <summary>
+        /// 意见
+        /// </summary>
+        public int YjAllCount { get; set; }
+        public double? YjAllTimes { get; set; }
+        public double? YjAverageTime => GetCalculateAverage(YjAllCount, YjAllTimes);
+        public string? YjAcceptanceTypeCode { get; set; }
+
         /// <summary>
         /// 计算平均
         /// </summary>