tangxu
2023-03-21 f00f5455999503a97b981d161a7564da23b6793f
Application/IStation.Application.Run/monitor_record/mobile/MonitorRecord_MobileController.cs
@@ -34,7 +34,8 @@
            if (list == null || list.Count < 1)
                return default;
            var monitor = new Service.MonitorPoint().GetExSignalWithSignalTypeByID(corpId, monitorPointId);
            var vm_list = list.Select(x => {
            var vm_list = list.Select(x =>
            {
                var signal = monitor.SignalList.Find(t => t.ID == x.SignalID);
                var vm = new MonitorBasicRecordSignalContentMobileDto(x, signal);
                return vm;
@@ -71,12 +72,14 @@
                    var formulaModel = Model.Monitor.ConstCalculationFormulaParas.ToModel(analyModel.FormulaParas);
                    if (formulaModel == null)
                        continue;
                    var signal = monitor.SignalList.First();
                    var record = new Model.MonitorBasicRecord();
                    record.CorpID = monitor.CorpID;
                    record.MonitorPointID = monitor.ID;
                    record.SignalID = signal.ID;
                    record.CorpID = input.CorpID;
                    record.DataTime = DateTime.Now;
                    record.DataValue = formulaModel.Value;
                    record.DataStatus = new List<string>();
                    var signal = monitor.SignalList.First();
                    var vm = new MonitorBasicRecordMobileDto(record, signal);
                    list.Add(vm);
                }
@@ -84,16 +87,16 @@
            var lastRecords = new Service.MonitorRecord().GetLastRecord(corpId, monitorPointIds);
            if (lastRecords == null || lastRecords.Count < 1)
                return list;
                return list;
            var vm_list = lastRecords.Select(x =>
            {
                var monitor = monitorList.Find(t => t.ID == x.MonitorPointID);
                var signal = monitor.SignalList.Find(t => t.ID == x.SignalID);
                var vm = new MonitorBasicRecordMobileDto(x, signal);
                return vm;
            }).ToList();
            }).ToList();
            list.AddRange(vm_list);
            list.AddRange(vm_list);
            return list;
        }
@@ -110,18 +113,48 @@
            var monitorList = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID(corpId, ObjectType.Station, stationId);
            if (monitorList == null || monitorList.Count < 1)
                return default;
            var list = new List<MonitorBasicRecordMobileDto>();
            var virtualMonitorPoints = monitorList.Where(x => x.SourceType == Model.Monitor.eSourceType.Virtual);
            if (virtualMonitorPoints != null && virtualMonitorPoints.Count() > 0)
            {
                foreach (var monitor in virtualMonitorPoints)
                {
                    if (string.IsNullOrEmpty(monitor.SourceParas))
                        continue;
                    var analyModel = Model.Monitor.AnalyseParameters.ToModel(monitor.SourceParas);
                    if (analyModel.FormulaType != Model.Monitor.FormulaType.Calculation_Const)
                        continue;
                    var formulaModel = Model.Monitor.ConstCalculationFormulaParas.ToModel(analyModel.FormulaParas);
                    if (formulaModel == null)
                        continue;
                    var signal = monitor.SignalList.First();
                    var record = new Model.MonitorBasicRecord();
                    record.MonitorPointID = monitor.ID;
                    record.SignalID = signal.ID;
                    record.CorpID = input.CorpID;
                    record.DataTime = DateTime.Now;
                    record.DataValue = formulaModel.Value;
                    record.DataStatus = new List<string>();
                    var vm = new MonitorBasicRecordMobileDto(record, signal);
                    list.Add(vm);
                }
            }
            var monitorPointIds = monitorList.Select(x => x.ID).Distinct().ToList();
            var list = new Service.MonitorRecord().GetLastRecord(corpId, monitorPointIds);
            if (list == null || list.Count < 1)
                return default;
            var vm_list = list.Select(x => {
            var lastRecords = new Service.MonitorRecord().GetLastRecord(corpId, monitorPointIds);
            if (lastRecords == null || lastRecords.Count < 1)
                return list;
            var vm_list = lastRecords.Select(x =>
            {
                var monitor = monitorList.Find(t => t.ID == x.MonitorPointID);
                var signal = monitor.SignalList.Find(t => t.ID == x.SignalID);
                var vm = new MonitorBasicRecordMobileDto(x, signal);
                return vm;
            }).ToList();
            return vm_list;
            list.AddRange(vm_list);
            return list;
        }
        /// <summary>
@@ -133,21 +166,52 @@
        {
            var corpId = input.CorpID;
            var stationId = input.StationID;
            var monitorList = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID(corpId, ObjectType.Station, stationId,eMonitorType.General);
            var monitorList = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID(corpId, ObjectType.Station, stationId, eMonitorType.General);
            if (monitorList == null || monitorList.Count < 1)
                return default;
            var list = new List<MonitorBasicRecordMobileDto>();
            var virtualMonitorPoints = monitorList.Where(x => x.SourceType == Model.Monitor.eSourceType.Virtual);
            if (virtualMonitorPoints != null && virtualMonitorPoints.Count() > 0)
            {
                foreach (var monitor in virtualMonitorPoints)
                {
                    if (string.IsNullOrEmpty(monitor.SourceParas))
                        continue;
                    var analyModel = Model.Monitor.AnalyseParameters.ToModel(monitor.SourceParas);
                    if (analyModel.FormulaType != Model.Monitor.FormulaType.Calculation_Const)
                        continue;
                    var formulaModel = Model.Monitor.ConstCalculationFormulaParas.ToModel(analyModel.FormulaParas);
                    if (formulaModel == null)
                        continue;
                    var signal = monitor.SignalList.First();
                    var record = new Model.MonitorBasicRecord();
                    record.MonitorPointID = monitor.ID;
                    record.SignalID = signal.ID;
                    record.CorpID = input.CorpID;
                    record.DataTime = DateTime.Now;
                    record.DataValue = formulaModel.Value;
                    record.DataStatus = new List<string>();
                    var vm = new MonitorBasicRecordMobileDto(record, signal);
                    list.Add(vm);
                }
            }
            var monitorPointIds = monitorList.Select(x => x.ID).Distinct().ToList();
            var list = new Service.MonitorRecord().GetLastRecord(corpId, monitorPointIds);
            if (list == null || list.Count < 1)
                return default;
            var vm_list = list.Select(x => {
            var lastRecords = new Service.MonitorRecord().GetLastRecord(corpId, monitorPointIds);
            if (lastRecords == null || lastRecords.Count < 1)
                return list;
            var vm_list = lastRecords.Select(x =>
            {
                var monitor = monitorList.Find(t => t.ID == x.MonitorPointID);
                var signal = monitor.SignalList.Find(t => t.ID == x.SignalID);
                var vm = new MonitorBasicRecordMobileDto(x, signal);
                return vm;
            }).ToList();
            return vm_list;
            list.AddRange(vm_list);
            return list;
        }
    }