From 45dd9816ec46d67193825a60a135a8ffd2881769 Mon Sep 17 00:00:00 2001
From: lixiaojun <1287241240@qq.com>
Date: 星期四, 01 十二月 2022 09:54:18 +0800
Subject: [PATCH] test

---
 Application/IStation.Application.Run/data_docking/DataDocking_StandardController.cs |  126 ++++++++++++++++++++++++++++++++++++-----
 1 files changed, 109 insertions(+), 17 deletions(-)

diff --git a/Application/IStation.Application.Run/data_docking/DataDocking_StandardController.cs b/Application/IStation.Application.Run/data_docking/DataDocking_StandardController.cs
index 1c0f469..6d21b01 100644
--- a/Application/IStation.Application.Run/data_docking/DataDocking_StandardController.cs
+++ b/Application/IStation.Application.Run/data_docking/DataDocking_StandardController.cs
@@ -24,6 +24,9 @@
     [ApiDescriptionSettings("Run", Name = "鏍囧噯鏁版嵁瀵规帴", Order = 1100)]
     public class DataDocking_StandardController : IDynamicApiController
     {
+        //閰嶇疆鍒楄〃
+        private static List<Model.DataDockingConfigureExStandard> _standardConfigureList = null;
+
         /// <summary>
         /// 鎻掑叆
         /// </summary>
@@ -31,16 +34,16 @@
         [HttpPost]
         public bool Insert([Required] DataDockingStandardCorpRecordInput input)
         {
-            LogHelper.Info($"瀹㈡埛:{input.CorpId},娉ㄥ唽鐮�:{input.RegisterCode},鎻掑叆鏁版嵁璁板綍:{input.Records.Count}.");
-            var corpration = new Service.Corpration().GetByTerminalId(input.CorpId);
-            if (corpration == null)
+            LogHelper.Info($"娉ㄥ唽鐮�:{input.RegisterCode},鎻掑叆鏁版嵁璁板綍鏁伴噺:{input.Records.Count}.");
+
+            var corpIds = DataDockingCorpHelper.GetCorpIds();
+            if (corpIds == null || corpIds.Count < 1)
             {
-                throw new Exception("鏈绱㈠埌瀹㈡埛淇℃伅锛�");
+                throw new Exception("鏈绱㈠埌瀹㈡埛鏍囪瘑閰嶇疆淇℃伅锛�");
             }
-            var standardConfigureList = DataDockingStandardCacheHelper.GetCache(corpration.ID);
-            if (standardConfigureList == null||standardConfigureList.Count<1)
+            if (_standardConfigureList == null)
             {
-                var configureList = new Service.DataDockingConfigure().GetByCorpID(corpration.ID);
+                var configureList = new Service.DataDockingConfigure().GetByCorpIds(corpIds);
                 if (configureList == null || configureList.Count < 1)
                 {
                     throw new Exception("鏈绱㈠埌鏁版嵁瀵规帴閰嶇疆淇℃伅锛�");
@@ -50,11 +53,9 @@
                 {
                     throw new Exception("鏈绱㈠埌鏁版嵁瀵规帴鏍囧噯閰嶇疆淇℃伅锛�");
                 }
-                standardConfigureList = configureList.Select(x => new Model.DataDockingConfigureExStandard(x)).ToList();
-                DataDockingStandardCacheHelper.SetCache(corpration.ID, standardConfigureList);
+                _standardConfigureList = configureList.Select(x => new Model.DataDockingConfigureExStandard(x)).ToList();
             }
-
-            var standardConfigure = standardConfigureList.Find(x => x.ConfigureParas != null && x.ConfigureParas.RegisterCode == input.RegisterCode);
+            var standardConfigure = _standardConfigureList.Find(x => x.ConfigureParas != null && x.ConfigureParas.RegisterCode == input.RegisterCode);
             if (standardConfigure == null)
             {
                 throw new Exception("鏈绱㈠埌鏁版嵁瀵规帴鏍囧噯閰嶇疆淇℃伅锛�");
@@ -62,12 +63,13 @@
             if (standardConfigure.Mappers == null || standardConfigure.Mappers.Count < 1)
             {
                 throw new Exception("鏁版嵁瀵规帴鏍囧噯閰嶇疆淇℃伅涓紝鏈厤缃湁鏁堟槧灏勫叧绯伙紒");
-            }
+            } 
 
             var records = new List<Model.MonitorDataDockingReceiveRecord>();
+            var inputRecords = input.Records.OrderByDescending(x=>x.RecordTime).ToList();
             foreach (var mapper in standardConfigure.Mappers)
             {
-                var inputRecord = input.Records.Find(x=>x.RecordId==mapper.SignId);
+                var inputRecord = inputRecords.Find(x => x.RecordId == mapper.SignId);
                 if (inputRecord != null)
                 {
                     var record = new Model.MonitorDataDockingReceiveRecord();
@@ -86,15 +88,15 @@
             }
 
             var queueHelper = new RabbitMqQueueHelper();
-            var bol = queueHelper.Push(ConfigHelper.DataDockingQueueName, new Model.MonitorDataDockingCorpRecord()
+            var bol = queueHelper.Push(Settings.Queue.DataDockingQueueName, new Model.MonitorDataDockingCorpRecord()
             {
-                CorpID = corpration.ID,
+                CorpID = standardConfigure.CorpID,
                 ConfigureID = standardConfigure.ID,
                 Records = records
             });
             if (bol)
             {
-                LogHelper.Info($"瀹㈡埛:{corpration.ID},鏍囧噯鏁版嵁瀵规帴閰嶇疆:{standardConfigure.ID},鎺ㄥ叆閫氶亾璁板綍鏁伴噺:{records.Count}.");
+                LogHelper.Info($"瀹㈡埛:{standardConfigure.CorpID},鏍囧噯鏁版嵁瀵规帴閰嶇疆:{standardConfigure.ID},鎺ㄥ叆閫氶亾璁板綍鏁伴噺:{records.Count}.");
                 return true;
             }
             return false;
@@ -102,9 +104,99 @@
 
 
 
+        /// <summary>
+        /// 琛ュ綍澶氭潯
+        /// </summary>
+        //[Route("InsertsSupplement@V1.0")]
+        //[HttpPost]
+        //public bool InsertsSupplement([Required] List<SupplementMonitorRealRecordInput> list)
+        //{
+        //    var corpIds = list.Select(x => x.CorpID).Distinct().ToList();
+        //    if (corpIds.Count > 1)
+        //    {
+        //        return false;
+        //    }
+
+        //    var record_list = new List<Model.MonitorRealRecordPure>();
+        //    foreach (var item in list)
+        //    {
+        //        var monitor = new Service.MonitorPoint().GetExSignalWithSignalTypeByID(item.CorpID, item.MonitorPointID);
+        //        if (monitor == null)
+        //        {
+        //            continue;
+        //        }
+        //        if (monitor.CronType != Model.Monitor.eCronType.Real)
+        //        {
+        //            continue;
+        //        }
+        //        switch (monitor.MonitorType)
+        //        {
+        //            case Model.eMonitorType.General:
+        //                {
+        //                    var signal = monitor.SignalList?.FirstOrDefault();
+        //                    if (signal != null)
+        //                    {
+        //                        var data_status = new List<string>();
+        //                        var data_value = MonitorHandleHelper.Handle(monitor, signal, lastRecord: null, item.SrcTime, item.SrcValue, data_status);
+        //                        if (!string.IsNullOrEmpty(data_value))
+        //                        {
+        //                            var record = new Model.MonitorRealRecordPure();
+        //                            record.CorpID = item.CorpID;
+        //                            record.MonitorPointID = item.MonitorPointID;
+        //                            record.SignalID = signal.ID;
+        //                            record.RecordType = monitor.MonitorType;
+        //                            record.SrcTime = item.SrcTime;
+        //                            record.SrcValue = item.SrcValue;
+        //                            record.DataTime = item.DataTime;
+        //                            record.DataValue = data_value;
+        //                            record.DataStatus = data_status;
+        //                            record_list.Add(record);
+        //                        }
+        //                    }
+        //                }
+        //                break;
+        //            case Model.eMonitorType.Vibration:
+        //                {
+        //                    var sub_record_list = AddMonitorSubRecordInput.ToList(item.SrcValue);
+        //                    if (sub_record_list != null && sub_record_list.Count > 0)
+        //                    {
+        //                        foreach (var sub_record in sub_record_list)
+        //                        {
+        //                            var signal = monitor.SignalList?.FirstOrDefault(x => x.ID == sub_record.SignalID);
+        //                            if (signal == null)
+        //                                continue;
+        //                            var data_status = new List<string>();
+        //                            var data_value = MonitorHandleHelper.Handle(monitor, signal, lastRecord: null, item.SrcTime, sub_record.SrcValue, data_status);
+        //                            if (string.IsNullOrEmpty(data_value))
+        //                                continue;
+        //                            var record = new Model.MonitorRealRecordPure();
+        //                            record.CorpID = item.CorpID;
+        //                            record.MonitorPointID = item.MonitorPointID;
+        //                            record.SignalID = signal.ID;
+        //                            record.RecordType = monitor.MonitorType;
+        //                            record.SrcTime = item.SrcTime;
+        //                            record.SrcValue = item.SrcValue;
+        //                            record.DataTime = item.DataTime;
+        //                            record.DataValue = data_value;
+        //                            record.DataStatus = data_status;
+        //                            record_list.Add(record);
+        //                        }
+        //                    }
+        //                }
+        //                break;
+        //            default: break;
+        //        }
+        //    }
+
+        //    if (record_list.Count < 1)
+        //    {
+        //        return false;
+        //    }
+        //    var bol = _service.InsertsSupplement(record_list);
+        //    return bol;
+        //}
 
 
-      
 
 
 

--
Gitblit v1.9.3