فهرست منبع

新增处理司法工单历史数据接口

tangjiang 9 ماه پیش
والد
کامیت
4f95ae0a41
1فایلهای تغییر یافته به همراه89 افزوده شده و 6 حذف شده
  1. 89 6
      src/Hotline.Api/Controllers/TestController.cs

+ 89 - 6
src/Hotline.Api/Controllers/TestController.cs

@@ -19,6 +19,7 @@ using Hotline.FlowEngine.WorkflowModules;
 using Hotline.FlowEngine.Workflows;
 using Hotline.Identity.Roles;
 using Hotline.Import;
+using Hotline.JudicialManagement;
 using Hotline.Orders;
 using Hotline.Push.Notifies;
 using Hotline.Realtimes;
@@ -36,6 +37,7 @@ using Hotline.Share.Dtos.Realtime;
 using Hotline.Share.Dtos.SendSms;
 using Hotline.Share.Dtos.TrCallCenter;
 using Hotline.Share.Enums.FlowEngine;
+using Hotline.Share.Enums.JudicialManagement;
 using Hotline.Share.Enums.Order;
 using Hotline.Share.Enums.Push;
 using Hotline.Share.Enums.Quality;
@@ -120,6 +122,9 @@ public class TestController : BaseController
     private readonly IMapper _mapper;
     private readonly IOptionsSnapshot<SendSmsConfiguration> _sendSmsConfiguration;
     private readonly IOrderReportApplication _orderReportApplication;
+    private readonly IRepository<EnforcementOrders> _enforcementOrdersRepository;
+    private readonly IRepository<JudicialManagementOrders> _judicialManagementOrdersRepository;
+    private readonly IRepository<EnforcementOrdersHandler> _enforcementOrdersHandlerRepository;
 
     //private readonly ITypedCache<List<User>> _cache;
     //private readonly ICacheManager<User> _cache;
@@ -165,7 +170,10 @@ public class TestController : BaseController
 
 
    IOptionsSnapshot<SendSmsConfiguration> sendSmsConfiguration,
-   IOrderReportApplication orderReportApplication
+   IOrderReportApplication orderReportApplication,
+IRepository<EnforcementOrders> enforcementOrdersRepository,
+IRepository<JudicialManagementOrders> judicialManagementOrdersRepository,
+IRepository<EnforcementOrdersHandler> enforcementOrdersHandlerRepository
         )
     {
         _logger = logger;
@@ -204,16 +212,91 @@ public class TestController : BaseController
         _mapper = mapper;
         _sendSmsConfiguration = sendSmsConfiguration;
         _orderReportApplication = orderReportApplication;
+        _enforcementOrdersRepository = enforcementOrdersRepository;
+        _judicialManagementOrdersRepository = judicialManagementOrdersRepository;
+        _enforcementOrdersHandlerRepository = enforcementOrdersHandlerRepository;
     }
-    [HttpGet("test222")]
-    public async Task test222([FromQuery] DepartmentalProcessingStatisticsRequest dto)
+    /// <summary>
+    /// 处理司法工单数据
+    /// </summary>
+    /// <param name="StartTime"></param>
+    /// <param name="EndTime"></param>
+    /// <returns></returns>
+    [HttpGet("addjudicial_management_orders")]
+    [AllowAnonymous]
+    public async Task AddJudicialManagementOrders(DateTime StartTime, DateTime? EndTime)
     {
-      await   _orderReportApplication.DepartmentalProcessingStatisticsNew(dto);
+
+        var list = await _enforcementOrdersRepository.Queryable()
+                 .Includes(x => x.Order)
+                 .Where(x => x.CreationTime >= StartTime && x.CreationTime <= EndTime && x.Order.AcceptTypeCode == "35")
+                 .ToListAsync();
+        foreach (var item in list)
+        {
+            var order = item.Order;
+            if (order != null)
+            {
+                var orderData = await _judicialManagementOrdersRepository.GetAsync(p => p.Id == order.Id, HttpContext.RequestAborted);
+                if (orderData == null)
+                {
+                    orderData = new JudicialManagementOrders();
+                    //处理工单
+                    _mapper.Map(order, orderData);
+                    orderData.Id = order.Id;
+                    orderData.IsEnforcementOrder = order.IsEnforcementOrder.HasValue ? order.IsEnforcementOrder.Value : false;
+                    orderData.IsTheClueTrue = item.IsTheClueTrue;
+                    orderData.IsPassTheBuckOrder = item.IsPassTheBuckOrder;
+                    orderData.OrderSoure = EOrderSoure.Hotline;
+                    if (item.EventTypeId == "04" || item.EventTypeId == "05" || item.EventTypeId == "06" || item.EventTypeId == "07" || item.EventTypeId == "08" ||
+                        item.EventTypeId == "0401" || item.EventTypeId == "0501" || item.EventTypeId == "0601" || item.EventTypeId == "0701" || item.EventTypeId == "0801")
+                    {
+                        orderData.EventTypeId = "0901";
+                        orderData.EventTypeName = "其他情形";
+                        orderData.EventTypeSpliceName = "其他类-其他情形";
+                        orderData.EventTypeOneLevelId = "09";
+                    }
+                    else
+                    {
+                        orderData.EventTypeId = item.EventTypeId;
+                        orderData.EventTypeName = item.EventTypeName;
+                        orderData.EventTypeSpliceName = item.EventTypeSpliceName;
+                        orderData.EventTypeOneLevelId = item.EventTypeOneLevelId;
+                    }
+
+                    List<Kv> kvs = new List<Kv>
+                    {
+                        new Kv { Key = order.OrgLevelOneName, Value = order.OrgLevelOneCode }
+                    };
+                    orderData.EnforcementOrdersHandler = kvs;
+
+
+                    await _judicialManagementOrdersRepository.AddAsync(orderData, HttpContext.RequestAborted);
+
+                    //处理部门
+                    EnforcementOrdersHandler enforcementOrdersHandler = new EnforcementOrdersHandler()
+                    {
+                        OrderId = order.Id,
+                        OrderNo = order.No,
+                        OrderSoure = EOrderSoure.Hotline,
+                        OrgCode = order.OrgLevelOneCode,
+                        OrgName = order.OrgLevelOneName
+                    };
+                    await _enforcementOrdersHandlerRepository.AddAsync(enforcementOrdersHandler, HttpContext.RequestAborted);
+                }
+            }
+        }
+
     }
 
-    [HttpGet("testo111")]
+    /// <summary>
+    /// 计算工单的办理时长
+    /// </summary>
+    /// <param name="StartTime"></param>
+    /// <param name="EndTime"></param>
+    /// <returns></returns>
+    [HttpGet("update_order_handle_time")]
     [AllowAnonymous]
-    public async Task Test111(DateTime StartTime, DateTime? EndTime)
+    public async Task UpdateOrderHandleTime(DateTime StartTime, DateTime? EndTime)
     {
 
         var list = await _orderRepository.Queryable()