From 634c7f5063b8977775be2a4a3584ce38ff055caa Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期四, 25 四月 2024 18:11:13 +0800
Subject: [PATCH] 考勤统计修改

---
 controllers/attendance_controller.go |   28 ++++++++++++++++++++--------
 1 files changed, 20 insertions(+), 8 deletions(-)

diff --git a/controllers/attendance_controller.go b/controllers/attendance_controller.go
index 4a5978d..f7c430f 100644
--- a/controllers/attendance_controller.go
+++ b/controllers/attendance_controller.go
@@ -285,18 +285,27 @@
 		return
 	}
 	//鑾峰彇鏈堜唤澶╂暟
-	location, err := time.ParseInLocation("2006-01", "2024-04", time.Local)
+	location, err := time.ParseInLocation("2006-01", params.Month, time.Local)
 	if err != nil {
 		util.ResponseFormat(c, code.RequestParamError, "鏈堜唤鏍煎紡閿欒")
 		return
 	}
 	year, month, _ := location.Date()
-	date := timex.GetDate(year, month)
+	weeks := timex.GetWeeksOfMonth(year, month)
 
-	manages, err := models.NewAttendanceManageSearch().SetMonth(params.Month).SetPreload(true).FindNotTotal()
+	manages, err := models.NewAttendanceManageSearch().SetMonth(params.Month).SetKeyword(params.Keyword).SetPreload(true).FindNotTotal()
 	if err != nil {
 		util.ResponseFormat(c, code.RequestParamError, err)
 		return
+	}
+	weekMap := map[string]string{
+		"Sunday":    "鍛ㄦ棩",
+		"Monday":    "鍛ㄤ竴",
+		"Tuesday":   "鍛ㄤ簩",
+		"Wednesday": "鍛ㄤ笁",
+		"Thursday":  "鍛ㄥ洓",
+		"Friday":    "鍛ㄤ簲",
+		"Saturday":  "鍛ㄥ叚",
 	}
 
 	m := make(map[string]response.AttendanceStatistic)
@@ -311,11 +320,14 @@
 			as.Month = params.Month
 			as.WorkTypeId = manage.WorkTypeId
 			var details []response.AttendanceDetail
-			for i := 1; i <= date; i++ {
-				var ad response.AttendanceDetail
-				ad.Date = i
-				ad.Status = constvar.Vacation
-				details = append(details, ad)
+			for _, week := range weeks {
+				for _, day := range week {
+					var ad response.AttendanceDetail
+					ad.Date = day.Day()
+					ad.WeekDay = weekMap[day.Weekday().String()]
+					ad.Status = constvar.Vacation
+					details = append(details, ad)
+				}
 			}
 			as.Details = details
 		}

--
Gitblit v1.8.0