From e45eab5980c08520aee01a72224ccdfd12600543 Mon Sep 17 00:00:00 2001
From: lixiaojun <1287241240@qq.com>
Date: 星期三, 15 五月 2024 15:09:07 +0800
Subject: [PATCH] 优化部分接口

---
 IStation.Entry.SZJT/Properties/PublishProfiles/FolderProfile.pubxml.user                                      |    3 
 IStation.Server.SZJT/00-core/JobHelper.cs                                                                     |    2 
 IStation.Service.SZJT/IStation.Service.SZJT.csproj                                                            |   11 +-
 IStation.Application.SZJT/99-logic/10-mobile/06-run-analy/RunAnaly_MobileController.cs                        |    2 
 IStation.Application.SZJT/IStation.Application.SZJT.csproj                                                    |   14 +-
 IStation.Application.SZJT/99-logic/03-station-panel/dto/StationPanelMonitorKpiLastStatusDto.cs                |    2 
 IStation.Application.SZJT/99-logic/11-big-screen/BigScreen_LogicController.cs                                 |  109 +++++++++++++--------
 IStation.Application.SZJT/99-logic/04-station-list/dto/StationListMonitorKpiLastStatusDto.cs                  |    2 
 IStation.Application.SZJT/99-logic/10-mobile/08-station-statistics/dto/StationStatisticsDayParasMobileDto.cs  |    6 
 IStation.Server.SZJT/00-core/ConfigHelper.cs                                                                  |    0 
 IStation.WebApi.SZJT/Filters/AuthorizationFilter.cs                                                           |    2 
 IStation.Entry.SZJT/IStation.Entry.SZJT.csproj                                                                |   23 ++--
 IStation.Application.SZJT/99-logic/10-mobile/08-station-statistics/dto/StationStatisticsDayRecordMobileDto.cs |    4 
 IStation.Application.SZJT/99-logic/10-mobile/01-station-list/StationList_MobileController.cs                  |    0 
 IStation.WebApi.SZJT/Filters/ActionFilter.cs                                                                  |    2 
 IStation.Server.SZJT/00-core/IJobHelper.cs                                                                    |    0 
 IStation.Application.SZJT/99-logic/05-station-map/dto/StationMapMonitorKpiLastStatusDto.cs                    |    2 
 /dev/null                                                                                                     |   37 -------
 IStation.Server.SZJT/IStation.Server.SZJT.csproj                                                              |    2 
 IStation.WebApi.SZJT/Handlers/JwtHandler.cs                                                                   |   17 +++
 IStation.WebApi.SZJT/Result/XnRestfulResultProvider.cs                                                        |   12 ++
 IStation.Application.SZJT/99-logic/06-run-analy/RunAnaly_LogicController.cs                                   |    2 
 IStation.Application.SZJT/99-logic/10-mobile/05-map/dto/1-station/StationMapMonitorKpiLastStatusMobileDto.cs  |    2 
 IStation.WebApi.SZJT/Filters/ResultFilter.cs                                                                  |    2 
 IStation.Entry.SZJT/appsettings.json                                                                          |   27 +++--
 25 files changed, 155 insertions(+), 130 deletions(-)

diff --git a/IStation.Application.SZJT/99-logic/03-station-panel/dto/StationPanelMonitorKpiLastStatusDto.cs b/IStation.Application.SZJT/99-logic/03-station-panel/dto/StationPanelMonitorKpiLastStatusDto.cs
index c3f5586..f1f544d 100644
--- a/IStation.Application.SZJT/99-logic/03-station-panel/dto/StationPanelMonitorKpiLastStatusDto.cs
+++ b/IStation.Application.SZJT/99-logic/03-station-panel/dto/StationPanelMonitorKpiLastStatusDto.cs
@@ -13,7 +13,7 @@
             this.EquipmentID = equipment.ID;
             this.Name = equipment.Name;
             this.DataTime = record?.DataTime;
-            this.RunStatus = record == null ? Yw.Run.RunStatus.Stop : record.RSa;
+            this.RunStatus = record == null ? Yw.Run.RunStatus.Shut : record.RSa;
         }
 
         /// <summary>
diff --git a/IStation.Application.SZJT/99-logic/04-station-list/dto/StationListMonitorKpiLastStatusDto.cs b/IStation.Application.SZJT/99-logic/04-station-list/dto/StationListMonitorKpiLastStatusDto.cs
index dc2d44a..269e2f5 100644
--- a/IStation.Application.SZJT/99-logic/04-station-list/dto/StationListMonitorKpiLastStatusDto.cs
+++ b/IStation.Application.SZJT/99-logic/04-station-list/dto/StationListMonitorKpiLastStatusDto.cs
@@ -13,7 +13,7 @@
             this.EquipmentID = equipment.ID;
             this.Name = equipment.Name;
             this.DataTime = record?.DataTime;
-            this.RunStatus = record == null ? Yw.Run.RunStatus.Stop : record.RSa;
+            this.RunStatus = record == null ? Yw.Run.RunStatus.Shut : record.RSa;
         }
 
         /// <summary>
diff --git a/IStation.Application.SZJT/99-logic/05-station-map/dto/StationMapMonitorKpiLastStatusDto.cs b/IStation.Application.SZJT/99-logic/05-station-map/dto/StationMapMonitorKpiLastStatusDto.cs
index 45ea7a3..e877ea5 100644
--- a/IStation.Application.SZJT/99-logic/05-station-map/dto/StationMapMonitorKpiLastStatusDto.cs
+++ b/IStation.Application.SZJT/99-logic/05-station-map/dto/StationMapMonitorKpiLastStatusDto.cs
@@ -13,7 +13,7 @@
             this.EquipmentID = equipment.ID;
             this.Name = equipment.Name;
             this.DataTime = record?.DataTime;
-            this.RunStatus = record == null ? Yw.Run.RunStatus.Stop : record.RSa;
+            this.RunStatus = record == null ? Yw.Run.RunStatus.Shut : record.RSa;
         }
 
         /// <summary>
diff --git a/IStation.Application.SZJT/99-logic/06-run-analy/RunAnaly_LogicController.cs b/IStation.Application.SZJT/99-logic/06-run-analy/RunAnaly_LogicController.cs
index 7463fa2..6375035 100644
--- a/IStation.Application.SZJT/99-logic/06-run-analy/RunAnaly_LogicController.cs
+++ b/IStation.Application.SZJT/99-logic/06-run-analy/RunAnaly_LogicController.cs
@@ -52,7 +52,7 @@
                 if (record_list == null || record_list.Count < 1)
                 {
                     var vm_span_chunk = new RunAnalySpanChunkDto();
-                    vm_span_chunk.RunStatus = Yw.Run.RunStatus.Stop;
+                    vm_span_chunk.RunStatus = Yw.Run.RunStatus.Shut;
                     vm_span_chunk.StartTime = input.Day.Date;
                     vm_span_chunk.EndTime = input.Day.Date.AddDays(1);
                     if (vm_span_chunk.EndTime > DateTime.Now)
diff --git a/IStation.Application.SZJT/99-logic/10-mobile/01-station-list/StationList_LogicController.cs b/IStation.Application.SZJT/99-logic/10-mobile/01-station-list/StationList_MobileController.cs
similarity index 100%
rename from IStation.Application.SZJT/99-logic/10-mobile/01-station-list/StationList_LogicController.cs
rename to IStation.Application.SZJT/99-logic/10-mobile/01-station-list/StationList_MobileController.cs
diff --git a/IStation.Application.SZJT/99-logic/10-mobile/05-map/dto/1-station/StationMapMonitorKpiLastStatusMobileDto.cs b/IStation.Application.SZJT/99-logic/10-mobile/05-map/dto/1-station/StationMapMonitorKpiLastStatusMobileDto.cs
index e9e6f47..ba735f8 100644
--- a/IStation.Application.SZJT/99-logic/10-mobile/05-map/dto/1-station/StationMapMonitorKpiLastStatusMobileDto.cs
+++ b/IStation.Application.SZJT/99-logic/10-mobile/05-map/dto/1-station/StationMapMonitorKpiLastStatusMobileDto.cs
@@ -13,7 +13,7 @@
             this.EquipmentID = equipment.ID;
             this.Name = equipment.Name;
             this.DataTime = record?.DataTime;
-            this.RunStatus = record == null ? Yw.Run.RunStatus.Stop : record.RSa;
+            this.RunStatus = record == null ? Yw.Run.RunStatus.Shut : record.RSa;
         }
 
         /// <summary>
diff --git a/IStation.Application.SZJT/99-logic/10-mobile/06-run-analy/RunAnaly_MobileController.cs b/IStation.Application.SZJT/99-logic/10-mobile/06-run-analy/RunAnaly_MobileController.cs
index 66b8dcd..c6d4c55 100644
--- a/IStation.Application.SZJT/99-logic/10-mobile/06-run-analy/RunAnaly_MobileController.cs
+++ b/IStation.Application.SZJT/99-logic/10-mobile/06-run-analy/RunAnaly_MobileController.cs
@@ -31,7 +31,7 @@
                 if (record_list == null || record_list.Count < 1)
                 {
                     var vm_span_chunk = new RunAnalySpanChunkDto();
-                    vm_span_chunk.RunStatus = Yw.Run.RunStatus.Stop;
+                    vm_span_chunk.RunStatus = Yw.Run.RunStatus.Shut;
                     vm_span_chunk.StartTime = input.Day.Date;
                     vm_span_chunk.EndTime = input.Day.Date.AddDays(1);
                     if (vm_span_chunk.EndTime > DateTime.Now)
diff --git a/IStation.Application.SZJT/99-logic/10-mobile/08-station-statistics/dto/StationStatisticsDayParasMobileDto.cs b/IStation.Application.SZJT/99-logic/10-mobile/08-station-statistics/dto/StationStatisticsDayParasMobileDto.cs
index 824f131..25c1aaa 100644
--- a/IStation.Application.SZJT/99-logic/10-mobile/08-station-statistics/dto/StationStatisticsDayParasMobileDto.cs
+++ b/IStation.Application.SZJT/99-logic/10-mobile/08-station-statistics/dto/StationStatisticsDayParasMobileDto.cs
@@ -6,17 +6,17 @@
     public class StationStatisticsDayParasMobileDto
     {
         /// <summary>
-        /// 
+        /// 鏄惁鍓嶄竴澶�
         /// </summary>
         public bool Pre { get; set; } = false;
 
         /// <summary>
-        /// 
+        /// 寮�濮嬫椂
         /// </summary>
         public int Start { get; set; } = 0;
 
         /// <summary>
-        /// 
+        /// 缁撴潫鏃�
         /// </summary>
         public int End { get; set; } = 24;
     }
diff --git a/IStation.Application.SZJT/99-logic/10-mobile/08-station-statistics/dto/StationStatisticsDayRecordMobileDto.cs b/IStation.Application.SZJT/99-logic/10-mobile/08-station-statistics/dto/StationStatisticsDayRecordMobileDto.cs
index 12f129f..6b62bfa 100644
--- a/IStation.Application.SZJT/99-logic/10-mobile/08-station-statistics/dto/StationStatisticsDayRecordMobileDto.cs
+++ b/IStation.Application.SZJT/99-logic/10-mobile/08-station-statistics/dto/StationStatisticsDayRecordMobileDto.cs
@@ -11,12 +11,12 @@
         public DateTime Day { get; set; }
 
         /// <summary>
-        /// 
+        /// 渚涙按閲�
         /// </summary>
         public double? Ws { get; set; }
 
         /// <summary>
-        /// 
+        /// 鐢ㄧ數閲�
         /// </summary>
         public double? Ed { get; set; }
     }
diff --git a/IStation.Application.SZJT/99-logic/11-big-screen/BigScreen_LogicController.cs b/IStation.Application.SZJT/99-logic/11-big-screen/BigScreen_LogicController.cs
index 54a6b81..4e35e5d 100644
--- a/IStation.Application.SZJT/99-logic/11-big-screen/BigScreen_LogicController.cs
+++ b/IStation.Application.SZJT/99-logic/11-big-screen/BigScreen_LogicController.cs
@@ -1,4 +1,6 @@
-锘縩amespace IStation.Application
+锘縰sing Microsoft.VisualBasic;
+
+namespace IStation.Application
 {
     /// <summary>
     /// BigScreen
@@ -11,7 +13,7 @@
         #region 鎵�鏈�
 
         /// <summary>
-        /// 鑾峰彇鎵�鏈夋车绔檏pi淇℃伅
+        /// 鑾峰彇鎵�鏈夋车绔檏pi淇℃伅(寰呭畬鍠�)
         /// </summary>
         [Route("GetAllStationKpiInfo@V1.0")]
         [HttpGet]
@@ -370,19 +372,43 @@
 
             var dtEnd = DateTime.Now.Date;
             var dtStart = dtEnd.AddMonths(-1);
+            List<Yw.Model.MonitorDayRecord> allWsRecordList = null;//鎵�鏈変緵姘撮噺
+            List<Yw.Model.MonitorDayRecord> allPsRecordList = null;//鎵�鏈夌敤鐢甸噺
+            Yw.Model.Signal_SignalType signalWs = null;//鐢ㄦ按閲忎俊鍙�
+            Yw.Model.Signal_SignalType signalPs = null;//鐢ㄧ數閲忎俊鍙�
+            var service_day_record = new Lazy<Yw.Service.MonitorDayRecord>(() => new Yw.Service.MonitorDayRecord());
+            var allMonitorList = new Yw.Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID(IStation.DataType.LogicSite, input.StationID, Yw.Monitor.eCronType.EachDay);
+            if (allMonitorList != null && allMonitorList.Count > 0)
+            {
+                var monitorWs = allMonitorList.Find(x => x.SignalList.Exists(t => t.SignalType.Code == Yw.Monitor.SignalType.绱Н娴侀噺));
+                if (monitorWs != null)
+                {
+                    signalWs = monitorWs.SignalList.Find(x => x.SignalType.Code == Yw.Monitor.SignalType.绱Н娴侀噺);
+                    allWsRecordList = service_day_record.Value.GetBySignalIDOfDayRange(signalWs.ID, dtStart, dtEnd);
+                }
+                var monitorPs = allMonitorList.Find(x => x.SignalList.Exists(t => t.SignalType.Code == Yw.Monitor.SignalType.鏈夊姛鐢靛害));
+                if (monitorPs != null)
+                {
+                    signalPs = monitorPs.SignalList.Find(x => x.SignalType.Code == Yw.Monitor.SignalType.鏈夊姛鐢靛害);
+                    allPsRecordList = service_day_record.Value.GetBySignalIDOfDayRange(signalPs.ID, dtStart, dtEnd);
+                }
+            }
+
             for (DateTime dt = dtStart; dt <= dtEnd; dt = dt.AddDays(1))
             {
+                var ws = allWsRecordList?.Find(x => x.DataDay.Date == dt.Date);
                 vm.Ws.Add(new BigScreenSingleStationQuotaItemDto()
                 {
                     Day = dt,
-                    Value = RandomHelper.Random(1000, 10000).ToString(),
-                    UnitName = "m鲁"
+                    Value = ws == null ? "0" : signalWs.GetDisplayValue(ws.DataValue),
+                    UnitName = signalWs?.GetDisplayUnitNames()
                 });
+                var ps = allPsRecordList.Find(x => x.DataDay.Date == dt.Date);
                 vm.Ps.Add(new BigScreenSingleStationQuotaItemDto()
                 {
                     Day = dt,
-                    Value = RandomHelper.Random(2000, 3000).ToString(),
-                    UnitName = "kW鈥"
+                    Value = ps == null ? "0" : signalPs.GetDisplayValue(ps.DataValue),
+                    UnitName = signalPs?.GetDisplayUnitNames()
                 });
             }
             return vm;
@@ -486,7 +512,7 @@
         }
 
         /// <summary>
-        /// 鑾峰彇鍗曟车绔欏伐鍗昁pi淇℃伅
+        /// 鑾峰彇鍗曟车绔欏伐鍗昁pi淇℃伅(寰呭畬鍠�)
         /// </summary>
         [Route("GetSingleStationRepairKpiInfo@V1.0")]
         [HttpGet]
@@ -578,42 +604,45 @@
         public List<BigScreenSingleStationAlarmItemDto> GetSingleStationAlarmInfo([FromQuery][Required] StationIDInput input)
         {
             var vmList = new List<BigScreenSingleStationAlarmItemDto>();
-            vmList.Add(new BigScreenSingleStationAlarmItemDto()
+            var allEquipmentList = new Yw.Service.Equipment().GetByBelongTypeAndBelongID(IStation.DataType.LogicSite, input.StationID);
+            if (allEquipmentList == null || allEquipmentList.Count < 1)
             {
-                ID = 1,
-                Name = "1#鏈虹粍",
-                Content = "鍑哄彛鍘嬪姏杩囦綆锛岃鍏虫敞鐘舵�佸彉鍖�"
-            });
-            vmList.Add(new BigScreenSingleStationAlarmItemDto()
+                return vmList;
+            }
+            var allEnginePumpList = allEquipmentList.Where(x => x.Flags.Contains(IStation.Flags.鏈虹粍)).ToList();
+            if (allEnginePumpList.Count < 1)
             {
-                ID = 2,
-                Name = "2#鏈虹粍",
-                Content = "鐬椂娴侀噺鏁版嵁寮傚父锛岃妫�淇�"
-            });
-            vmList.Add(new BigScreenSingleStationAlarmItemDto()
+                return vmList;
+            }
+            var service_monitor_maping = new Yw.Service.EquipmentMonitorMapping();
+            var service_monitor = new Lazy<Yw.Service.MonitorPoint>(() => new Yw.Service.MonitorPoint());
+            var servie_alarm_record = new Lazy<Yw.Service.MonitorValueAlarmRecord>(() => new Yw.Service.MonitorValueAlarmRecord());
+            foreach (var enginePump in allEnginePumpList)
             {
-                ID = 3,
-                Name = "2#鏈虹粍",
-                Content = "鐬椂娴侀噺鏁版嵁寮傚父锛岃妫�淇�"
-            });
-            vmList.Add(new BigScreenSingleStationAlarmItemDto()
-            {
-                ID = 4,
-                Name = "2#鏈虹粍",
-                Content = "鐬椂娴侀噺鏁版嵁寮傚父锛岃妫�淇�"
-            });
-            vmList.Add(new BigScreenSingleStationAlarmItemDto()
-            {
-                ID = 5,
-                Name = "2#鏈虹粍",
-                Content = "鐬椂娴侀噺鏁版嵁寮傚父锛岃妫�淇�"
-            });
-            vmList.Add(new BigScreenSingleStationAlarmItemDto()
-            {
-                ID = 6,
-                Name = "2#鏈虹粍",
-                Content = "鐬椂娴侀噺鏁版嵁寮傚父锛岃妫�淇�"
-            });
+                var allMonitorMappingList = service_monitor_maping.GetByEquipmentIDContainsChildren(enginePump.ID);
+                if (allMonitorMappingList != null && allMonitorMappingList.Count > 0)
+                {
+                    var allMonitorIds = allMonitorMappingList.Select(x => x.MonitorPointID).Distinct().ToList();
+                    var allMonitorList = service_monitor.Value.GetExSignalWithSignalTypeByIds(allMonitorIds);
+                    var allSignalList = allMonitorList.SelectMany(x => x.SignalList).ToList();
+                    var allSignalIds = allSignalList.Select(x => x.ID).Distinct().ToList();
+                    var allAlarmList = servie_alarm_record.Value.GetLastListBySignalIds(allSignalIds, 3);
+                    if (allAlarmList != null && allAlarmList.Count > 0)
+                    {
+                        foreach (var alarm in allAlarmList)
+                        {
+                            var vm = new BigScreenSingleStationAlarmItemDto()
+                            {
+                                ID = alarm.ID,
+                                Name = enginePump.Name,
+                                Content = alarm.AlarmName
+                            };
+                            vmList.Add(vm);
+                        }
+                    }
+                }
+            }
+
             return vmList;
         }
 
diff --git a/IStation.Application.SZJT/IStation.Application.SZJT.csproj b/IStation.Application.SZJT/IStation.Application.SZJT.csproj
index 7404eac..1c5ee29 100644
--- a/IStation.Application.SZJT/IStation.Application.SZJT.csproj
+++ b/IStation.Application.SZJT/IStation.Application.SZJT.csproj
@@ -31,11 +31,15 @@
   </ItemGroup>
 
   <ItemGroup>
-    <PackageReference Include="Yw.Application.Core" Version="3.0.5" />
-    <PackageReference Include="Yw.Service.DMA.Core" Version="3.0.1" />
-    <PackageReference Include="Yw.Service.Map.Core" Version="3.0.3" />
-    <PackageReference Include="Yw.Service.Repair.Core" Version="3.0.1" />
-    <PackageReference Include="Yw.Service.Run.Core" Version="3.0.1" />
+    <PackageReference Include="Yw.Application.Core" Version="3.0.7" />
+    <PackageReference Include="Yw.Dto.Assets.Core" Version="3.1.5" />
+    <PackageReference Include="Yw.Dto.Basic.Core" Version="3.0.9" />
+    <PackageReference Include="Yw.Dto.DMA.Core" Version="3.0.3" />
+    <PackageReference Include="Yw.Dto.Map.Core" Version="3.0.5" />
+    <PackageReference Include="Yw.Dto.Monitor.Core" Version="3.3.1" />
+    <PackageReference Include="Yw.Dto.MonitorRelation.Core" Version="3.1.1" />
+    <PackageReference Include="Yw.Dto.Repair.Core" Version="3.0.3" />
+    <PackageReference Include="Yw.Dto.Run.Core" Version="3.0.9" />
   </ItemGroup>
 
   <ItemGroup>
diff --git a/IStation.Entry.SZJT/IStation.Entry.SZJT.csproj b/IStation.Entry.SZJT/IStation.Entry.SZJT.csproj
index a36fe6b..290e1ed 100644
--- a/IStation.Entry.SZJT/IStation.Entry.SZJT.csproj
+++ b/IStation.Entry.SZJT/IStation.Entry.SZJT.csproj
@@ -13,17 +13,18 @@
   <ProjectExtensions><VisualStudio><UserProperties appsettings_1json__JsonSchema="" /></VisualStudio></ProjectExtensions>
 
   <ItemGroup>
-    <PackageReference Include="Yw.Application.ArtImage.Core" Version="3.0.2" />
-    <PackageReference Include="Yw.Application.Assets.Core" Version="3.0.5" />
-    <PackageReference Include="Yw.Application.Basic.Core" Version="3.0.5" />
-    <PackageReference Include="Yw.Application.Bimface.Core" Version="3.0.1" />
-    <PackageReference Include="Yw.Application.Dict.Core" Version="3.0.1" />
-    <PackageReference Include="Yw.Application.DMA.Core" Version="3.0.2" />
-    <PackageReference Include="Yw.Application.DOCS.Core" Version="3.0.2" />
-    <PackageReference Include="Yw.Application.Map.Core" Version="3.0.3" />
-    <PackageReference Include="Yw.Application.Monitor.Core" Version="3.0.6" />
-    <PackageReference Include="Yw.Application.Repair.Core" Version="3.0.1" />
-    <PackageReference Include="Yw.Application.Unit.Core" Version="3.0.2" />
+    <PackageReference Include="Yw.Application.Assets.Core" Version="3.1.5" />
+    <PackageReference Include="Yw.Application.Basic.Core" Version="3.1.0" />
+    <PackageReference Include="Yw.Application.Bimface.Core" Version="3.0.2" />
+    <PackageReference Include="Yw.Application.Dict.Core" Version="3.0.5" />
+    <PackageReference Include="Yw.Application.DMA.Core" Version="3.0.5" />
+    <PackageReference Include="Yw.Application.DOCS.Core" Version="3.0.6" />
+    <PackageReference Include="Yw.Application.Map.Core" Version="3.0.6" />
+    <PackageReference Include="Yw.Application.Monitor.Core" Version="3.3.1" />
+    <PackageReference Include="Yw.Application.MonitorRelation.Core" Version="3.1.1" />
+    <PackageReference Include="Yw.Application.Repair.Core" Version="3.0.3" />
+    <PackageReference Include="Yw.Application.Run.Core" Version="3.0.9" />
+    <PackageReference Include="Yw.Application.Unit.Core" Version="3.0.6" />
   </ItemGroup>
 
   <ItemGroup>
diff --git a/IStation.Entry.SZJT/Properties/PublishProfiles/FolderProfile.pubxml.user b/IStation.Entry.SZJT/Properties/PublishProfiles/FolderProfile.pubxml.user
index 810237f..52e451e 100644
--- a/IStation.Entry.SZJT/Properties/PublishProfiles/FolderProfile.pubxml.user
+++ b/IStation.Entry.SZJT/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -5,6 +5,7 @@
 <Project>
   <PropertyGroup>
     <_PublishTargetUrl>D:\WorkData\git\istation\szjt\IStation.Entry.SZJT\bin\Release\net6.0\publish\</_PublishTargetUrl>
-    <History>True|2024-04-04T03:28:14.8768964Z;True|2024-04-04T09:39:21.6552156+08:00;True|2024-03-11T16:36:41.1901368+08:00;True|2024-01-27T11:33:20.6165535+08:00;True|2024-01-18T15:02:34.3492480+08:00;True|2024-01-15T18:07:28.9717635+08:00;True|2024-01-13T18:33:12.9427731+08:00;True|2024-01-03T12:04:02.7753609+08:00;True|2024-01-03T11:08:38.0680764+08:00;True|2024-01-03T10:52:12.8371853+08:00;True|2024-01-03T10:03:29.0482464+08:00;True|2023-12-28T09:09:43.7988141+08:00;True|2023-12-26T11:51:52.4664582+08:00;True|2023-12-26T10:49:59.5124896+08:00;True|2023-12-26T10:10:53.5396234+08:00;True|2023-12-25T15:30:59.3409132+08:00;True|2023-12-25T15:26:43.1943347+08:00;True|2023-12-25T10:08:29.7964560+08:00;True|2023-12-21T10:30:55.0589855+08:00;True|2023-12-19T21:25:45.9098277+08:00;True|2023-12-16T12:52:46.7024463+08:00;True|2023-12-14T16:16:02.6188884+08:00;True|2023-12-14T16:03:53.1458158+08:00;True|2023-12-14T15:59:33.3947428+08:00;True|2023-12-14T15:53:09.8869780+08:00;True|2023-12-14T14:17:07.2707485+08:00;True|2023-12-14T11:49:15.9699053+08:00;False|2023-12-14T11:48:41.4121185+08:00;True|2023-12-13T17:28:38.2180193+08:00;True|2023-12-13T14:47:22.2493536+08:00;True|2023-12-13T14:31:45.6098784+08:00;True|2023-12-13T14:05:08.5014675+08:00;True|2023-12-13T14:01:37.7165974+08:00;True|2023-12-13T13:50:57.4832531+08:00;True|2023-12-13T13:20:55.2902900+08:00;True|2023-12-13T12:01:09.6397101+08:00;True|2023-12-13T11:53:51.3171154+08:00;True|2023-12-13T11:18:29.2505125+08:00;True|2023-12-13T09:48:22.2436154+08:00;True|2023-12-12T11:49:25.2723311+08:00;True|2023-12-11T14:05:58.1086840+08:00;True|2023-12-11T09:31:35.0365077+08:00;True|2023-12-05T18:00:29.7005601+08:00;True|2023-12-05T17:35:46.7846869+08:00;True|2023-12-05T17:29:36.5936716+08:00;True|2023-12-04T19:50:38.7216121+08:00;True|2023-12-02T14:06:28.8643257+08:00;True|2023-11-30T16:54:56.0879009+08:00;True|2023-11-30T15:49:27.5213126+08:00;True|2023-11-30T13:42:14.9061099+08:00;False|2023-11-30T13:41:50.2796105+08:00;False|2023-11-30T13:41:42.4700953+08:00;True|2023-11-30T10:23:50.6226599+08:00;True|2023-11-30T09:22:54.2133326+08:00;True|2023-11-29T16:32:53.3651373+08:00;True|2023-11-29T09:19:39.1127566+08:00;True|2023-11-28T17:25:14.9642204+08:00;True|2023-11-28T16:53:30.7550754+08:00;True|2023-11-28T09:57:02.3264015+08:00;True|2023-11-27T14:26:33.6153027+08:00;True|2023-11-27T13:33:46.1964012+08:00;True|2023-11-27T13:21:38.2133314+08:00;True|2023-11-24T14:12:06.2053905+08:00;True|2023-11-23T15:38:30.0872291+08:00;True|2023-11-15T19:27:36.4861114+08:00;True|2023-11-15T14:16:33.6004541+08:00;True|2023-11-15T14:02:06.1224051+08:00;True|2023-11-15T09:35:35.1770813+08:00;True|2023-11-10T14:06:46.1528992+08:00;True|2023-11-08T14:07:13.3792249+08:00;True|2023-11-08T13:58:21.2455396+08:00;True|2023-11-08T13:34:05.8131818+08:00;True|2023-11-08T11:58:01.9187650+08:00;True|2023-11-07T14:11:15.6278203+08:00;True|2023-11-07T14:05:43.3330586+08:00;True|2023-10-27T08:30:17.2959726+08:00;True|2023-10-27T08:23:59.8360129+08:00;True|2023-10-25T20:36:54.7517897+08:00;True|2023-10-24T23:27:01.1980187+08:00;True|2023-10-24T22:57:21.3872591+08:00;True|2023-10-17T09:26:15.4157626+08:00;True|2023-10-16T16:44:05.1411215+08:00;True|2023-10-10T14:24:00.3649304+08:00;True|2023-10-10T14:12:16.4050462+08:00;True|2023-10-10T13:43:17.4397783+08:00;True|2023-10-08T16:16:16.4721892+08:00;True|2023-10-08T14:27:40.6092129+08:00;True|2023-10-08T13:36:44.2969175+08:00;True|2023-10-08T13:21:21.1105671+08:00;True|2023-10-08T11:41:25.6876188+08:00;True|2023-10-08T09:39:46.1146411+08:00;True|2023-09-26T14:26:57.6168193+08:00;True|2023-09-21T13:54:19.1780900+08:00;True|2023-09-21T13:16:00.2957740+08:00;True|2023-09-21T11:28:36.3091944+08:00;True|2023-09-21T11:18:20.1060798+08:00;True|2023-09-13T16:00:49.4080881+08:00;True|2023-09-11T13:53:38.8582724+08:00;True|2023-09-01T10:32:37.4923361+08:00;True|2023-08-30T16:52:43.1952609+08:00;True|2023-08-30T13:41:35.0430741+08:00;True|2023-08-28T14:53:24.2454140+08:00;True|2023-08-28T13:50:55.9362462+08:00;True|2023-08-28T10:00:17.0366755+08:00;True|2023-08-25T15:41:23.8727088+08:00;True|2023-08-24T16:47:54.1391198+08:00;True|2023-08-24T16:40:29.0473991+08:00;True|2023-08-22T15:02:27.5312918+08:00;True|2023-08-22T11:18:43.6918732+08:00;True|2023-08-21T15:10:42.9223597+08:00;True|2023-08-21T14:21:08.1887373+08:00;True|2023-08-21T11:56:07.5304445+08:00;True|2023-08-18T16:57:57.0506312+08:00;True|2023-08-18T13:51:54.9145260+08:00;True|2023-08-17T14:52:44.6557301+08:00;True|2023-08-17T14:15:19.8255432+08:00;True|2023-08-17T14:03:01.1586247+08:00;True|2023-08-17T11:46:51.6685579+08:00;True|2023-08-16T11:12:27.1684542+08:00;True|2023-08-15T16:59:09.4901359+08:00;True|2023-08-10T14:08:04.8032876+08:00;True|2023-08-10T13:55:01.9698355+08:00;True|2023-08-10T10:43:44.0440039+08:00;True|2023-08-10T10:12:03.9359243+08:00;True|2023-08-09T15:07:46.6906781+08:00;True|2023-08-09T13:12:06.7912004+08:00;True|2023-08-09T10:23:24.5864225+08:00;True|2023-08-08T17:38:10.4753030+08:00;True|2023-08-08T12:56:08.9783211+08:00;True|2023-08-06T09:18:33.3703637+08:00;True|2023-08-03T11:01:58.9814864+08:00;True|2023-08-03T10:26:08.4681748+08:00;True|2023-08-02T20:33:35.0425049+08:00;True|2023-08-02T17:31:18.4675932+08:00;True|2023-08-02T16:04:16.8761862+08:00;True|2023-08-02T13:48:38.9129192+08:00;True|2023-08-02T13:45:00.6546267+08:00;True|2023-08-01T15:26:25.0389689+08:00;True|2023-08-01T14:08:10.9121758+08:00;True|2023-07-31T13:35:10.1220213+08:00;True|2023-07-31T09:20:11.2607880+08:00;True|2023-07-28T13:44:35.4317136+08:00;True|2023-07-27T10:40:46.5453757+08:00;True|2023-07-27T09:16:57.7421426+08:00;True|2023-07-26T17:10:56.0976913+08:00;True|2023-07-26T12:01:33.5766311+08:00;True|2023-07-25T18:07:38.5726960+08:00;True|2023-07-25T17:42:39.3625959+08:00;True|2023-07-25T17:04:09.8723273+08:00;True|2023-07-25T16:28:14.1819137+08:00;True|2023-07-24T14:11:28.2113907+08:00;True|2023-07-24T12:05:09.0376032+08:00;True|2023-07-24T09:36:39.6541522+08:00;True|2023-07-19T12:25:56.9887829+08:00;True|2023-07-17T13:00:04.0123733+08:00;True|2023-07-13T12:13:14.7927242+08:00;True|2023-07-13T11:46:24.1368807+08:00;True|2023-07-13T10:24:33.1684712+08:00;True|2023-06-26T11:38:29.6648988+08:00;True|2023-06-21T16:17:40.6226554+08:00;True|2023-06-21T13:30:18.8163322+08:00;True|2023-06-21T13:19:43.9290154+08:00;True|2023-06-21T11:35:28.3376504+08:00;</History>
+    <History>True|2024-05-15T05:42:09.6126744Z;True|2024-05-14T13:53:12.1723807+08:00;True|2024-05-11T15:05:20.5973067+08:00;True|2024-05-10T11:01:01.2440816+08:00;False|2024-05-10T10:59:59.6830545+08:00;True|2024-04-04T16:28:54.7974027+08:00;True|2024-04-04T11:28:14.8768964+08:00;True|2024-04-04T09:39:21.6552156+08:00;True|2024-03-11T16:36:41.1901368+08:00;True|2024-01-27T11:33:20.6165535+08:00;True|2024-01-18T15:02:34.3492480+08:00;True|2024-01-15T18:07:28.9717635+08:00;True|2024-01-13T18:33:12.9427731+08:00;True|2024-01-03T12:04:02.7753609+08:00;True|2024-01-03T11:08:38.0680764+08:00;True|2024-01-03T10:52:12.8371853+08:00;True|2024-01-03T10:03:29.0482464+08:00;True|2023-12-28T09:09:43.7988141+08:00;True|2023-12-26T11:51:52.4664582+08:00;True|2023-12-26T10:49:59.5124896+08:00;True|2023-12-26T10:10:53.5396234+08:00;True|2023-12-25T15:30:59.3409132+08:00;True|2023-12-25T15:26:43.1943347+08:00;True|2023-12-25T10:08:29.7964560+08:00;True|2023-12-21T10:30:55.0589855+08:00;True|2023-12-19T21:25:45.9098277+08:00;True|2023-12-16T12:52:46.7024463+08:00;True|2023-12-14T16:16:02.6188884+08:00;True|2023-12-14T16:03:53.1458158+08:00;True|2023-12-14T15:59:33.3947428+08:00;True|2023-12-14T15:53:09.8869780+08:00;True|2023-12-14T14:17:07.2707485+08:00;True|2023-12-14T11:49:15.9699053+08:00;False|2023-12-14T11:48:41.4121185+08:00;True|2023-12-13T17:28:38.2180193+08:00;True|2023-12-13T14:47:22.2493536+08:00;True|2023-12-13T14:31:45.6098784+08:00;True|2023-12-13T14:05:08.5014675+08:00;True|2023-12-13T14:01:37.7165974+08:00;True|2023-12-13T13:50:57.4832531+08:00;True|2023-12-13T13:20:55.2902900+08:00;True|2023-12-13T12:01:09.6397101+08:00;True|2023-12-13T11:53:51.3171154+08:00;True|2023-12-13T11:18:29.2505125+08:00;True|2023-12-13T09:48:22.2436154+08:00;True|2023-12-12T11:49:25.2723311+08:00;True|2023-12-11T14:05:58.1086840+08:00;True|2023-12-11T09:31:35.0365077+08:00;True|2023-12-05T18:00:29.7005601+08:00;True|2023-12-05T17:35:46.7846869+08:00;True|2023-12-05T17:29:36.5936716+08:00;True|2023-12-04T19:50:38.7216121+08:00;True|2023-12-02T14:06:28.8643257+08:00;True|2023-11-30T16:54:56.0879009+08:00;True|2023-11-30T15:49:27.5213126+08:00;True|2023-11-30T13:42:14.9061099+08:00;False|2023-11-30T13:41:50.2796105+08:00;False|2023-11-30T13:41:42.4700953+08:00;True|2023-11-30T10:23:50.6226599+08:00;True|2023-11-30T09:22:54.2133326+08:00;True|2023-11-29T16:32:53.3651373+08:00;True|2023-11-29T09:19:39.1127566+08:00;True|2023-11-28T17:25:14.9642204+08:00;True|2023-11-28T16:53:30.7550754+08:00;True|2023-11-28T09:57:02.3264015+08:00;True|2023-11-27T14:26:33.6153027+08:00;True|2023-11-27T13:33:46.1964012+08:00;True|2023-11-27T13:21:38.2133314+08:00;True|2023-11-24T14:12:06.2053905+08:00;True|2023-11-23T15:38:30.0872291+08:00;True|2023-11-15T19:27:36.4861114+08:00;True|2023-11-15T14:16:33.6004541+08:00;True|2023-11-15T14:02:06.1224051+08:00;True|2023-11-15T09:35:35.1770813+08:00;True|2023-11-10T14:06:46.1528992+08:00;True|2023-11-08T14:07:13.3792249+08:00;True|2023-11-08T13:58:21.2455396+08:00;True|2023-11-08T13:34:05.8131818+08:00;True|2023-11-08T11:58:01.9187650+08:00;True|2023-11-07T14:11:15.6278203+08:00;True|2023-11-07T14:05:43.3330586+08:00;True|2023-10-27T08:30:17.2959726+08:00;True|2023-10-27T08:23:59.8360129+08:00;True|2023-10-25T20:36:54.7517897+08:00;True|2023-10-24T23:27:01.1980187+08:00;True|2023-10-24T22:57:21.3872591+08:00;True|2023-10-17T09:26:15.4157626+08:00;True|2023-10-16T16:44:05.1411215+08:00;True|2023-10-10T14:24:00.3649304+08:00;True|2023-10-10T14:12:16.4050462+08:00;True|2023-10-10T13:43:17.4397783+08:00;True|2023-10-08T16:16:16.4721892+08:00;True|2023-10-08T14:27:40.6092129+08:00;True|2023-10-08T13:36:44.2969175+08:00;True|2023-10-08T13:21:21.1105671+08:00;True|2023-10-08T11:41:25.6876188+08:00;True|2023-10-08T09:39:46.1146411+08:00;True|2023-09-26T14:26:57.6168193+08:00;True|2023-09-21T13:54:19.1780900+08:00;True|2023-09-21T13:16:00.2957740+08:00;</History>
+    <LastFailureDetails />
   </PropertyGroup>
 </Project>
\ No newline at end of file
diff --git a/IStation.Entry.SZJT/appsettings.json b/IStation.Entry.SZJT/appsettings.json
index 496687f..c5cb768 100644
--- a/IStation.Entry.SZJT/appsettings.json
+++ b/IStation.Entry.SZJT/appsettings.json
@@ -1,20 +1,21 @@
 {
   "AppSettings": {
-    "EnabledReferenceAssemblyScan": true, // 启用模块化程序集扫描
+    "EnabledReferenceAssemblyScan": true,
     "SupportPackageNamePrefixs": [
       "Yw.Application.Core",
       "Yw.Application.Basic.Core",
       "Yw.Application.Dict.Core",
       "Yw.Application.Unit.Core",
-      "Yw.Application.Monitor.Core",
       "Yw.Application.Assets.Core",
+      "Yw.Application.Monitor.Core",
+      "Yw.Application.MonitorRelation.Core",
       "Yw.Application.Repair.Core",
-      "Yw.Application.ArtImage.Core",
       "Yw.Application.Bimface.Core",
       "Yw.Application.Map.Core",
       "Yw.Application.DOCS.Core",
-      "Yw.Application.DMA.Core"
-    ] // 配置通过 NuGet 方式安装的模块化包
+      "Yw.Application.DMA.Core",
+      "Yw.Application.Run.Core"
+    ]
   },
   "Logging": {
     "LogLevel": {
@@ -24,16 +25,20 @@
   },
   "AllowedHosts": "*",
   "IgnoreConfigurationFiles": [
-    "paras_repair_settings.json",
-    "paras_monitor_settings.json",
-    "paras_dict_settings.json",
-    "paras_unit_settings.json",
-    "paras_basic_settings.json",
     "paras_memory_cache_settings.json",
     "paras_sqlsugar_settings.json",
     "paras_service_settings.json",
+    "paras_basic_settings.json",
+    "paras_unit_settings.json",
+    "paras_dict_settings.json",
+    "paras_assets_settings.json",
+    "paras_monitor_settings.json",
+    "paras_monitor_relation_settings.json",
+    "paras_repair_settings.json",
     "paras_map_settings.json",
+    "paras_docs_settings.json",
     "paras_bimface_settings.json",
-    "paras_dma_settings.json"
+    "paras_dma_settings.json",
+    "paras_run_settings.json"
   ]
 }
diff --git a/IStation.Server.SZJT/0-helper/ConfigHelper.cs b/IStation.Server.SZJT/00-core/ConfigHelper.cs
similarity index 100%
rename from IStation.Server.SZJT/0-helper/ConfigHelper.cs
rename to IStation.Server.SZJT/00-core/ConfigHelper.cs
diff --git a/IStation.Server.SZJT/0-helper/IJobHelper.cs b/IStation.Server.SZJT/00-core/IJobHelper.cs
similarity index 100%
rename from IStation.Server.SZJT/0-helper/IJobHelper.cs
rename to IStation.Server.SZJT/00-core/IJobHelper.cs
diff --git a/IStation.Server.SZJT/0-helper/JobHelper.cs b/IStation.Server.SZJT/00-core/JobHelper.cs
similarity index 91%
rename from IStation.Server.SZJT/0-helper/JobHelper.cs
rename to IStation.Server.SZJT/00-core/JobHelper.cs
index ec4bd32..cb1c641 100644
--- a/IStation.Server.SZJT/0-helper/JobHelper.cs
+++ b/IStation.Server.SZJT/00-core/JobHelper.cs
@@ -7,7 +7,7 @@
     {
         private List<IJobHelper> _jobHelpers = new List<IJobHelper>()
         {
-            new EquipmentRunAnalyServiceJobHelper()
+
         };
 
         /// <summary>
diff --git a/IStation.Server.SZJT/1-equipment-run-analy/1-service/EquipmentRunAnalyServiceJob.cs b/IStation.Server.SZJT/1-equipment-run-analy/1-service/EquipmentRunAnalyServiceJob.cs
deleted file mode 100644
index 13c6232..0000000
--- a/IStation.Server.SZJT/1-equipment-run-analy/1-service/EquipmentRunAnalyServiceJob.cs
+++ /dev/null
@@ -1,100 +0,0 @@
-锘縩amespace IStation.Server
-{
-    /// <summary>
-    /// 璁惧杩愯鍒嗘瀽鏈嶅姟浠诲姟
-    /// </summary>
-    [DisallowConcurrentExecution]
-    public class EquipmentRunAnalyServiceJob : IJob
-    {
-        private static readonly List<EquipmentRunAnalySingleJobHelper> _jobHelpers = new List<EquipmentRunAnalySingleJobHelper>();
-
-        /// <summary>
-        /// 
-        /// </summary>
-        public Task Execute(IJobExecutionContext context)
-        {
-            return Task.Run(async () =>
-           {
-               try
-               {
-                   #region 鍔犺浇閰嶇疆
-
-                   var configureList = new Yw.Service.RunAnalyConfigure().GetAll();
-                   configureList = configureList?.Where(x => x.ObjectType == Yw.Assets.DataType.Equipment).ToList();
-                   if (configureList == null || configureList.Count < 1)
-                   {
-                       LogHelper.Error("璁惧杩愯鍒嗘瀽鏈嶅姟浠诲姟涓紝鏈绱㈠埌閰嶇疆淇℃伅");
-                       CancelJobs();
-                       return;
-                   }
-
-
-                   #endregion
-
-                   #region 寮�鍚换鍔�
-
-                   foreach (var configure in configureList)
-                   {
-                       var jobHelper = _jobHelpers.Find(x => x.Configure.ObjectType == configure.ObjectType
-                           && x.Configure.ObjectID == configure.ObjectID
-                           && x.Configure.ChangeTimes == configure.ChangeTimes
-                           && x.Configure.Frequency == configure.Frequency);
-                       if (jobHelper == null)
-                       {
-                           jobHelper = new EquipmentRunAnalySingleJobHelper();
-                           await jobHelper.StartJob(configure);
-                           _jobHelpers.Add(jobHelper);
-                           LogHelper.Info($"璁惧杩愯鍒嗘瀽鏈嶅姟浠诲姟涓�,鏁版嵁id:{configure.ObjectID},鏀瑰彉娆℃暟:{configure.ChangeTimes},鍒嗘瀽棰戠巼:{configure.Frequency},璁″垝浠诲姟寮�鍚紒");
-                       }
-                   }
-
-                   #endregion
-
-                   #region 鍏抽棴浠诲姟
-
-                   foreach (var jobHelper in _jobHelpers.ToList())
-                   {
-                       var configure = configureList.Find(x => x.ObjectType == jobHelper.Configure.ObjectType
-                           && x.ObjectID == jobHelper.Configure.ObjectID
-                           && x.ChangeTimes == jobHelper.Configure.ChangeTimes
-                           && x.Frequency == jobHelper.Configure.Frequency);
-                       if (configure == null)
-                       {
-                           await jobHelper.CancelJob();
-                           _jobHelpers.Remove(jobHelper);
-                           LogHelper.Info($"璁惧杩愯鍒嗘瀽鏈嶅姟浠诲姟涓紝,鏁版嵁id:{jobHelper.Configure.ObjectID},鏀瑰彉娆℃暟:{jobHelper.Configure.ChangeTimes},鍒嗘瀽棰戠巼:{jobHelper.Configure.Frequency},璁″垝浠诲姟鍏抽棴锛�");
-                       }
-                   }
-
-                   #endregion
-
-
-                   LogHelper.Info($"璁惧杩愯鍒嗘瀽鏈嶅姟浠诲姟涓紝寮�鍚换鍔℃暟閲忎负{_jobHelpers.Count}锛�");
-               }
-               catch (Exception ex)
-               {
-                   LogHelper.Error("璁惧杩愯鍒嗘瀽鏈嶅姟浠诲姟涓紝鎵ц鍑洪敊锛�", ex);
-                   var e = new JobExecutionException(ex);
-                   throw e;
-               }
-           });
-
-
-        }
-
-        /// <summary>
-        /// 鍙栨秷浠诲姟
-        /// </summary>
-        public static void CancelJobs()
-        {
-            if (_jobHelpers != null && _jobHelpers.Count > 0)
-            {
-                _jobHelpers.ForEach(async x => await x.CancelJob());
-                _jobHelpers.Clear();
-            }
-        }
-
-
-
-    }
-}
diff --git a/IStation.Server.SZJT/1-equipment-run-analy/1-service/EquipmentRunAnalyServiceJobHelper.cs b/IStation.Server.SZJT/1-equipment-run-analy/1-service/EquipmentRunAnalyServiceJobHelper.cs
deleted file mode 100644
index 1e65b86..0000000
--- a/IStation.Server.SZJT/1-equipment-run-analy/1-service/EquipmentRunAnalyServiceJobHelper.cs
+++ /dev/null
@@ -1,65 +0,0 @@
-锘縩amespace IStation.Server
-{
-    /// <summary>
-    /// 璁惧杩愯鏈嶅姟浠诲姟杈呭姪绫�
-    /// </summary>
-    public class EquipmentRunAnalyServiceJobHelper : IJobHelper
-    {
-        private const string _jobName = "EquipmentRunAnalyServiceJobName";
-        private const string _jobGroup = "EquipmentRunAnalyServiceJobGroup";
-        private const string _triggerName = "EquipmentRunAnalyServiceJobTrigger";
-        private static IScheduler _sched;//璋冨害鍣�
-
-
-        /// <summary>
-        /// 寮�濮嬩换鍔�
-        /// </summary>
-        public async Task StartJob()
-        {
-            if (_sched != null)
-                return;
-
-            // 1.鍒涘缓scheduler鐨勫紩鐢�
-            var fac = new Quartz.Impl.StdSchedulerFactory();
-            _sched = await fac.GetScheduler();
-
-            //2.鍚姩 scheduler
-            await _sched.Start();
-
-            //3.鍒涘缓浠诲姟
-            var job = JobBuilder.Create<EquipmentRunAnalyServiceJob>()
-             .WithIdentity(_jobName, _jobGroup)
-             .Build();
-
-            //4.鍒涘缓Trigger
-            var trigger = TriggerBuilder.Create()
-            .WithIdentity(_triggerName, _jobGroup)
-            .WithSimpleSchedule(x => x.WithIntervalInMinutes(ConfigHelper.ResetFrequency)
-            .RepeatForever()
-            .WithMisfireHandlingInstructionNextWithRemainingCount())
-            .Build();
-
-            //5.鍔犲叆璋冨害绠$悊鍣�
-            await _sched.ScheduleJob(job, trigger);
-        }
-
-        /// <summary>
-        /// 鍙栨秷浠诲姟
-        /// </summary>
-        public async Task CancelJob()
-        {
-            if (_sched == null)
-                return;
-            var triggerKey = new TriggerKey(_triggerName, _jobGroup);
-            if (await _sched.CheckExists(triggerKey))
-            {
-                await _sched.UnscheduleJob(triggerKey);
-            }
-            EquipmentRunAnalyServiceJob.CancelJobs();
-        }
-
-
-
-    }
-
-}
diff --git a/IStation.Server.SZJT/1-equipment-run-analy/2-single/EquipmentRunAnalyChangeTimesHelper.cs b/IStation.Server.SZJT/1-equipment-run-analy/2-single/EquipmentRunAnalyChangeTimesHelper.cs
deleted file mode 100644
index f584335..0000000
--- a/IStation.Server.SZJT/1-equipment-run-analy/2-single/EquipmentRunAnalyChangeTimesHelper.cs
+++ /dev/null
@@ -1,57 +0,0 @@
-锘�
-
-namespace IStation.Server
-{
-    /// <summary>
-    /// 
-    /// </summary>
-    public class EquipmentRunAnalyChangeTimesHelper
-    {
-        private static ConcurrentDictionary<long, List<Yw.Model.MonitorRealRecord>> _dict = new();//缂撳瓨
-
-        /// <summary>
-        /// 璁剧疆
-        /// </summary>
-        public static void Set(long configureId, int changeTimes, Yw.Model.MonitorRealRecord record)
-        {
-            _dict.TryAdd(configureId, new List<Yw.Model.MonitorRealRecord>());
-            if (_dict[configureId].Count >= changeTimes)
-            {
-                _dict[configureId].RemoveAt(0);
-            }
-            if (record != null)
-            {
-                _dict[configureId].Add(record);
-            }
-        }
-
-        /// <summary>
-        /// 鏄惁鏀瑰彉
-        /// </summary>
-        public static bool HasChanged(long configureId, int changeTimes)
-        {
-            if (!_dict.ContainsKey(configureId))
-            {
-                return false;
-            }
-            if (_dict[configureId].Count < changeTimes)
-            {
-                return false;
-            }
-            if (_dict[configureId].Select(x => x.DataValue).Distinct().Count() > 1)
-            {
-                return false;
-            }
-            return true;
-        }
-
-
-
-
-
-
-
-
-
-    }
-}
diff --git a/IStation.Server.SZJT/1-equipment-run-analy/2-single/EquipmentRunAnalySingleJob.cs b/IStation.Server.SZJT/1-equipment-run-analy/2-single/EquipmentRunAnalySingleJob.cs
deleted file mode 100644
index 4faf816..0000000
--- a/IStation.Server.SZJT/1-equipment-run-analy/2-single/EquipmentRunAnalySingleJob.cs
+++ /dev/null
@@ -1,210 +0,0 @@
-锘縩amespace IStation.Server
-{
-    /// <summary>
-    /// 璁惧杩愯鍒嗘瀽鍗曚换鍔�
-    /// </summary>
-    [DisallowConcurrentExecution]//姝ょ壒鎬ф爣璇� 蹇呴』绛夊緟杩欐浠诲姟鎵ц瀹屾垚鍚庯紝鎵嶈兘鎵ц涓嬫浠诲姟
-    public class EquipmentRunAnalySingleJob : IJob
-    {
-
-        internal const string Instance = "Instance";
-
-        private Yw.Model.RunAnalyConfigure _configure;
-
-        /// <summary>
-        /// 
-        /// </summary>
-        public Task Execute(IJobExecutionContext context)
-        {
-
-            return Task.Run(() =>
-            {
-                try
-                {
-                    #region 浠诲姟鏁版嵁
-
-                    var dataMap = context.MergedJobDataMap;
-                    var jobModel = (Yw.Model.RunAnalyConfigure)dataMap[Instance];
-                    if (jobModel == null)
-                    {
-                        LogHelper.Info($"璁惧杩愯鍒嗘瀽鍗曚换鍔′腑锛屼换鍔℃暟鎹紶杈撳け璐ワ紒");
-                        return;
-                    }
-                    var configure = jobModel;
-                    _configure = configure;
-
-                    #endregion
-
-                    #region 鑾峰彇璁惧
-
-                    var allEquipmentList = new Yw.Service.Equipment().GetChildAndSelfByID(configure.ObjectID);
-                    if (allEquipmentList == null || allEquipmentList.Count < 1)
-                    {
-                        LogHelper.Info($"璁惧杩愯鍒嗘瀽鍗曚换鍔′腑锛岃澶噄d:{configure.ObjectID} 妫�绱㈣澶囧け璐ワ紒");
-                        return;
-                    }
-                    var allEquipmentIds = allEquipmentList.Select(x => x.ID).Distinct().ToList();
-                    #endregion
-
-                    #region 鑾峰彇娴嬬偣
-
-                    var allMonitorMappingList = new Yw.Service.EquipmentMonitorMapping().GetByEquipmentIds(allEquipmentIds);
-                    if (allMonitorMappingList == null || allMonitorMappingList.Count < 1)
-                    {
-                        LogHelper.Info($"璁惧杩愯鍒嗘瀽鍗曚换鍔′腑锛岃澶噄d:{configure.ObjectID} 妫�绱㈡祴鐐瑰叧鑱斿け璐ワ紒");
-                        return;
-                    }
-                    var allMonitorIds = allMonitorMappingList.Select(x => x.MonitorPointID).Distinct().ToList();
-                    var allMonitorList = new Yw.Service.MonitorPoint().GetExSignalWithSignalTypeByIds(allMonitorIds);
-                    allMonitorList = allMonitorList?.Where(x => x.UseStatus == Yw.Model.eUseStatus.Enable).ToList();
-                    if (allMonitorList == null || allMonitorList.Count < 1)
-                    {
-                        LogHelper.Info($"璁惧杩愯鍒嗘瀽鍗曚换鍔′腑锛岃澶噄d:{configure.ObjectID} 妫�绱㈡祴鐐瑰け璐ワ紒");
-                        return;
-                    }
-
-                    #endregion
-
-                    #region 杩愯娴嬬偣
-
-                    var monitorList = allMonitorList.Where(x => x.SignalList.Exists(t => t.SignalType.Code == Yw.Monitor.SignalType.杩愯鐘舵��)).ToList();
-                    if (monitorList == null || monitorList.Count < 1)
-                    {
-                        LogHelper.Info($"璁惧杩愯鍒嗘瀽鍗曚换鍔′腑锛岃澶噄d:{configure.ObjectID} 妫�绱㈣繍琛岀姸鎬佹祴鐐瑰け璐ワ紒");
-                        return;
-                    }
-                    var monitor = monitorList.Find(x => x.Flags.Contains(IStation.Flags.榛樿));
-                    if (monitor == null)
-                    {
-                        monitor = monitorList.First();
-                    }
-
-
-                    #endregion
-
-                    #region 杩炵画缂撳瓨
-
-                    var lastRecord = new Yw.Service.MonitorRealRecord().GetLastRecord(monitor.SignalList.First().ID);
-                    EquipmentRunAnalyChangeTimesHelper.Set(configure.ID, configure.ChangeTimes, lastRecord);
-
-                    #endregion
-
-                    #region 鏁版嵁鍒嗘瀽
-
-                    var run_record = new Yw.Model.RunRealRecord()
-                    {
-                        ObjectType = configure.ObjectType,
-                        ObjectID = configure.ObjectID,
-                        DataTime = DateTime.Now,
-                        RSa = Yw.Run.RunStatus.Stop,
-                        ContinueRunTime = 0,
-                        TotalRunTime = 0,
-                        BootTimes = 0,
-                        AnalyStatus = Yw.Run.AnalyStatus.Normal,
-                        AnalyInfo = null
-                    };
-
-                    var lastRunRecord = new Yw.Service.RunRealRecord().GetLastRecord(configure.ObjectType, configure.ObjectID);
-                    if (lastRunRecord == null)
-                    {
-                        run_record.AnalyInfo = "棣栨鍒嗘瀽";
-                        if (lastRecord == null)
-                        {
-                            run_record.AnalyStatus = Yw.Run.AnalyStatus.Missing;
-                        }
-                        else
-                        {
-                            if (double.TryParse(lastRecord.DataValue, out double outDataValue))
-                            {
-                                if (outDataValue > 0)
-                                {
-                                    run_record.RSa = Yw.Run.RunStatus.Run;
-                                    run_record.ContinueRunTime += configure.Frequency;
-                                    run_record.TotalRunTime += configure.Frequency;
-                                    run_record.BootTimes += 1;
-                                }
-                            }
-                            else
-                            {
-                                run_record.AnalyStatus = Yw.Run.AnalyStatus.Abnormal;
-                            }
-                        }
-                    }
-                    else
-                    {
-                        run_record.RSa = lastRunRecord.RSa;
-                        run_record.ContinueRunTime = lastRunRecord.ContinueRunTime;
-                        run_record.TotalRunTime = lastRunRecord.TotalRunTime;
-                        run_record.BootTimes = lastRunRecord.BootTimes;
-                        if (lastRecord == null)
-                        {
-                            run_record.AnalyStatus = Yw.Run.AnalyStatus.Missing;
-                        }
-                        else
-                        {
-                            if (double.TryParse(lastRecord.DataValue, out double outDataValue))
-                            {
-                                var run_status = outDataValue > 0 ? Yw.Run.RunStatus.Run : Yw.Run.RunStatus.Stop;
-                                if (run_status != run_record.RSa)
-                                {
-                                    if (EquipmentRunAnalyChangeTimesHelper.HasChanged(configure.ID, configure.ChangeTimes))
-                                    {
-                                        run_record.RSa = run_status;
-                                        if (run_status == Yw.Run.RunStatus.Run)
-                                        {
-                                            run_record.BootTimes += 1;
-                                        }
-                                        if (run_record.RSa == Yw.Run.RunStatus.Stop)
-                                        {
-                                            run_record.ContinueRunTime = 0;
-                                        }
-                                    }
-                                }
-                            }
-                            else
-                            {
-                                run_record.AnalyStatus = Yw.Run.AnalyStatus.Abnormal;
-                            }
-                        }
-                        if (run_record.RSa == Yw.Run.RunStatus.Run)
-                        {
-                            run_record.TotalRunTime += configure.Frequency;
-                            run_record.ContinueRunTime += configure.Frequency;
-                        }
-                    }
-
-                    #endregion
-
-                    #region 鏁版嵁瀛樺偍
-
-                    var bol = new Yw.Service.RunRealRecord().InsertLastRecord(run_record);
-                    if (bol)
-                    {
-                        LogHelper.Info($"璁惧杩愯鍒嗘瀽鍗曚换鍔′腑锛岃澶噄d:{configure.ObjectID} 杩愯璁板綍鍒嗘瀽鎴愬姛锛�");
-                    }
-                    else
-                    {
-                        LogHelper.Info($"璁惧杩愯鍒嗘瀽鍗曚换鍔′腑锛岃澶噄d:{configure.ObjectID} 杩愯璁板綍淇濆瓨澶辫触锛�");
-                    }
-
-                    #endregion
-                }
-                catch (Exception ex)
-                {
-                    LogHelper.Error($"璁惧杩愯鍒嗘瀽鍗曚换鍔′腑锛� 鏁版嵁id:{_configure.ObjectID}, 鎵ц鍑洪敊", ex);
-                    var e = new JobExecutionException(ex);
-                    throw e;
-                }
-
-            });
-
-
-        }
-
-
-
-
-
-
-    }
-}
diff --git a/IStation.Server.SZJT/1-equipment-run-analy/2-single/EquipmentRunAnalySingleJobHelper.cs b/IStation.Server.SZJT/1-equipment-run-analy/2-single/EquipmentRunAnalySingleJobHelper.cs
deleted file mode 100644
index bcc4cfe..0000000
--- a/IStation.Server.SZJT/1-equipment-run-analy/2-single/EquipmentRunAnalySingleJobHelper.cs
+++ /dev/null
@@ -1,73 +0,0 @@
-锘縩amespace IStation.Server
-{
-    /// <summary>
-    /// 璁惧杩愯鍒嗘瀽鍗曚换鍔¤緟鍔╃被
-    /// </summary>
-    public class EquipmentRunAnalySingleJobHelper
-    {
-        private IScheduler _sched;//璋冨害鍣�
-
-        /// <summary>
-        /// 閰嶇疆
-        /// </summary>
-        public Yw.Model.RunAnalyConfigure Configure { get; set; }
-
-        /// <summary>
-        /// 寮�濮嬩换鍔�
-        /// </summary>
-        public async Task StartJob(Yw.Model.RunAnalyConfigure configure)
-        {
-            if (_sched != null)
-            {
-                return;
-            }
-            this.Configure = configure;
-
-            var jobName = EquipmentRunAnalySingleJobNameHelper.GetJobName(configure);
-            var jobGroupName = EquipmentRunAnalySingleJobNameHelper.GetJobGroupName(configure);
-            var triggerName = EquipmentRunAnalySingleJobNameHelper.GetTriggerName(configure);
-
-            // 1.鍒涘缓scheduler鐨勫紩鐢�
-            var fac = new Quartz.Impl.StdSchedulerFactory();
-            _sched = await fac.GetScheduler();
-
-            //2.鍚姩 scheduler
-            await _sched.Start();
-
-            //3.鍒涘缓浠诲姟
-            var job = JobBuilder.Create<EquipmentRunAnalySingleJob>()
-             .WithIdentity(jobName, jobGroupName)
-             .Build();
-            job.JobDataMap.Put(EquipmentRunAnalySingleJob.Instance, configure);
-
-            //4.鍒涘缓Trigger
-            var trigger = TriggerBuilder.Create()
-               .WithIdentity(triggerName, jobGroupName)
-               .WithSimpleSchedule(x => x.WithIntervalInSeconds(configure.Frequency)
-               .RepeatForever().WithMisfireHandlingInstructionNextWithRemainingCount())
-               .Build();
-
-            //5.鍔犲叆璋冨害绠$悊鍣�
-            await _sched.ScheduleJob(job, trigger);
-        }
-
-        /// <summary>
-        /// 鍙栨秷浠诲姟
-        /// </summary>
-        public async Task CancelJob()
-        {
-            if (_sched == null)
-                return;
-            var jobGroupName = EquipmentRunAnalySingleJobNameHelper.GetJobGroupName(this.Configure);
-            var triggerName = EquipmentRunAnalySingleJobNameHelper.GetTriggerName(this.Configure);
-            var triggerKey = new TriggerKey(triggerName, jobGroupName);
-            if (await _sched.CheckExists(triggerKey))
-            {
-                await _sched.UnscheduleJob(triggerKey);
-            }
-        }
-
-
-
-    }
-}
diff --git a/IStation.Server.SZJT/1-equipment-run-analy/2-single/EquipmentRunAnalySingleJobNameHelper.cs b/IStation.Server.SZJT/1-equipment-run-analy/2-single/EquipmentRunAnalySingleJobNameHelper.cs
deleted file mode 100644
index 0cf1979..0000000
--- a/IStation.Server.SZJT/1-equipment-run-analy/2-single/EquipmentRunAnalySingleJobNameHelper.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-锘縩amespace IStation.Server
-{
-    /// <summary>
-    /// 璁惧杩愯鍗曚换鍔″悕绉拌緟鍔╃被
-    /// </summary>
-    public class EquipmentRunAnalySingleJobNameHelper
-    {
-        private const string _jobNameHeader = "EquipmentRunAnalySingleJobName";
-        private const string _jobGroupHeader = "EquipmentRunAnalySingleJobGroup";
-        private const string _triggerNameHeader = "EquipmentRunAnalySingleJobTrigger";
-
-        /// <summary>
-        /// 鑾峰彇浠诲姟鍚嶇О
-        /// </summary>
-        public static string GetJobName(Yw.Model.RunAnalyConfigure rhs)
-        {
-            return $"{_jobNameHeader}_{rhs.ID}";
-        }
-
-        /// <summary>
-        /// 鑾峰彇浠诲姟缁勫悕绉�
-        /// </summary>
-        public static string GetJobGroupName(Yw.Model.RunAnalyConfigure rhs)
-        {
-            return $"{_jobGroupHeader}_{rhs.ID}";
-        }
-
-        /// <summary>
-        /// 鑾峰彇瑙﹀彂鍣ㄥ悕绉�
-        /// </summary>
-        public static string GetTriggerName(Yw.Model.RunAnalyConfigure rhs)
-        {
-            return $"{_triggerNameHeader}_{rhs.ID}";
-        }
-
-    }
-}
diff --git a/IStation.Server.SZJT/IStation.Server.SZJT.csproj b/IStation.Server.SZJT/IStation.Server.SZJT.csproj
index 99b09fe..108a562 100644
--- a/IStation.Server.SZJT/IStation.Server.SZJT.csproj
+++ b/IStation.Server.SZJT/IStation.Server.SZJT.csproj
@@ -9,7 +9,7 @@
 
   <ItemGroup>
     <PackageReference Include="Yw.Quartz.Core" Version="3.0.0" />
-    <PackageReference Include="Yw.Service.Run.Core" Version="3.0.1" />
+    <PackageReference Include="Yw.Service.Run.Core" Version="3.0.7" />
   </ItemGroup>
 
   <ItemGroup>
diff --git a/IStation.Service.SZJT/IStation.Service.SZJT.csproj b/IStation.Service.SZJT/IStation.Service.SZJT.csproj
index 8bb926d..a5d77ad 100644
--- a/IStation.Service.SZJT/IStation.Service.SZJT.csproj
+++ b/IStation.Service.SZJT/IStation.Service.SZJT.csproj
@@ -17,6 +17,11 @@
   </ItemGroup>
 
   <ItemGroup>
+    <PackageReference Include="Yw.DAL.PostgreSql.Core" Version="3.0.2" />
+    <PackageReference Include="Yw.Service.Core" Version="3.0.2" />
+  </ItemGroup>
+
+  <ItemGroup>
     <Content Update="C:\Users\admin\.nuget\packages\yw.service.assets.core\1.0.0\contentFiles\any\net6.0\paras_assets_settings.json">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </Content>
@@ -35,12 +40,6 @@
     <Content Update="C:\Users\admin\.nuget\packages\yw.service.unit.core\1.0.0\contentFiles\any\net6.0\paras_unit_settings.json">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </Content>
-  </ItemGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Yw.Service.Assets.Core" Version="3.0.5" />
-    <PackageReference Include="Yw.Service.Basic.Core" Version="3.0.3" />
-    <PackageReference Include="Yw.Service.Monitor.Core" Version="3.0.5" />
   </ItemGroup>
 
 </Project>
diff --git a/IStation.WebApi.SZJT/Filters/ActionFilter.cs b/IStation.WebApi.SZJT/Filters/ActionFilter.cs
index c12b055..dcd5bc7 100644
--- a/IStation.WebApi.SZJT/Filters/ActionFilter.cs
+++ b/IStation.WebApi.SZJT/Filters/ActionFilter.cs
@@ -16,7 +16,7 @@
         /// <returns></returns>
         public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
         {
-            LogHelper.Info(context.HttpContext.Request.Path);
+            LogHelper.Info($"ActionFilter:{context.HttpContext.Request.Path}");
             await next();
         }
 
diff --git a/IStation.WebApi.SZJT/Filters/AuthorizationFilter.cs b/IStation.WebApi.SZJT/Filters/AuthorizationFilter.cs
index 1abe9df..bc3be63 100644
--- a/IStation.WebApi.SZJT/Filters/AuthorizationFilter.cs
+++ b/IStation.WebApi.SZJT/Filters/AuthorizationFilter.cs
@@ -20,7 +20,7 @@
         /// <returns></returns>
         public async Task OnAuthorizationAsync(AuthorizationFilterContext context)
         {
-            await Task.Run(() => LogHelper.Info(context.HttpContext.Request.Path));
+            await Task.Run(() => LogHelper.Info($"AuthorizationFilter:{context.HttpContext.Request.Path}"));
 
         }
     }
diff --git a/IStation.WebApi.SZJT/Filters/ResultFilter.cs b/IStation.WebApi.SZJT/Filters/ResultFilter.cs
index 8aa49ec..f86b3fd 100644
--- a/IStation.WebApi.SZJT/Filters/ResultFilter.cs
+++ b/IStation.WebApi.SZJT/Filters/ResultFilter.cs
@@ -17,7 +17,7 @@
         /// <returns></returns>
         public async Task OnResultExecutionAsync(ResultExecutingContext context, ResultExecutionDelegate next)
         {
-            LogHelper.Info(context.HttpContext.Request.Path);
+            LogHelper.Info($"ResultFilter:{context.HttpContext.Request.Path}");
             await next();
         }
     }
diff --git a/IStation.WebApi.SZJT/Handlers/JwtHandler.cs b/IStation.WebApi.SZJT/Handlers/JwtHandler.cs
index ff633f9..6b8a7ca 100644
--- a/IStation.WebApi.SZJT/Handlers/JwtHandler.cs
+++ b/IStation.WebApi.SZJT/Handlers/JwtHandler.cs
@@ -2,7 +2,7 @@
 using Furion.DataEncryption;
 using Microsoft.AspNetCore.Authorization;
 using Microsoft.AspNetCore.Http;
-
+using Yw.JWT;
 
 namespace IStation.WebApi
 {
@@ -42,6 +42,19 @@
             // 姝ゅ宸茬粡鑷姩楠岃瘉 Jwt token鐨勬湁鏁堟�т簡锛屾棤闇�鎵嬪姩楠岃瘉
 
             // 妫�鏌ユ潈闄愶紝濡傛灉鏂规硶鏄紓姝ョ殑灏变笉鐢� Task.FromResult 鍖呰9锛岀洿鎺ヤ娇鐢� async/await 鍗冲彲
+
+            Yw.Untity.UserRegister.Regist
+                (
+                    UserManager.CorpID,
+                    UserManager.UserID,
+                    UserManager.AdminType,
+                    UserManager.UserName,
+                    UserManager.UserTag,
+                    UserManager.LoginAccountID,
+                    UserManager.LoginTypeID,
+                    UserManager.ProjectID,
+                    UserManager.SoftwareID
+                );
             return Task.FromResult(CheckAuthorzie(httpContext));
         }
 
@@ -58,5 +71,7 @@
                 return true;
             return true;
         }
+
+
     }
 }
\ No newline at end of file
diff --git a/IStation.WebApi.SZJT/Result/XnRestfulResultProvider.cs b/IStation.WebApi.SZJT/Result/XnRestfulResultProvider.cs
index ccaba95..be2be76 100644
--- a/IStation.WebApi.SZJT/Result/XnRestfulResultProvider.cs
+++ b/IStation.WebApi.SZJT/Result/XnRestfulResultProvider.cs
@@ -10,6 +10,8 @@
 using Yw.Untity;
 using Yw.Application;
 using Yw.Dto;
+using System.Text.Json.Serialization;
+using System.Text.Json;
 
 namespace IStation.WebApi
 {
@@ -134,7 +136,13 @@
         {
             // 璁剧疆鍝嶅簲鐘舵�佺爜
             UnifyContext.SetResponseStatusCodes(context, statusCode, unifyResultSettings);
-
+            var options = new JsonSerializerOptions();
+            options.PropertyNamingPolicy = null; //杩斿洖灞炴�уぇ灏忓啓闂
+            options.ReferenceHandler = ReferenceHandler.IgnoreCycles; //蹇界暐寰幆寮曠敤 浠�.NET 6鏀寔
+            options.Converters.Add(new DateTimeJsonConverter());//鏃堕棿鏍煎紡澶勭悊
+            options.Converters.Add(new DateTimeNullableJsonConverter());//鏃堕棿鏍煎紡澶勭悊
+            options.Converters.Add(new LongJsonConverter());//闀挎暣鍨嬫牸寮忓鐞�
+            options.Converters.Add(new LongNullableJsonConverter());//闀挎暣鍨嬫牸寮忓鐞�
             if (Enum.IsDefined(typeof(HttpStatusCode), (HttpStatusCode)statusCode))
             {
                 await context.Response.WriteAsJsonAsync(new Result<object>
@@ -145,7 +153,7 @@
                     Data = null,
                     Extras = UnifyContext.Take(),
                     Timestamp = DateTime.Now
-                });
+                }, options);
             }
         }
     }

--
Gitblit v1.9.3