Przeglądaj źródła

Merge branch 'PL/develop-BI' into develop

Li 2 lat temu
rodzic
commit
f053d4dead

+ 35 - 10
TEAMModelBI/Controllers/BISchool/BatchSchoolController.cs

@@ -309,7 +309,7 @@ namespace TEAMModelBI.Controllers.BISchool
                     cosmosClient = _azureCosmos.GetCosmosClient(name: BIConst.Global);
                 int scCnt = 0;
 
-                int? pageSize = 10;      //默认不指定返回大小        
+                int? pageSize = 50;      //默认不指定返回大小        
                 string continuationToken = string.Empty;     //返给前端分页token           
                 string pageToken = default;//接受前端的分页Tolen
                 bool iscontinuation = false;//是否需要进行分页查询,默认不分页
@@ -378,31 +378,56 @@ namespace TEAMModelBI.Controllers.BISchool
                         }
                     }
                 }
-                schoolAssists.ForEach(async school =>
+
+                foreach (var item in schoolAssists)
                 {
-                    var response = await cosmosClient.GetContainer("TEAMModelOS", "School").ReadItemStreamAsync(school.id, new PartitionKey("ProductSum"));
+                    var response = await cosmosClient.GetContainer("TEAMModelOS", "School").ReadItemStreamAsync(item.id, new PartitionKey("ProductSum"));
                     if (response.Status == 200)
                     {
                         using var json = await JsonDocument.ParseAsync(response.ContentStream);
                         if (json.RootElement.TryGetProperty("serial", out JsonElement serial) && !serial.ValueKind.Equals(JsonValueKind.Null))
                         {
-                            school.serial = serial.ToObject<List<SchoolProductSumData>>().Select(x => x.prodCode).ToList();
+                            item.serial = serial.ToObject<List<SchoolProductSumData>>().Select(x => x.prodCode).ToList();
                         }
                         if (json.RootElement.TryGetProperty("service", out JsonElement service) && !service.ValueKind.Equals(JsonValueKind.Null))
                         {
-                            school.service = service.ToObject<List<SchoolProductSumData>>().Select(x => x.prodCode).ToList();
+                            item.service = service.ToObject<List<SchoolProductSumData>>().Select(x => x.prodCode).ToList();
                         }
                         if (json.RootElement.TryGetProperty("hard", out JsonElement hard) && !hard.ValueKind.Equals(JsonValueKind.Null))
                         {
-                            school.hard = hard.ToObject<List<SchoolProductSumDataHard>>().Select(x => x.prodCode).ToList();
+                            item.hard = hard.ToObject<List<SchoolProductSumDataHard>>().Select(x => x.prodCode).ToList();
                         }
                     }
 
-                    school.assists = await CommonFind.FindSchoolRoles(cosmosClient, school.id, "assist");
-                    school.lessonCount = await CommonFind.GetSqlValueCount(cosmosClient, "School", $"select value(count(c.id)) from c ", $"LessonRecord-{school.id}");
-                });
+                    item.assists = await CommonFind.FindSchoolRoles(cosmosClient, item.id, "assist");
+                    item.lessonCount = await CommonFind.GetSqlValueCount(cosmosClient, "School", $"select value(count(c.id)) from c ", $"LessonRecord-{item.id}");
+                }
 
-                return Ok(new { state = 200, scCnt, continuationToken, schoolAssists, });
+                //schoolAssists.ForEach(async school =>
+                //{
+                //    var response = await cosmosClient.GetContainer("TEAMModelOS", "School").ReadItemStreamAsync(school.id, new PartitionKey("ProductSum"));
+                //    if (response.Status == 200)
+                //    {
+                //        using var json = await JsonDocument.ParseAsync(response.ContentStream);
+                //        if (json.RootElement.TryGetProperty("serial", out JsonElement serial) && !serial.ValueKind.Equals(JsonValueKind.Null))
+                //        {
+                //            school.serial = serial.ToObject<List<SchoolProductSumData>>().Select(x => x.prodCode).ToList();
+                //        }
+                //        if (json.RootElement.TryGetProperty("service", out JsonElement service) && !service.ValueKind.Equals(JsonValueKind.Null))
+                //        {
+                //            school.service = service.ToObject<List<SchoolProductSumData>>().Select(x => x.prodCode).ToList();
+                //        }
+                //        if (json.RootElement.TryGetProperty("hard", out JsonElement hard) && !hard.ValueKind.Equals(JsonValueKind.Null))
+                //        {
+                //            school.hard = hard.ToObject<List<SchoolProductSumDataHard>>().Select(x => x.prodCode).ToList();
+                //        }
+                //    }
+
+                //    school.assists = await CommonFind.FindSchoolRoles(cosmosClient, school.id, "assist");
+                //    school.lessonCount = await CommonFind.GetSqlValueCount(cosmosClient, "School", $"select value(count(c.id)) from c ", $"LessonRecord-{school.id}");
+                //});
+
+                return Ok(new { state = 200, scCnt, continuationToken, schoolAssists });
             }
             catch (Exception ex)
             {

+ 68 - 78
TEAMModelBI/Tool/TimeHelper.cs

@@ -27,7 +27,7 @@ namespace TEAMModelBI.Tool
         public static DateTimeOffset GetDateTime(long timeStamp)
         {
             long begtime = timeStamp * 10000;
-            DateTime dt_1970 = new DateTime(1970, 1, 1, 0, 0, 0);
+            DateTimeOffset dt_1970 = new(1970, 1, 1, 0, 0, 0, TimeSpan.Zero);
             long tricks_1970 = dt_1970.Ticks;//1970年1月1日刻度
             long time_tricks = tricks_1970 + begtime;//日志日期刻度
             DateTimeOffset dt = new DateTime(time_tricks);//转化为DateTime
@@ -70,13 +70,14 @@ namespace TEAMModelBI.Tool
         /// <returns></returns>
         public static (long start, long end) GetMonthStartEnd(int year, int month, bool dateLenth = true)
         {
-            DateTime dt = DateTime.Parse($"{year}-{month}");
-            DateTime dtNew = new DateTime(dt.Year, dt.Month, 1);
+            DateTimeOffset dtNew = new(year, month, 1, 0, 0, 0, TimeSpan.Zero);
             long start = DateTimeOffset.Parse($"{dtNew}").ToUnixTimeMilliseconds();
             if (dateLenth == false) start = DateTimeOffset.Parse($"{dtNew}").ToUnixTimeSeconds();
             var ste = dtNew.AddMonths(1).AddDays(-1).Day;
-            long end = DateTimeOffset.Parse($"{dt.Year}-{dt.Month}-{ste} 23:59:59").ToUnixTimeMilliseconds();
-            if (dateLenth == false) end = DateTimeOffset.Parse($"{dt.Year}-{dt.Month}-{ste} 23:59:59").ToUnixTimeMilliseconds();
+            long end = new DateTimeOffset(dtNew.Year, dtNew.Month, ste, 23, 59, 59,TimeSpan.Zero).ToUnixTimeMilliseconds();
+            // DateTimeOffset.Parse($"{dt.Year}-{dt.Month}-{ste} 23:59:59").ToUnixTimeMilliseconds();
+            if (dateLenth == false) end = new DateTimeOffset(dtNew.Year, dtNew.Month, dtNew.Day, 23, 59, 59, TimeSpan.Zero).ToUnixTimeSeconds();
+            //DateTimeOffset.Parse($"{dt.Year}-{dt.Month}-{ste} 23:59:59").ToUnixTimeSeconds();
 
             return (start, end);
         }
@@ -94,13 +95,12 @@ namespace TEAMModelBI.Tool
             int day = date.Day;
 
             List<MonthStartEnd> monthStartEnds = new();
-
             for (int i = 1; i <= mth; i++)
             {
                 MonthStartEnd monthStartEnd = new() { yearMonth = $"{year}-{i}" };
-                DateTime dt = DateTime.Parse($"{year}-{i}");
-                DateTime dtNew = new DateTime(dt.Year, dt.Month, 1);
-                long start = DateTimeOffset.Parse($"{dtNew}").ToUnixTimeMilliseconds();
+                //DateTime dt = DateTime.Parse($"{year}-{i}");
+                DateTimeOffset dtNew = new(year, i, 1, 0, 0, 0, TimeSpan.Zero);
+                long start = dtNew.ToUnixTimeMilliseconds();
                 if (dateLenth == false)
                     start = DateTimeOffset.Parse($"{dtNew}").ToUnixTimeSeconds();
                 monthStartEnd.start = start;
@@ -114,9 +114,9 @@ namespace TEAMModelBI.Tool
                 else
                 {
                     var ste = dtNew.AddMonths(1).AddDays(-1).Day;
-                    end = DateTimeOffset.Parse($"{dt.Year}-{dt.Month}-{ste} 23:59:59").ToUnixTimeMilliseconds();
+                    end = DateTimeOffset.Parse($"{dtNew.Year}-{dtNew.Month}-{ste} 23:59:59").ToUnixTimeMilliseconds();
                     if (dateLenth == false)
-                        end = DateTimeOffset.Parse($"{dt.Year}-{dt.Month}-{ste} 23:59:59").ToUnixTimeSeconds();
+                        end = DateTimeOffset.Parse($"{dtNew.Year}-{dtNew.Month}-{ste} 23:59:59").ToUnixTimeSeconds();
                 }
                 monthStartEnd.end = end;
                 monthStartEnds.Add(monthStartEnd);
@@ -126,7 +126,7 @@ namespace TEAMModelBI.Tool
         }
 
         /// <summary>
-        /// 获取今年12个月的月份开始和结束时间戳 13位 10w未  
+        /// 获取今年12个月的月份开始和结束时间戳 13位 10  
         /// </summary>
         /// <param name="year">年份</param>
         /// <param name="dateLenth">true :13位时间戳  false:10位时间戳</param>
@@ -137,16 +137,16 @@ namespace TEAMModelBI.Tool
             for (int i = 1; i <= 12; i++)
             {
                 MonthStartEnd monthStartEnd = new MonthStartEnd() { yearMonth = $"{year}-{i}" };
-                DateTime dt = DateTime.Parse($"{year}-{i}");
-                DateTime dtNew = new DateTime(dt.Year, dt.Month, 1);
-                long start = DateTimeOffset.Parse($"{dtNew}").ToUnixTimeMilliseconds();
+                //DateTime dt = DateTime.Parse($"{year}-{i}");
+                DateTimeOffset dtNew = new(year, i, 1, 0, 0, 0, TimeSpan.Zero);
+                long start = dtNew.ToUnixTimeMilliseconds();
                 if (dateLenth == false) 
-                    start = DateTimeOffset.Parse($"{dtNew}").ToUnixTimeSeconds();
+                    start = dtNew.ToUnixTimeSeconds();
                 monthStartEnd.start = start;
                 var ste = dtNew.AddMonths(1).AddDays(-1).Day;
-                long end = DateTimeOffset.Parse($"{dt.Year}-{dt.Month}-{ste} 23:59:59").ToUnixTimeMilliseconds();
+                long end = DateTimeOffset.Parse($"{dtNew.Year}-{dtNew.Month}-{ste} 23:59:59").ToUnixTimeMilliseconds();
                 if (dateLenth == false) 
-                    end = DateTimeOffset.Parse($"{dt.Year}-{dt.Month}-{ste} 23:59:59").ToUnixTimeSeconds();
+                    end = DateTimeOffset.Parse($"{dtNew.Year}-{dtNew.Month}-{ste} 23:59:59").ToUnixTimeSeconds();
                 monthStartEnd.end = end;
                 monthStartEnds.Add(monthStartEnd);
             }
@@ -162,8 +162,9 @@ namespace TEAMModelBI.Tool
         /// <returns></returns>
         public static List<MonthStartEnd> monthsOfYear(string yearMonth, bool dateLenth = true)
         {
-            List<MonthStartEnd> monthStartEnds = new List<MonthStartEnd>();
+            List<MonthStartEnd> monthStartEnds = new();
             DateTime dateTime = DateTime.Parse(yearMonth);
+
             int year = dateTime.Year;
             int month = dateTime.Month;
             List<string> months = new List<string>();
@@ -171,8 +172,8 @@ namespace TEAMModelBI.Tool
             {
                 MonthStartEnd monthStartEnd = new MonthStartEnd() { yearMonth = $"{year}-{month}" };
 
-                DateTime dtNew = new DateTime(year, month, 1);
-                long start = dateLenth ? DateTimeOffset.Parse($"{dtNew}").ToUnixTimeMilliseconds() : DateTimeOffset.Parse($"{dtNew}").ToUnixTimeSeconds();
+                DateTimeOffset dtNew = new(year, month, 1, 0, 0, 0, TimeSpan.Zero);
+                long start = dateLenth ? dtNew.ToUnixTimeMilliseconds() : dtNew.ToUnixTimeSeconds();
                 monthStartEnd.start = start;
                 var ste = dtNew.AddMonths(1).AddDays(-1).Day;
                 long end = dateLenth ? DateTimeOffset.Parse($"{dateTime.Year}-{dateTime.Month}-{ste} 23:59:59").ToUnixTimeMilliseconds() : DateTimeOffset.Parse($"{dateTime.Year}-{dateTime.Month}-{ste} 23:59:59").ToUnixTimeSeconds();
@@ -198,7 +199,7 @@ namespace TEAMModelBI.Tool
         /// <param name="dateTime">日期</param>
         /// <param name="dateLenth">true :13位时间戳  false:10位时间戳 </param>
         /// <returns></returns>
-        public static (long start, long end) GetTermStartOrEnd(DateTime dateTime, bool dateLenth = true)
+        public static (long start, long end) GetTermStartOrEnd(DateTimeOffset dateTime, bool dateLenth = true)
         {
             long start = 0; 
             long end = 0;
@@ -207,10 +208,10 @@ namespace TEAMModelBI.Tool
             int month = dateTime.Month;
             if (month <= 8 && month >= 3)
             {
-                DateTime newStart = new DateTime(year, 3, 1);
+                DateTimeOffset newStart = new(year, 3, 1, 0, 0, 0, TimeSpan.Zero);
                 start = dateLenth ? DateTimeOffset.Parse($"{newStart}").ToUnixTimeMilliseconds() : DateTimeOffset.Parse($"{newStart}").ToUnixTimeSeconds();
 
-                DateTime newEnd = new DateTime(year, 8, 31, 23, 59, 59);
+                DateTimeOffset newEnd = new(year, 8, 31, 23, 59, 59, TimeSpan.Zero);
                 end = dateLenth ? DateTimeOffset.Parse($"{newEnd}").ToUnixTimeMilliseconds() : DateTimeOffset.Parse($"{newEnd}").ToUnixTimeSeconds();
             }
             else
@@ -219,26 +220,25 @@ namespace TEAMModelBI.Tool
                 int days = 0;
                 if (month >= 9)
                 {
-                    DateTime newStart = new DateTime(dateTime.Year, 9, 1);
-                    start = dateLenth ? DateTimeOffset.Parse($"{newStart}").ToUnixTimeMilliseconds() : DateTimeOffset.Parse($"{newStart}").ToUnixTimeSeconds();
+                    DateTimeOffset newStart = new(dateTime.Year, 9, 1, 0, 0, 0, TimeSpan.Zero);
+                    start = dateLenth ? newStart.ToUnixTimeMilliseconds() : newStart.ToUnixTimeSeconds();
 
-                    DateTime newEnd = new DateTime(dateTime.Year + 1, 2, (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) ? days = 29 : days = 28, 23, 59, 59);
-                    end = dateLenth ? DateTimeOffset.Parse($"{newEnd}").ToUnixTimeMilliseconds() : DateTimeOffset.Parse($"{newEnd}").ToUnixTimeSeconds();
+                    DateTimeOffset newEnd = new(dateTime.Year + 1, 2, (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) ? days = 29 : days = 28, 23, 59, 59, TimeSpan.Zero);
+                    end = dateLenth ? newEnd.ToUnixTimeMilliseconds() : newEnd.ToUnixTimeSeconds();
                 }
                 else
                 {
-                    DateTime newStart = new DateTime(dateTime.Year - 1, 9, 1);
-                    start = dateLenth ? DateTimeOffset.Parse($"{newStart}").ToUnixTimeMilliseconds() : DateTimeOffset.Parse($"{newStart}").ToUnixTimeSeconds();
+                    DateTimeOffset newStart = new(dateTime.Year - 1, 9, 1, 0, 0, 0, TimeSpan.Zero);
+                    start = dateLenth ? newStart.ToUnixTimeMilliseconds() : newStart.ToUnixTimeSeconds();
 
-                    DateTime newEnd = new DateTime(dateTime.Year, 2, (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) ? days = 29 : days = 28, 23, 59, 59);
-                    end = dateLenth ? DateTimeOffset.Parse($"{newEnd}").ToUnixTimeMilliseconds() : DateTimeOffset.Parse($"{newEnd}").ToUnixTimeSeconds();
+                    DateTimeOffset newEnd = new(dateTime.Year, 2, (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) ? days = 29 : days = 28, 23, 59, 59, TimeSpan.Zero);
+                    end = dateLenth ? newEnd.ToUnixTimeMilliseconds() : newEnd.ToUnixTimeSeconds();
                 }
             }
 
             return (start, end);
         }
 
-
         /// <summary>
         /// 开始时间和结束时间戳
         /// </summary>
@@ -250,7 +250,6 @@ namespace TEAMModelBI.Tool
         {
             try
             {
-
                 long start = 0;
                 long end = 0;
                 int year = dateTime.Year;
@@ -263,25 +262,25 @@ namespace TEAMModelBI.Tool
                 {
                     //今年开始、结束
                     case "yearMonth":
-                        tempStrart = new DateTime(year, 1, 1);
-                        tempEnd = new DateTime(year, month, DateTime.DaysInMonth(year, month), 23, 59, 59);
+                        tempStrart = new DateTimeOffset(year, 1, 1, 0, 0, 0, TimeSpan.Zero);
+                        tempEnd = new DateTimeOffset(year, month, DateTime.DaysInMonth(year, month), 23, 59, 59, TimeSpan.Zero);
                         break;
                     //今年开始、结束
                     case "year":
-                        tempStrart = new DateTime(year, 1, 1);
-                        tempEnd = new DateTime(year, 12, DateTime.DaysInMonth(year, 12), 23, 59, 59);
+                        tempStrart = new DateTimeOffset(year, 1, 1, 0, 0, 0, TimeSpan.Zero);
+                        tempEnd = new DateTimeOffset(year, 12, DateTime.DaysInMonth(year, 12), 23, 59, 59, TimeSpan.Zero);
                         break;
                     //去年开始、结束
                     case "lastYear":
-                        tempStrart = new DateTime(year - 1, 1, 1);
-                        tempEnd = new DateTime(year - 1, 12, DateTime.DaysInMonth(year, 12), 23, 59, 59);
+                        tempStrart = new DateTimeOffset(year - 1, 1, 1, 0, 0, 0, TimeSpan.Zero);
+                        tempEnd = new DateTimeOffset(year - 1, 12, DateTime.DaysInMonth(year, 12), 23, 59, 59, TimeSpan.Zero);
                         break;
                     //本学期
                     case "term":
                         if (month <= 8 && month >= 3)
                         {
-                            tempStrart = new DateTime(year, 3, 1);
-                            tempEnd = new DateTime(year, 8, 31, 23, 59, 59);
+                            tempStrart = new DateTimeOffset(year, 3, 1, 0, 0, 0, TimeSpan.Zero);
+                            tempEnd = new DateTimeOffset(year, 8, 31, 23, 59, 59, TimeSpan.Zero);
                         }
                         else
                         {
@@ -289,31 +288,30 @@ namespace TEAMModelBI.Tool
                             int days = 0;
                             if (month >= 9)
                             {
-                                tempStrart = new DateTime(year, 9, 1);
-                                tempEnd = new DateTime(year + 1, 2, (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) ? days = 29 : days = 28, 23, 59, 59);
+                                tempStrart = new DateTimeOffset(year, 9, 1, 0, 0, 0, TimeSpan.Zero);
+                                tempEnd = new DateTimeOffset(year + 1, 2, (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) ? days = 29 : days = 28, 23, 59, 59, TimeSpan.Zero);
                             }
                             else
                             {
-                                tempStrart = new DateTime(year - 1, 9, 1);
-                                tempEnd = new DateTime(year, 2, (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) ? days = 29 : days = 28, 23, 59, 59);
+                                tempStrart = new DateTimeOffset(year - 1, 9, 1, 0, 0, 0, TimeSpan.Zero);
+                                tempEnd = new DateTimeOffset(year, 2, (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) ? days = 29 : days = 28, 23, 59, 59, TimeSpan.Zero);
                             }
                         }
-
                         break;
                     //上学期
                     case "lastterm":
                         DateTimeOffset tempDate = new();
                         if (dateTime.Month > 9)
-                            tempDate = new DateTime(year, dateTime.Month - 4, 1);
-                        else tempDate = new DateTime(year - 1, 9, 1);
+                            tempDate = new DateTimeOffset(year, dateTime.Month - 4, 1, 0, 0, 0, TimeSpan.Zero);
+                        else tempDate = new DateTimeOffset(year - 1, 9, 1, 0, 0, 0, TimeSpan.Zero);
                         if (!string.IsNullOrEmpty($"{tempDate}"))
                         {
                             year = tempDate.Year;
                             month = tempDate.Month;
                             if (month <= 8 && month >= 3)
                             {
-                                tempStrart = new DateTime(year, 3, 1);
-                                tempEnd = new DateTime(year, 8, 31, 23, 59, 59);
+                                tempStrart = new DateTimeOffset(year, 3, 1, 0, 0, 0, TimeSpan.Zero);
+                                tempEnd = new DateTimeOffset(year, 8, 31, 23, 59, 59,TimeSpan.Zero);
                             }
                             else
                             {
@@ -321,37 +319,33 @@ namespace TEAMModelBI.Tool
                                 int days = 0;
                                 if (month >= 9)
                                 {
-                                    tempStrart = new DateTime(year, 9, 1);
-                                    tempEnd = new DateTime(year + 1, 2, (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) ? days = 29 : days = 28, 23, 59, 59);
+                                    tempStrart = new DateTimeOffset(year, 9, 1, 0, 0, 0, TimeSpan.Zero);
+                                    tempEnd = new DateTimeOffset(year + 1, 2, (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) ? days = 29 : days = 28, 23, 59, 59,TimeSpan.Zero);
                                 }
                                 else
                                 {
-                                    tempStrart = new DateTime(year - 1, 9, 1);
-                                    tempEnd = new DateTime(year, 2, (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) ? days = 29 : days = 28, 23, 59, 59);
+                                    tempStrart = new DateTimeOffset(year - 1, 9, 1, 0, 0, 0, TimeSpan.Zero);
+                                    tempEnd = new DateTimeOffset(year, 2, (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) ? days = 29 : days = 28, 23, 59, 59, TimeSpan.Zero);
                                 }
                             }
                         }
-
                         break;
-                    //本月当天
+                    //本月1号至当天
                     case "monthDay":
-                        tempStrart = new DateTime(year, month, 1);
-                        tempEnd = new DateTime(year, month, day, 23, 59, 59);
-
+                        tempStrart = new DateTimeOffset(year, month, 1, 0, 0, 0, TimeSpan.Zero);
+                        tempEnd = new DateTimeOffset(year, month, day, 23, 59, 59, TimeSpan.Zero);
                         break;
                     //本月
                     case "month":
-                        tempStrart = new DateTime(year, month, 1);
-                        tempEnd = new DateTime(year, month, DateTime.DaysInMonth(year, month), 23, 59, 59);
-
+                        tempStrart = new DateTimeOffset(year, month, 1, 0, 0, 0, TimeSpan.Zero);
+                        tempEnd = new DateTimeOffset(year, month, DateTime.DaysInMonth(year, month), 23, 59, 59, TimeSpan.Zero);
                         break;
                     //上周
                     case "week":
                         DateTimeOffset weekStrart = dateTime.AddDays(-(int)(dateTime.DayOfWeek) + 1);
                         DateTimeOffset weekEnd = dateTime.AddDays(7 - (int)(dateTime.DayOfWeek));
-                        tempStrart = new DateTime(weekStrart.Year, weekStrart.Month, weekStrart.Day);
-                        tempEnd = new DateTime(weekEnd.Year, weekEnd.Month, weekEnd.Day, 23, 59, 59);
-
+                        tempStrart = new DateTimeOffset(weekStrart.Year, weekStrart.Month, weekStrart.Day, 0, 0, 0, TimeSpan.Zero);
+                        tempEnd = new DateTimeOffset(weekEnd.Year, weekEnd.Month, weekEnd.Day, 23, 59, 59, TimeSpan.Zero);
                         break;
                     //上周
                     case "lastweek":
@@ -359,33 +353,31 @@ namespace TEAMModelBI.Tool
                         var s = (dateTime.DayOfWeek == DayOfWeek.Sunday ? (DayOfWeek)7 : dateTime.DayOfWeek) - (DayOfWeek)7;
                         var Mon = dateTime.AddDays((-7 - m));//星期一
                         var Sun = dateTime.AddDays((-7 - s));  //星期日
-                        tempStrart = new DateTime(Mon.Year, Mon.Month, Mon.Day);
-                        tempEnd = new DateTime(Sun.Year, Sun.Month, Sun.Day, 23, 59, 59);
-
+                        tempStrart = new DateTimeOffset(Mon.Year, Mon.Month, Mon.Day, 0, 0, 0, TimeSpan.Zero);
+                        tempEnd = new DateTimeOffset(Sun.Year, Sun.Month, Sun.Day, 23, 59, 59, TimeSpan.Zero);
                         break;
                     //当前小时
                     case "hour":
-                        tempStrart = new DateTime(year, month, day, hour, 0, 0);
-                        tempEnd = new DateTime(year, month, day, hour, 59, 59);
+                        tempStrart = new DateTimeOffset(year, month, day, hour, 0, 0, TimeSpan.Zero);
+                        tempEnd = new DateTimeOffset(year, month, day, hour, 59, 59, TimeSpan.Zero);
 
                         break;
                     //当天
                     default:
-                        tempStrart = new DateTime(year, month, day);
-                        tempEnd = new DateTime(year, month, day, 23, 59, 59);
+                        tempStrart = new DateTimeOffset(year, month, day, 0, 0, 0, TimeSpan.Zero);
+                        tempEnd = new DateTimeOffset(year, month, day, 23, 59, 59, TimeSpan.Zero);
                         //start = dateLenth ? DateTimeOffset.Parse($"{dayStart}").ToUnixTimeMilliseconds() : DateTimeOffset.Parse($"{dayStart}").ToUnixTimeSeconds();
                         //end = dateLenth ? DateTimeOffset.Parse($"{dayEnd}").ToUnixTimeMilliseconds() : DateTimeOffset.Parse($"{dayEnd}").ToUnixTimeSeconds();
                         break;
                 }
 
-                start = dateLenth ? DateTimeOffset.Parse($"{tempStrart}").ToUnixTimeMilliseconds() : DateTimeOffset.Parse($"{tempStrart}").ToUnixTimeSeconds();
-                end = dateLenth ? DateTimeOffset.Parse($"{tempEnd}").ToUnixTimeMilliseconds() : DateTimeOffset.Parse($"{tempEnd}").ToUnixTimeSeconds();
+                start = dateLenth ? tempStrart.ToUnixTimeMilliseconds() : tempStrart.ToUnixTimeSeconds();
+                end = dateLenth ? tempEnd.ToUnixTimeMilliseconds() : tempEnd.ToUnixTimeSeconds();
 
                 return (start, end);
             }
             catch (Exception ex)
             {
-
                 throw;
             }
         }
@@ -423,9 +415,7 @@ namespace TEAMModelBI.Tool
             days = Enumerable.Range(1, dayNumber).Select(i => dateTime.Date.AddDays(-i).ToString("yyyyMMdd")).ToList();
 
             return days;
-
         }
 
-
     }
 }