Browse Source

处理索引位置

zhouj1203@hotmail.com 3 năm trước cách đây
mục cha
commit
85778f59e2

+ 8 - 8
TEAMModelOS.SDK/Models/Service/LessonService.cs

@@ -130,10 +130,10 @@ namespace TEAMModelOS.SDK.Models.Service
                     using var json = await JsonDocument.ParseAsync(response.ContentStream);
                     LessonCount count = json.ToObject<LessonCount>();
 
-                    count.tCount[day] += lessonDis.disTCount;
-                    count.pCount[day] += lessonDis.disPCount;
-                    count.ptCount[day] += lessonDis.disDCount;
-                    count.beginCount[day] += lessonDis.record;
+                    count.tCount[day-1] += lessonDis.disTCount;
+                    count.pCount[day-1] += lessonDis.disPCount;
+                    count.ptCount[day-1] += lessonDis.disDCount;
+                    count.beginCount[day-1] += lessonDis.record;
                     /*if (!count.courseIds.Contains(data.courseId))
                     {
                         count.courseIds.Add(data.courseId);
@@ -156,10 +156,10 @@ namespace TEAMModelOS.SDK.Models.Service
                     List<double> listT = new List<double>(da);
                     List<double> listP = new List<double>(da);
                     List<double> listPT = new List<double>(da);
-                    list[day] += lessonDis.record;
-                    listT[day] += lessonDis.disTCount;
-                    listP[day] += lessonDis.disPCount;
-                    listPT[day] += lessonDis.disDCount;
+                    list[day-1] += lessonDis.record;
+                    listT[day-1] += lessonDis.disTCount;
+                    listP[day-1] += lessonDis.disPCount;
+                    listPT[day-1] += lessonDis.disDCount;
                     count.beginCount.AddRange(list);
                     count.tCount.AddRange(listT);
                     count.pCount.AddRange(listP);

+ 22 - 19
TEAMModelOS/Controllers/Analysis/ClassAnalysisController.cs

@@ -102,8 +102,11 @@ namespace TEAMModelOS.Controllers.Analysis
                 double[] ff = matrix5.Values;
                 var total = matrix5.Values.Sum();
                 var tday = DateTimeOffset.UtcNow.DayOfYear;
-                int ds = DateTimeHelper.getDays(2020);
-                var dds = DateTimeOffset.FromUnixTimeMilliseconds(1639990956000).DayOfYear;
+                int day1 = DateTimeOffset.FromUnixTimeMilliseconds(1640830249734).DayOfYear;
+                int year1 = DateTimeOffset.FromUnixTimeMilliseconds(1640830249734).Year;
+                int days1 = DateTimeHelper.getDays(year1);
+                int ds = DateTimeHelper.getDays(2021);
+                var dds = DateTimeOffset.FromUnixTimeMilliseconds(1640830249734).DayOfYear;
                 int ssday = (int)DateTimeOffset.UtcNow.DayOfWeek;
                 var d = (int)DateTimeOffset.FromUnixTimeMilliseconds(1639990956000).DayOfWeek;
                 var asd = tday - d;
@@ -249,10 +252,10 @@ namespace TEAMModelOS.Controllers.Analysis
                     for (int i = 1; i <= sweeks; i++)
                     {
                         sday += 7;
-                        var bsum = bmatrix.SubMatrix(sday, 7, 0, bmatrix.ColumnCount).ColumnSums().Sum();
-                        var tsum = tmatrix.SubMatrix(sday, 7, 0, tmatrix.ColumnCount).ColumnSums().Sum();
-                        var psum = pmatrix.SubMatrix(sday, 7, 0, pmatrix.ColumnCount).ColumnSums().Sum();
-                        var ptsum = ptmatrix.SubMatrix(sday, 7, 0, ptmatrix.ColumnCount).ColumnSums().Sum();
+                        var bsum = bmatrix.SubMatrix(sday - 1, 7, 0, bmatrix.ColumnCount).ColumnSums().Sum();
+                        var tsum = tmatrix.SubMatrix(sday - 1, 7, 0, tmatrix.ColumnCount).ColumnSums().Sum();
+                        var psum = pmatrix.SubMatrix(sday - 1, 7, 0, pmatrix.ColumnCount).ColumnSums().Sum();
+                        var ptsum = ptmatrix.SubMatrix(sday - 1, 7, 0, ptmatrix.ColumnCount).ColumnSums().Sum();
                         wks.Add((i, new List<double>() { bsum, tsum, psum, ptsum }));
                     }
                 }
@@ -293,20 +296,20 @@ namespace TEAMModelOS.Controllers.Analysis
                             for (int i = 1; i <= eweeks; i++)
                             {
                                 start += 7;
-                                var newbsum = tbmatrix.SubMatrix(start, 7, 0, tbmatrix.ColumnCount).ColumnSums().Sum();
-                                var newtsum = ttmatrix.SubMatrix(start, 7, 0, ttmatrix.ColumnCount).ColumnSums().Sum();
-                                var newpsum = tpmatrix.SubMatrix(start, 7, 0, tpmatrix.ColumnCount).ColumnSums().Sum();
-                                var newptsum = tptmatrix.SubMatrix(start, 7, 0, tptmatrix.ColumnCount).ColumnSums().Sum();
+                                var newbsum = tbmatrix.SubMatrix(start - 1, 7, 0, tbmatrix.ColumnCount).ColumnSums().Sum();
+                                var newtsum = ttmatrix.SubMatrix(start - 1, 7, 0, ttmatrix.ColumnCount).ColumnSums().Sum();
+                                var newpsum = tpmatrix.SubMatrix(start - 1, 7, 0, tpmatrix.ColumnCount).ColumnSums().Sum();
+                                var newptsum = tptmatrix.SubMatrix(start - 1, 7, 0, tptmatrix.ColumnCount).ColumnSums().Sum();
                                 wks.Add((sweeks += 1, new List<double>() { newbsum, newtsum, newpsum, newptsum }));
                             }
 
                         }
                         if (erweeks > 0)
                         {
-                            var newbsum = tbmatrix.SubMatrix(eday - start, erweeks, 0, tbmatrix.ColumnCount).ColumnSums().Sum();
-                            var newtsum = tbmatrix.SubMatrix(eday - start, erweeks, 0, tbmatrix.ColumnCount).ColumnSums().Sum();
-                            var newpsum = tbmatrix.SubMatrix(eday - start, erweeks, 0, tbmatrix.ColumnCount).ColumnSums().Sum();
-                            var newptsum = tbmatrix.SubMatrix(eday - start, erweeks, 0, tbmatrix.ColumnCount).ColumnSums().Sum();
+                            var newbsum = tbmatrix.SubMatrix(eday - start - 1, erweeks, 0, tbmatrix.ColumnCount).ColumnSums().Sum();
+                            var newtsum = tbmatrix.SubMatrix(eday - start - 1, erweeks, 0, tbmatrix.ColumnCount).ColumnSums().Sum();
+                            var newpsum = tbmatrix.SubMatrix(eday - start - 1, erweeks, 0, tbmatrix.ColumnCount).ColumnSums().Sum();
+                            var newptsum = tbmatrix.SubMatrix(eday - start - 1, erweeks, 0, tbmatrix.ColumnCount).ColumnSums().Sum();
                             wks.Add((sweeks + 1, new List<double>() { newbsum, newtsum, newpsum, newptsum }));
                         }
                     }
@@ -385,14 +388,14 @@ namespace TEAMModelOS.Controllers.Analysis
                         //新的一年不超过7天的值
                         var tsum = dense.SubMatrix(tday, tday, 0, dense.ColumnCount).ColumnSums().Sum();
                         //前一年余下的值
-                        var pysum = matrix.SubMatrix(pydays - (sday - tday), sday - tday, 0, matrix.ColumnCount).ColumnSums().Sum();
+                        var pysum = matrix.SubMatrix(pydays - (sday - tday) - 1, sday - tday, 0, matrix.ColumnCount).ColumnSums().Sum();
                         counts.Add(("week", tsum + pysum));
                     }
 
                 }
                 else
                 {
-                    var subDay = matrix.SubMatrix(tday - sday, 7, 0, matrix.ColumnCount).ColumnSums().Sum();
+                    var subDay = matrix.SubMatrix(tday - sday - 1, 7, 0, matrix.ColumnCount).ColumnSums().Sum();
                     counts.Add(("week", subDay));
                 }
                 //求本学期
@@ -403,17 +406,17 @@ namespace TEAMModelOS.Controllers.Analysis
                     //var tmatrix = DenseMatrix.OfColumns(scount.beginCount);
                     //跨年后开始到本学期结束
                     var endMonth = dense.SubMatrix(0, edays, 0, dense.ColumnCount).ColumnSums().Sum();
-                    var startMonth = matrix.SubMatrix(sdays, pydays - sdays, 0, matrix.ColumnCount).ColumnSums().Sum();
+                    var startMonth = matrix.SubMatrix(sdays - 1, pydays - sdays, 0, matrix.ColumnCount).ColumnSums().Sum();
                     counts.Add(("semester", endMonth + startMonth));
                 }
                 else
                 {
-                    var allMonth = matrix.SubMatrix(sdays, edays - sdays, 0, matrix.ColumnCount).ColumnSums().Sum();
+                    var allMonth = matrix.SubMatrix(sdays-1, edays - sdays, 0, matrix.ColumnCount).ColumnSums().Sum();
                     counts.Add(("semester", allMonth));
                 }
                 //本月
                 var tmonth = DateTimeOffset.UtcNow.Day;
-                var subMonth = matrix.SubMatrix(tday - tmonth, tmonth, 0, matrix.ColumnCount).ColumnSums().Sum();
+                var subMonth = matrix.SubMatrix(tday - tmonth-1, tmonth, 0, matrix.ColumnCount).ColumnSums().Sum();
                 counts.Add(("month", subMonth));
                 //求今年
                 var subYear = matrix.SubMatrix(0, tdays, 0, matrix.ColumnCount).ColumnSums().Sum();