From e4680615a852b2eb115b32c8bcbc3b788c3f9ef4 Mon Sep 17 00:00:00 2001
From: ningshuxia <ningshuxia0927@outlook.com>
Date: 星期一, 14 十一月 2022 15:37:15 +0800
Subject: [PATCH] 新增 修改etaDayRecord 临时接口

---
 Calculation/IStation.Calculation.Eta/standard/logic/EtaStandardLogicDayHelper.cs                   |   44 ++++----
 Service/IStation.Service.Eta/eta_sum/logic/EtaSumLogicRecord.cs                                    |   31 ++++++
 DAL/IStation.DAL.Eta/eta_sum/logic/EtaSumLogicDayRecord.cs                                         |   33 ++++++
 TopShelf/IStation.TopShelf.Eta/Properties/PublishProfiles/FolderProfile.pubxml.user                |    2 
 Application/IStation.Application.Eta/eta_analy_largescreenkpi/EtaAnalyLargeScreenKpi_Controller.cs |   34 ++++++
 Calculation/IStation.Calculation.Eta/standard/logic/EtaStandardLogicHourHelper.cs                  |   44 ++++----
 Application/IStation.Application.Eta/eta_analy_largescreenkpi/helper/EtaSumLogicDayHelper.cs       |   73 ++++++++++++++
 Entry/IStation.WebApi.Entry/Properties/PublishProfiles/FolderProfile.pubxml.user                   |    2 
 8 files changed, 214 insertions(+), 49 deletions(-)

diff --git a/Application/IStation.Application.Eta/eta_analy_largescreenkpi/EtaAnalyLargeScreenKpi_Controller.cs b/Application/IStation.Application.Eta/eta_analy_largescreenkpi/EtaAnalyLargeScreenKpi_Controller.cs
index cf33fd7..c68568f 100644
--- a/Application/IStation.Application.Eta/eta_analy_largescreenkpi/EtaAnalyLargeScreenKpi_Controller.cs
+++ b/Application/IStation.Application.Eta/eta_analy_largescreenkpi/EtaAnalyLargeScreenKpi_Controller.cs
@@ -508,13 +508,43 @@
 
             #endregion
 
-            return vm;
-
+            return vm; 
         }
 
 
+        /// <summary>
+        /// 淇涓氬姟鍖哄煙鏃ユ祴鐐规暟鎹� (涓存椂)
+        /// </summary>
+        [Route("RepairEtaDayRecordList")]
+        [HttpGet]
+        public bool RepairEtaDayRecordList([FromQuery] long CorpID, long LogicAreaID, DateTime StartTime, DateTime EndTime)
+        {
+            var corpId = CorpID;
+            var logicAreaId = LogicAreaID;
 
+            var service_eta = new Service.EtaLogicRealRecord();
+            var service_eta_sum = new Service.EtaSumLogicRecord();
 
+            var spanDays = (EndTime - StartTime).TotalDays;
+            var result = false;
+            for (int i = 0; i <= spanDays; i++)
+            {
+                var currentTime = StartTime.AddDays(i);
+                var realRecordList = service_eta.GetByObjectOfDay(corpId, ObjectType.LogicArea, logicAreaId, currentTime);
+                var cureentDayRecord = service_eta_sum.GetDayByObjectOfDay(corpId, ObjectType.LogicArea, logicAreaId, currentTime);
+                var record = EtaSumLogicDayHelper.Sum(corpId, ObjectType.LogicArea, logicAreaId, currentTime, realRecordList);
+                if (cureentDayRecord == null)
+                {
+                    result = service_eta_sum.Insert(record) > 0;
+                }
+                else
+                {
+                    result = service_eta_sum.Update(record);
+                }
+            }
+
+            return result;
+        }
 
 
 
diff --git a/Application/IStation.Application.Eta/eta_analy_largescreenkpi/helper/EtaSumLogicDayHelper.cs b/Application/IStation.Application.Eta/eta_analy_largescreenkpi/helper/EtaSumLogicDayHelper.cs
new file mode 100644
index 0000000..520c0f3
--- /dev/null
+++ b/Application/IStation.Application.Eta/eta_analy_largescreenkpi/helper/EtaSumLogicDayHelper.cs
@@ -0,0 +1,73 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace IStation.Application
+{
+    /// <summary>
+    /// 鑳芥晥姹囨�讳笟鍔℃棩杈呭姪绫�
+    /// </summary>
+    public class EtaSumLogicDayHelper
+    {
+
+        /// <summary>
+        /// 姹囨��
+        /// </summary>
+        public static Model.EtaSumLogicDayRecord Sum
+            (
+                long CorpID,
+                string ObjectType,
+                long ObjectID,
+                DateTime Day,
+                IEnumerable<Model.EtaLogicRealRecord> list
+            )
+        {
+            if (list == null || list.Count() < 1)
+                return default;
+            var normal_list = list.Where(x => x.AnalyStatus == Model.Eta.eAnalyStatus.Normal).ToList();
+
+            var model = new Model.EtaSumLogicDayRecord();
+            model.CorpID = CorpID;
+            model.ObjectType = ObjectType;
+            model.ObjectID = ObjectID;
+            model.DataDay = Day.Date;
+            model.DataTime = Day;
+            model.Qt = list.Sum(x => (x.Qa ?? 0) * x.Duration) / 3600f;
+            model.Dt = list.Sum(x => (x.Pa ?? 0) * x.Duration) / 3600f;
+            model.PointCount = list.Count();
+
+            if (normal_list.Count > 0)
+            {
+                model.Qmin = normal_list.Min(x => x.Qa.Value);
+                model.Qmax = normal_list.Max(x => x.Qa.Value);
+                model.Qavg = normal_list.Average(x => x.Qa.Value);
+
+                model.Hmin = normal_list.Min(x => x.Ha.Value);
+                model.Hmax = normal_list.Max(x => x.Ha.Value);
+                model.Havg = normal_list.Average(x => x.Ha.Value);
+
+                model.Emin = normal_list.Min(x => x.Ea.Value);
+                model.Emax = normal_list.Max(x => x.Ea.Value);
+                model.Eavg = normal_list.Average(x => x.Ea.Value);
+
+                model.Pmin = normal_list.Min(x => x.Pa.Value);
+                model.Pmax = normal_list.Max(x => x.Pa.Value);
+                model.Pavg = normal_list.Average(x => x.Pa.Value);
+
+                model.WPmin = normal_list.Min(x => x.WPa.Value);
+                model.WPmax = normal_list.Max(x => x.WPa.Value);
+                model.WPavg = normal_list.Average(x => x.WPa.Value);
+
+                model.UWPmin = normal_list.Min(x => x.UWPa.Value);
+                model.UWPmax = normal_list.Max(x => x.UWPa.Value);
+                model.UWPavg = normal_list.Average(x => x.UWPa.Value);
+            }
+
+            return model;
+
+
+        }
+    }
+}
diff --git a/Calculation/IStation.Calculation.Eta/standard/logic/EtaStandardLogicDayHelper.cs b/Calculation/IStation.Calculation.Eta/standard/logic/EtaStandardLogicDayHelper.cs
index 6c868ed..86318f5 100644
--- a/Calculation/IStation.Calculation.Eta/standard/logic/EtaStandardLogicDayHelper.cs
+++ b/Calculation/IStation.Calculation.Eta/standard/logic/EtaStandardLogicDayHelper.cs
@@ -51,34 +51,34 @@
                     record.LowerLimit = configure.LowerLimit;
                     record.UpperLimit = configure.UpperLimit;
 
-                    record.Qmin = normal_limit_list.Min(t => t.Qa.Value);
-                    record.Qmax = normal_limit_list.Max(t => t.Qa.Value);
-                    record.Qavg = normal_limit_list.Average(t => t.Qa.Value);
+                    record.Qmin = normal_limit_list.Where(x => x.Qa.HasValue).Min(t => t.Qa.Value);
+                    record.Qmax = normal_limit_list.Where(x => x.Qa.HasValue).Max(t => t.Qa.Value);
+                    record.Qavg = normal_limit_list.Where(x => x.Qa.HasValue).Average(t => t.Qa.Value);
 
-                    record.Emin = normal_limit_list.Min(t => t.Ea.Value);
-                    record.Emax = normal_limit_list.Max(t => t.Ea.Value);
-                    record.Eavg = normal_limit_list.Average(t => t.Ea.Value);
+                    record.Emin = normal_limit_list.Where(x => x.Ea.HasValue).Min(t => t.Ea.Value);
+                    record.Emax = normal_limit_list.Where(x => x.Ea.HasValue).Max(t => t.Ea.Value);
+                    record.Eavg = normal_limit_list.Where(x => x.Ea.HasValue).Average(t => t.Ea.Value);
 
-                    record.Hmin = normal_limit_list.Min(t => t.Ha.Value);
-                    record.Hmax = normal_limit_list.Max(t => t.Ha.Value);
-                    record.Havg = normal_limit_list.Average(t => t.Ha.Value);
+                    record.Hmin = normal_limit_list.Where(x => x.Ha.HasValue).Min(t => t.Ha.Value);
+                    record.Hmax = normal_limit_list.Where(x => x.Ha.HasValue).Max(t => t.Ha.Value);
+                    record.Havg = normal_limit_list.Where(x => x.Ha.HasValue).Average(t => t.Ha.Value);
 
-                    record.Pmin = normal_limit_list.Min(t => t.Pa.Value);
-                    record.Pmax = normal_limit_list.Max(t => t.Pa.Value);
-                    record.Pavg = normal_limit_list.Average(t => t.Pa.Value);
+                    record.Pmin = normal_limit_list.Where(x=>x.Pa.HasValue).Min(t => t.Pa.Value);
+                    record.Pmax = normal_limit_list.Where(x => x.Pa.HasValue).Max(t => t.Pa.Value);
+                    record.Pavg = normal_limit_list.Where(x => x.Pa.HasValue).Average(t => t.Pa.Value);
 
-                    record.WPmin = normal_limit_list.Min(t => t.WPa.Value);
-                    record.WPmax = normal_limit_list.Max(t => t.WPa.Value);
-                    record.WPavg = normal_limit_list.Average(t => t.WPa.Value);
+                    record.WPmin = normal_limit_list.Where(x => x.WPa.HasValue).Min(t => t.WPa.Value);
+                    record.WPmax = normal_limit_list.Where(x => x.WPa.HasValue).Max(t => t.WPa.Value);
+                    record.WPavg = normal_limit_list.Where(x => x.WPa.HasValue).Average(t => t.WPa.Value);
 
-                    record.UWPmin = normal_limit_list.Min(t => t.UWPa.Value);
-                    record.UWPmax = normal_limit_list.Max(t => t.UWPa.Value);
-                    record.UWPavg = normal_limit_list.Average(t => t.UWPa.Value);
+                    record.UWPmin = normal_limit_list.Where(x => x.UWPa.HasValue).Min(t => t.UWPa.Value);
+                    record.UWPmax = normal_limit_list.Where(x => x.UWPa.HasValue).Max(t => t.UWPa.Value);
+                    record.UWPavg = normal_limit_list.Where(x => x.UWPa.HasValue).Average(t => t.UWPa.Value);
 
-                    record.Qt = normal_limit_list.Sum(x => x.Qa.Value * x.Duration) / 3600f;
-                    record.Qtt = normal_list.Sum(x => x.Qa.Value * x.Duration) / 3600f;
-                    record.Dt = normal_limit_list.Sum(x => x.Pa.Value * x.Duration) / 3600f;
-                    record.Dtt = normal_list.Sum(x => x.Pa.Value * x.Duration) / 3600f;
+                    record.Qt = normal_limit_list.Where(x => x.Qa.HasValue).Sum(x => x.Qa.Value * x.Duration) / 3600f;
+                    record.Qtt = normal_list.Where(x => x.Qa.HasValue).Sum(x => x.Qa.Value * x.Duration) / 3600f;
+                    record.Dt = normal_limit_list.Where(x => x.Pa.HasValue).Sum(x => x.Pa.Value * x.Duration) / 3600f;
+                    record.Dtt = normal_list.Where(x => x.Pa.HasValue).Sum(x => x.Pa.Value * x.Duration) / 3600f;
 
                     record.PointCount = normal_limit_list.Count;
                     record.TotalPointCount = normal_list.Count();
diff --git a/Calculation/IStation.Calculation.Eta/standard/logic/EtaStandardLogicHourHelper.cs b/Calculation/IStation.Calculation.Eta/standard/logic/EtaStandardLogicHourHelper.cs
index 4ef6274..b23169d 100644
--- a/Calculation/IStation.Calculation.Eta/standard/logic/EtaStandardLogicHourHelper.cs
+++ b/Calculation/IStation.Calculation.Eta/standard/logic/EtaStandardLogicHourHelper.cs
@@ -60,34 +60,34 @@
                             record.LowerLimit = configure.LowerLimit;
                             record.UpperLimit = configure.UpperLimit;
 
-                            record.Qmin = normal_limit_hour_list.Min(t => t.Qa.Value);
-                            record.Qmax = normal_limit_hour_list.Max(t => t.Qa.Value);
-                            record.Qavg = normal_limit_hour_list.Average(t => t.Qa.Value);
+                            record.Qmin = normal_limit_hour_list.Where(x=>x.Qa.HasValue).Min(t => t.Qa.Value);
+                            record.Qmax = normal_limit_hour_list.Where(x => x.Qa.HasValue).Max(t => t.Qa.Value);
+                            record.Qavg = normal_limit_hour_list.Where(x => x.Qa.HasValue).Average(t => t.Qa.Value);
 
-                            record.Emin = normal_limit_hour_list.Min(t => t.Ea.Value);
-                            record.Emax = normal_limit_hour_list.Max(t => t.Ea.Value);
-                            record.Eavg = normal_limit_hour_list.Average(t => t.Ea.Value);
+                            record.Emin = normal_limit_hour_list.Where(x => x.Ea.HasValue).Min(t => t.Ea.Value);
+                            record.Emax = normal_limit_hour_list.Where(x => x.Ea.HasValue).Max(t => t.Ea.Value);
+                            record.Eavg = normal_limit_hour_list.Where(x => x.Ea.HasValue).Average(t => t.Ea.Value);
 
-                            record.Hmin = normal_limit_hour_list.Min(t => t.Ha.Value);
-                            record.Hmax = normal_limit_hour_list.Max(t => t.Ha.Value);
-                            record.Havg = normal_limit_hour_list.Average(t => t.Ha.Value);
+                            record.Hmin = normal_limit_hour_list.Where(x => x.Ha.HasValue).Min(t => t.Ha.Value);
+                            record.Hmax = normal_limit_hour_list.Where(x => x.Ha.HasValue).Max(t => t.Ha.Value);
+                            record.Havg = normal_limit_hour_list.Where(x => x.Ha.HasValue).Average(t => t.Ha.Value);
 
-                            record.Pmin = normal_limit_hour_list.Min(t => t.Pa.Value);
-                            record.Pmax = normal_limit_hour_list.Max(t => t.Pa.Value);
-                            record.Pavg = normal_limit_hour_list.Average(t => t.Pa.Value);
+                            record.Pmin = normal_limit_hour_list.Where(x => x.Pa.HasValue).Min(t => t.Pa.Value);
+                            record.Pmax = normal_limit_hour_list.Where(x => x.Pa.HasValue).Max(t => t.Pa.Value);
+                            record.Pavg = normal_limit_hour_list.Where(x => x.Pa.HasValue).Average(t => t.Pa.Value);
 
-                            record.WPmin = normal_limit_hour_list.Min(t => t.WPa.Value);
-                            record.WPmax = normal_limit_hour_list.Max(t => t.WPa.Value);
-                            record.WPavg = normal_limit_hour_list.Average(t => t.WPa.Value);
+                            record.WPmin = normal_limit_hour_list.Where(x => x.WPa.HasValue).Min(t => t.WPa.Value);
+                            record.WPmax = normal_limit_hour_list.Where(x => x.WPa.HasValue).Max(t => t.WPa.Value);
+                            record.WPavg = normal_limit_hour_list.Where(x => x.WPa.HasValue).Average(t => t.WPa.Value);
 
-                            record.UWPmin = normal_limit_hour_list.Min(t => t.UWPa.Value);
-                            record.UWPmax = normal_limit_hour_list.Max(t => t.UWPa.Value);
-                            record.UWPavg = normal_limit_hour_list.Average(t => t.UWPa.Value);
+                            record.UWPmin = normal_limit_hour_list.Where(x => x.UWPa.HasValue).Min(t => t.UWPa.Value);
+                            record.UWPmax = normal_limit_hour_list.Where(x => x.UWPa.HasValue).Max(t => t.UWPa.Value);
+                            record.UWPavg = normal_limit_hour_list.Where(x => x.UWPa.HasValue).Average(t => t.UWPa.Value);
 
-                            record.Qt = normal_limit_hour_list.Sum(x => x.Qa.Value * x.Duration) / 3600f;
-                            record.Qtt = run_normal_hour_list.Sum(x => x.Qa.Value * x.Duration) / 3600f;
-                            record.Dt = normal_limit_hour_list.Sum(x => x.Pa.Value * x.Duration) / 3600f;
-                            record.Dtt = run_normal_hour_list.Sum(x => x.Pa.Value * x.Duration) / 3600f;
+                            record.Qt = normal_limit_hour_list.Where(x => x.Qa.HasValue).Sum(x => x.Qa.Value * x.Duration) / 3600f;
+                            record.Qtt = run_normal_hour_list.Where(x => x.Qa.HasValue).Sum(x => x.Qa.Value * x.Duration) / 3600f;
+                            record.Dt = normal_limit_hour_list.Where(x => x.Pa.HasValue).Sum(x => x.Pa.Value * x.Duration) / 3600f;
+                            record.Dtt = run_normal_hour_list.Where(x => x.Pa.HasValue).Sum(x => x.Pa.Value * x.Duration) / 3600f;
 
                             record.PointCount = normal_limit_hour_list.Count;
                             record.TotalPointCount = run_normal_hour_list.Count;
diff --git a/DAL/IStation.DAL.Eta/eta_sum/logic/EtaSumLogicDayRecord.cs b/DAL/IStation.DAL.Eta/eta_sum/logic/EtaSumLogicDayRecord.cs
index 23020cb..de8d5d7 100644
--- a/DAL/IStation.DAL.Eta/eta_sum/logic/EtaSumLogicDayRecord.cs
+++ b/DAL/IStation.DAL.Eta/eta_sum/logic/EtaSumLogicDayRecord.cs
@@ -88,7 +88,7 @@
             {
                 return db.Queryable<Entity.EtaSumLogicDayRecord>()
                             .Where(x => x.CorpID == CorpID && x.ObjectType == ObjectType && x.ObjectID == ObjectID)
-                            .Where(x => x.DataDay >=StartDay.Date&&x.DataDay<=EndDay.Date)
+                            .Where(x => x.DataDay >= StartDay.Date && x.DataDay <= EndDay.Date)
                             .ToList();
             }
         }
@@ -110,7 +110,38 @@
             }
         }
 
+        #region Update
 
+        /// <summary>
+        /// 鏇存柊
+        /// </summary>
+        public override bool Update(Entity.EtaSumLogicDayRecord entity)
+        {
+            if (entity == null)
+                return false;
+            using (SqlSugarClient db = new SqlSugarClient(ConnectionConfig))
+            {
+                return db.Updateable(entity).IgnoreColumns(x => x.DataTime).Where(x => x.ID == entity.ID).ExecuteCommand() > 0;
+            }
+        }
+
+        /// <summary>
+        /// 鎵归噺鏇存柊
+        /// </summary>
+        public override bool Updates(List<Entity.EtaSumLogicDayRecord> list)
+        {
+            if (list == null || list.Count < 1)
+                return false;
+            var corpIds = list.Select(x => x.CorpID).Distinct().ToList();
+            if (corpIds.Count() != 1 || corpIds[0] < 1)
+                return false;
+            using (SqlSugarClient db = new SqlSugarClient(ConnectionConfig))
+            {
+                return db.Updateable(list).IgnoreColumns(x => x.DataTime).WhereColumns(it => new { it.ID }).ExecuteCommand() > 0;
+            }
+        }
+
+        #endregion
 
     }
 }
diff --git a/Entry/IStation.WebApi.Entry/Properties/PublishProfiles/FolderProfile.pubxml.user b/Entry/IStation.WebApi.Entry/Properties/PublishProfiles/FolderProfile.pubxml.user
index 6074316..51bfae2 100644
--- a/Entry/IStation.WebApi.Entry/Properties/PublishProfiles/FolderProfile.pubxml.user
+++ b/Entry/IStation.WebApi.Entry/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -5,7 +5,7 @@
 <Project>
   <PropertyGroup>
     <_PublishTargetUrl>D:\WorkData\IStation\IStationV4.1\Core\Service.V4.1\Entry\IStation.WebApi.Entry\bin\Release\net6.0\publish\</_PublishTargetUrl>
-    <History>True|2022-11-11T05:19:08.1283593Z;True|2022-11-09T22:12:02.6483295+08:00;True|2022-11-09T21:11:04.3739799+08:00;True|2022-11-09T21:06:00.4538306+08:00;True|2022-11-09T20:55:34.2803958+08:00;True|2022-11-09T20:17:02.9468337+08:00;True|2022-11-09T18:07:35.3930811+08:00;True|2022-11-09T18:05:51.4828275+08:00;True|2022-11-09T16:17:12.1733545+08:00;True|2022-11-09T11:43:22.1152393+08:00;True|2022-11-04T11:18:49.1736708+08:00;False|2022-11-04T11:16:30.1928291+08:00;False|2022-11-04T11:15:20.2275455+08:00;False|2022-11-04T11:14:39.1289337+08:00;True|2022-11-04T11:04:37.8317148+08:00;True|2022-11-03T14:34:55.1009241+08:00;True|2022-11-03T14:16:29.1563357+08:00;True|2022-11-03T13:46:10.8366547+08:00;True|2022-11-03T11:48:24.5399936+08:00;True|2022-10-31T14:36:59.4971398+08:00;True|2022-10-28T13:58:42.2473049+08:00;True|2022-10-28T13:42:58.7180735+08:00;True|2022-10-28T12:56:06.9517417+08:00;True|2022-10-28T09:37:04.8336241+08:00;True|2022-10-27T16:13:52.0290129+08:00;True|2022-10-27T14:51:12.0416021+08:00;True|2022-10-27T14:46:01.8195700+08:00;True|2022-10-27T14:38:00.5077582+08:00;True|2022-10-27T14:28:16.2348825+08:00;False|2022-10-27T14:27:49.2720060+08:00;False|2022-10-27T14:27:25.1445739+08:00;True|2022-10-26T11:27:54.4483138+08:00;True|2022-10-26T11:19:37.6322046+08:00;True|2022-10-26T11:10:05.4129456+08:00;True|2022-10-25T16:33:32.7872520+08:00;True|2022-10-24T16:12:49.4291001+08:00;True|2022-10-24T16:10:25.3757944+08:00;True|2022-10-24T14:04:51.7783988+08:00;True|2022-10-21T18:51:32.0221235+08:00;True|2022-10-21T18:35:12.1463858+08:00;True|2022-10-21T09:54:19.2138550+08:00;True|2022-10-21T09:38:21.1672347+08:00;True|2022-10-19T12:04:59.9103579+08:00;True|2022-10-19T11:57:45.1000513+08:00;True|2022-10-19T11:49:03.6494799+08:00;True|2022-10-19T11:06:22.4198711+08:00;True|2022-10-18T11:17:20.1435537+08:00;True|2022-10-18T09:08:58.6802639+08:00;True|2022-10-17T16:33:12.8912333+08:00;True|2022-10-17T14:23:10.0264671+08:00;True|2022-10-17T14:16:07.3590282+08:00;True|2022-10-17T11:53:21.9425089+08:00;True|2022-10-17T11:45:51.9336429+08:00;True|2022-10-14T14:37:15.6323508+08:00;True|2022-10-11T09:01:44.5831439+08:00;True|2022-10-09T14:03:43.6568874+08:00;True|2022-10-09T11:15:56.2934983+08:00;True|2022-10-09T09:39:28.1074512+08:00;True|2022-10-08T18:45:23.9581502+08:00;True|2022-10-08T18:35:18.5574217+08:00;True|2022-10-08T16:12:04.2903137+08:00;True|2022-10-08T15:59:54.5588351+08:00;True|2022-10-08T15:55:01.2711550+08:00;True|2022-10-08T15:19:08.5487617+08:00;True|2022-10-08T15:11:55.8626990+08:00;False|2022-10-08T15:02:33.5639703+08:00;True|2022-10-08T09:23:21.6592006+08:00;True|2022-10-07T15:35:37.7532304+08:00;True|2022-10-07T15:04:51.9161653+08:00;False|2022-10-07T14:58:32.8816319+08:00;False|2022-10-07T14:54:55.4175944+08:00;False|2022-10-07T14:52:46.7215376+08:00;False|2022-10-07T14:51:14.0508027+08:00;False|2022-10-07T14:49:57.6007572+08:00;False|2022-10-07T14:48:56.6085134+08:00;False|2022-10-07T14:47:54.7931315+08:00;True|2022-09-22T13:35:52.6495568+08:00;True|2022-09-22T13:19:28.3609130+08:00;True|2022-09-22T09:45:29.7312648+08:00;True|2022-09-21T17:11:30.6881814+08:00;True|2022-09-15T16:32:44.8582766+08:00;True|2022-09-04T14:21:59.9156800+08:00;True|2022-09-03T18:27:37.0001278+08:00;True|2022-08-29T10:26:27.0532192+08:00;True|2022-08-24T13:40:25.0333335+08:00;True|2022-08-23T10:20:23.3347504+08:00;True|2022-08-19T15:24:53.5488496+08:00;False|2022-08-19T15:24:15.4430294+08:00;True|2022-08-19T11:51:17.0556654+08:00;True|2022-08-19T11:45:03.9834334+08:00;True|2022-08-19T10:56:27.1184994+08:00;True|2022-08-18T16:31:26.4673400+08:00;True|2022-08-18T10:37:50.8776926+08:00;True|2022-08-17T17:10:09.3527873+08:00;True|2022-08-17T16:04:30.4487827+08:00;True|2022-08-15T13:35:48.4976973+08:00;True|2022-08-15T13:35:34.4046702+08:00;True|2022-08-15T13:31:44.3380038+08:00;True|2022-08-15T13:07:03.2183172+08:00;True|2022-07-25T15:14:36.3659352+08:00;</History>
+    <History>True|2022-11-14T01:52:42.7169668Z;True|2022-11-11T13:19:08.1283593+08:00;True|2022-11-09T22:12:02.6483295+08:00;True|2022-11-09T21:11:04.3739799+08:00;True|2022-11-09T21:06:00.4538306+08:00;True|2022-11-09T20:55:34.2803958+08:00;True|2022-11-09T20:17:02.9468337+08:00;True|2022-11-09T18:07:35.3930811+08:00;True|2022-11-09T18:05:51.4828275+08:00;True|2022-11-09T16:17:12.1733545+08:00;True|2022-11-09T11:43:22.1152393+08:00;True|2022-11-04T11:18:49.1736708+08:00;False|2022-11-04T11:16:30.1928291+08:00;False|2022-11-04T11:15:20.2275455+08:00;False|2022-11-04T11:14:39.1289337+08:00;True|2022-11-04T11:04:37.8317148+08:00;True|2022-11-03T14:34:55.1009241+08:00;True|2022-11-03T14:16:29.1563357+08:00;True|2022-11-03T13:46:10.8366547+08:00;True|2022-11-03T11:48:24.5399936+08:00;True|2022-10-31T14:36:59.4971398+08:00;True|2022-10-28T13:58:42.2473049+08:00;True|2022-10-28T13:42:58.7180735+08:00;True|2022-10-28T12:56:06.9517417+08:00;True|2022-10-28T09:37:04.8336241+08:00;True|2022-10-27T16:13:52.0290129+08:00;True|2022-10-27T14:51:12.0416021+08:00;True|2022-10-27T14:46:01.8195700+08:00;True|2022-10-27T14:38:00.5077582+08:00;True|2022-10-27T14:28:16.2348825+08:00;False|2022-10-27T14:27:49.2720060+08:00;False|2022-10-27T14:27:25.1445739+08:00;True|2022-10-26T11:27:54.4483138+08:00;True|2022-10-26T11:19:37.6322046+08:00;True|2022-10-26T11:10:05.4129456+08:00;True|2022-10-25T16:33:32.7872520+08:00;True|2022-10-24T16:12:49.4291001+08:00;True|2022-10-24T16:10:25.3757944+08:00;True|2022-10-24T14:04:51.7783988+08:00;True|2022-10-21T18:51:32.0221235+08:00;True|2022-10-21T18:35:12.1463858+08:00;True|2022-10-21T09:54:19.2138550+08:00;True|2022-10-21T09:38:21.1672347+08:00;True|2022-10-19T12:04:59.9103579+08:00;True|2022-10-19T11:57:45.1000513+08:00;True|2022-10-19T11:49:03.6494799+08:00;True|2022-10-19T11:06:22.4198711+08:00;True|2022-10-18T11:17:20.1435537+08:00;True|2022-10-18T09:08:58.6802639+08:00;True|2022-10-17T16:33:12.8912333+08:00;True|2022-10-17T14:23:10.0264671+08:00;True|2022-10-17T14:16:07.3590282+08:00;True|2022-10-17T11:53:21.9425089+08:00;True|2022-10-17T11:45:51.9336429+08:00;True|2022-10-14T14:37:15.6323508+08:00;True|2022-10-11T09:01:44.5831439+08:00;True|2022-10-09T14:03:43.6568874+08:00;True|2022-10-09T11:15:56.2934983+08:00;True|2022-10-09T09:39:28.1074512+08:00;True|2022-10-08T18:45:23.9581502+08:00;True|2022-10-08T18:35:18.5574217+08:00;True|2022-10-08T16:12:04.2903137+08:00;True|2022-10-08T15:59:54.5588351+08:00;True|2022-10-08T15:55:01.2711550+08:00;True|2022-10-08T15:19:08.5487617+08:00;True|2022-10-08T15:11:55.8626990+08:00;False|2022-10-08T15:02:33.5639703+08:00;True|2022-10-08T09:23:21.6592006+08:00;True|2022-10-07T15:35:37.7532304+08:00;True|2022-10-07T15:04:51.9161653+08:00;False|2022-10-07T14:58:32.8816319+08:00;False|2022-10-07T14:54:55.4175944+08:00;False|2022-10-07T14:52:46.7215376+08:00;False|2022-10-07T14:51:14.0508027+08:00;False|2022-10-07T14:49:57.6007572+08:00;False|2022-10-07T14:48:56.6085134+08:00;False|2022-10-07T14:47:54.7931315+08:00;True|2022-09-22T13:35:52.6495568+08:00;True|2022-09-22T13:19:28.3609130+08:00;True|2022-09-22T09:45:29.7312648+08:00;True|2022-09-21T17:11:30.6881814+08:00;True|2022-09-15T16:32:44.8582766+08:00;True|2022-09-04T14:21:59.9156800+08:00;True|2022-09-03T18:27:37.0001278+08:00;True|2022-08-29T10:26:27.0532192+08:00;True|2022-08-24T13:40:25.0333335+08:00;True|2022-08-23T10:20:23.3347504+08:00;True|2022-08-19T15:24:53.5488496+08:00;False|2022-08-19T15:24:15.4430294+08:00;True|2022-08-19T11:51:17.0556654+08:00;True|2022-08-19T11:45:03.9834334+08:00;True|2022-08-19T10:56:27.1184994+08:00;True|2022-08-18T16:31:26.4673400+08:00;True|2022-08-18T10:37:50.8776926+08:00;True|2022-08-17T17:10:09.3527873+08:00;True|2022-08-17T16:04:30.4487827+08:00;True|2022-08-15T13:35:48.4976973+08:00;True|2022-08-15T13:35:34.4046702+08:00;True|2022-08-15T13:31:44.3380038+08:00;True|2022-08-15T13:07:03.2183172+08:00;</History>
     <LastFailureDetails />
   </PropertyGroup>
 </Project>
\ No newline at end of file
diff --git a/Service/IStation.Service.Eta/eta_sum/logic/EtaSumLogicRecord.cs b/Service/IStation.Service.Eta/eta_sum/logic/EtaSumLogicRecord.cs
index 823fda6..b4d63f3 100644
--- a/Service/IStation.Service.Eta/eta_sum/logic/EtaSumLogicRecord.cs
+++ b/Service/IStation.Service.Eta/eta_sum/logic/EtaSumLogicRecord.cs
@@ -248,6 +248,36 @@
 
         #endregion
 
+        #region Update
+
+        /// <summary>
+        /// 鏇存柊涓�鏉�
+        /// </summary>
+        public bool Update(Model.EtaSumLogicDayRecord model)
+        {
+            if (model == null)
+                return default;
+            var dal = new DAL.EtaSumLogicDayRecord();
+            var entity = Model2Entity(model);
+            var bol = dal.Update(entity);
+            return bol;
+        }
+
+
+        /// <summary>
+        /// 鎵归噺鏇存柊
+        /// </summary>
+        public bool Updates(IEnumerable<Model.EtaSumLogicDayRecord> list)
+        {
+            if (list == null || list.Count() < 1)
+                return default;
+            var dal = new DAL.EtaSumLogicDayRecord();
+            var entity_list = Model2Entities(list.ToList());
+            var bol = dal.Updates(entity_list);
+            return bol;
+        }
+
+        #endregion
         #endregion
 
         #region 鍛ㄨ褰�
@@ -323,6 +353,7 @@
         }
 
         #endregion
+         
         #endregion
 
         #region 鏈堣褰�
diff --git a/TopShelf/IStation.TopShelf.Eta/Properties/PublishProfiles/FolderProfile.pubxml.user b/TopShelf/IStation.TopShelf.Eta/Properties/PublishProfiles/FolderProfile.pubxml.user
index 3e102f9..44173b1 100644
--- a/TopShelf/IStation.TopShelf.Eta/Properties/PublishProfiles/FolderProfile.pubxml.user
+++ b/TopShelf/IStation.TopShelf.Eta/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -4,7 +4,7 @@
 -->
 <Project>
   <PropertyGroup>
-    <History>True|2022-11-14T01:20:45.3632848Z;True|2022-11-14T09:12:57.7773033+08:00;True|2022-11-11T16:02:41.8023925+08:00;True|2022-11-11T13:11:32.1354860+08:00;False|2022-11-11T13:10:57.8984858+08:00;False|2022-11-11T13:10:35.7974529+08:00;True|2022-11-10T17:11:34.6215190+08:00;True|2022-11-09T22:14:08.4689242+08:00;True|2022-11-09T18:11:19.2987148+08:00;True|2022-11-08T14:50:42.1914017+08:00;True|2022-10-31T15:35:55.6311717+08:00;True|2022-10-31T15:32:50.5265543+08:00;True|2022-10-31T14:30:51.7199756+08:00;True|2022-10-31T13:52:26.4575268+08:00;True|2022-10-26T12:02:14.4228296+08:00;True|2022-10-25T16:32:34.6113737+08:00;True|2022-10-25T16:29:35.7980293+08:00;True|2022-10-24T14:01:39.4175627+08:00;True|2022-10-21T18:55:37.1960388+08:00;True|2022-10-21T18:37:47.3142064+08:00;True|2022-10-19T11:11:19.9748484+08:00;True|2022-10-18T14:53:08.5305852+08:00;True|2022-10-18T09:19:14.0442732+08:00;True|2022-10-17T11:35:09.6040323+08:00;True|2022-10-17T10:52:29.3004702+08:00;True|2022-10-17T10:34:49.0817739+08:00;True|2022-10-17T09:35:57.5450395+08:00;True|2022-10-17T09:19:39.4916147+08:00;True|2022-10-14T14:45:04.5959774+08:00;True|2022-10-08T13:42:45.7291582+08:00;True|2022-10-08T13:31:33.0167880+08:00;True|2022-10-08T11:09:08.8028943+08:00;True|2022-10-08T10:04:57.3573208+08:00;True|2022-09-28T16:12:17.1471133+08:00;True|2022-09-28T15:11:17.3924597+08:00;True|2022-09-28T15:07:24.1542712+08:00;True|2022-09-28T15:01:05.9450589+08:00;True|2022-09-28T13:14:26.7038834+08:00;True|2022-09-27T16:32:29.0286484+08:00;True|2022-09-27T14:15:56.0426476+08:00;True|2022-09-26T16:16:45.3404775+08:00;True|2022-09-26T15:50:09.2992619+08:00;True|2022-09-26T15:47:20.6418528+08:00;True|2022-09-25T16:30:19.2053341+08:00;True|2022-09-22T17:08:02.6481758+08:00;True|2022-09-22T10:24:35.0635421+08:00;True|2022-09-16T15:41:38.0594228+08:00;True|2022-09-16T15:23:44.1558393+08:00;True|2022-07-01T21:10:56.8914203+08:00;True|2022-07-01T15:16:47.4260591+08:00;True|2022-06-29T09:41:10.5136306+08:00;True|2022-06-08T10:45:13.3564100+08:00;True|2022-06-08T10:41:35.1533091+08:00;True|2022-06-06T14:07:28.9893476+08:00;True|2022-06-01T09:15:01.3097804+08:00;True|2022-05-29T10:18:06.7001434+08:00;</History>
+    <History>True|2022-11-14T03:28:31.8550819Z;True|2022-11-14T09:20:45.3632848+08:00;True|2022-11-14T09:12:57.7773033+08:00;True|2022-11-11T16:02:41.8023925+08:00;True|2022-11-11T13:11:32.1354860+08:00;False|2022-11-11T13:10:57.8984858+08:00;False|2022-11-11T13:10:35.7974529+08:00;True|2022-11-10T17:11:34.6215190+08:00;True|2022-11-09T22:14:08.4689242+08:00;True|2022-11-09T18:11:19.2987148+08:00;True|2022-11-08T14:50:42.1914017+08:00;True|2022-10-31T15:35:55.6311717+08:00;True|2022-10-31T15:32:50.5265543+08:00;True|2022-10-31T14:30:51.7199756+08:00;True|2022-10-31T13:52:26.4575268+08:00;True|2022-10-26T12:02:14.4228296+08:00;True|2022-10-25T16:32:34.6113737+08:00;True|2022-10-25T16:29:35.7980293+08:00;True|2022-10-24T14:01:39.4175627+08:00;True|2022-10-21T18:55:37.1960388+08:00;True|2022-10-21T18:37:47.3142064+08:00;True|2022-10-19T11:11:19.9748484+08:00;True|2022-10-18T14:53:08.5305852+08:00;True|2022-10-18T09:19:14.0442732+08:00;True|2022-10-17T11:35:09.6040323+08:00;True|2022-10-17T10:52:29.3004702+08:00;True|2022-10-17T10:34:49.0817739+08:00;True|2022-10-17T09:35:57.5450395+08:00;True|2022-10-17T09:19:39.4916147+08:00;True|2022-10-14T14:45:04.5959774+08:00;True|2022-10-08T13:42:45.7291582+08:00;True|2022-10-08T13:31:33.0167880+08:00;True|2022-10-08T11:09:08.8028943+08:00;True|2022-10-08T10:04:57.3573208+08:00;True|2022-09-28T16:12:17.1471133+08:00;True|2022-09-28T15:11:17.3924597+08:00;True|2022-09-28T15:07:24.1542712+08:00;True|2022-09-28T15:01:05.9450589+08:00;True|2022-09-28T13:14:26.7038834+08:00;True|2022-09-27T16:32:29.0286484+08:00;True|2022-09-27T14:15:56.0426476+08:00;True|2022-09-26T16:16:45.3404775+08:00;True|2022-09-26T15:50:09.2992619+08:00;True|2022-09-26T15:47:20.6418528+08:00;True|2022-09-25T16:30:19.2053341+08:00;True|2022-09-22T17:08:02.6481758+08:00;True|2022-09-22T10:24:35.0635421+08:00;True|2022-09-16T15:41:38.0594228+08:00;True|2022-09-16T15:23:44.1558393+08:00;True|2022-07-01T21:10:56.8914203+08:00;True|2022-07-01T15:16:47.4260591+08:00;True|2022-06-29T09:41:10.5136306+08:00;True|2022-06-08T10:45:13.3564100+08:00;True|2022-06-08T10:41:35.1533091+08:00;True|2022-06-06T14:07:28.9893476+08:00;True|2022-06-01T09:15:01.3097804+08:00;True|2022-05-29T10:18:06.7001434+08:00;</History>
     <LastFailureDetails />
   </PropertyGroup>
 </Project>
\ No newline at end of file

--
Gitblit v1.9.3