From de37adb6dec5e9da70f9cc11b234176ee6fda986 Mon Sep 17 00:00:00 2001 From: sunty <1172534965@qq.com> Date: 星期五, 24 五月 2024 21:04:39 +0800 Subject: [PATCH] 添加布控模块,合并person_status和snapshot_count_summary数据库等 --- data/prepare.go | 31 ++++++++++++++++++++++++++----- 1 files changed, 26 insertions(+), 5 deletions(-) diff --git a/data/prepare.go b/data/prepare.go index ac6cf9a..8b0f675 100644 --- a/data/prepare.go +++ b/data/prepare.go @@ -7,10 +7,14 @@ ) // 璁$畻鎶撴媿澶╂暟 -func CalculateCaptureDays(details []db.CaptureDetail) int { +func CalculateCaptureDays(details []db.CaptureDetail) (int, int) { // 浣跨敤 map 鏉ュ瓨鍌ㄦ瘡澶╂槸鍚︽湁鎶撴媿璁板綍 captureMap := make(map[string]bool) - for _, detail := range details { + //pointDate := "" + //pointTime := "" + //pointDirection := "" + overnightCount := 0 + for i, detail := range details { // 瑙f瀽鎶撴媿鏃ユ湡 layout := "2006-01-02 15:04:05" captureTime, err := time.Parse(layout, detail.CaptureDate) @@ -18,10 +22,27 @@ fmt.Println("瑙f瀽鎶撴媿鏃ユ湡鏃跺嚭閿�:", err) continue } + //fmt.Println(captureTime, detail.Direction) // 鑾峰彇鏃ユ湡閮ㄥ垎 date := captureTime.Format("2006-01-02") + //time := captureTime.Format("15:04:05") // 鍦� map 涓爣璁拌繖涓�澶╂湁鎶撴媿璁板綍 captureMap[date] = true + if i == len(details)-1 { + break + } + + // 绗竴涓獙璇佹潯浠讹細褰撳墠涓� in锛屾椂闂村湪涓嬪崍 16 鐐逛互鍚� + currTime, _ := time.Parse("2006-01-02 15:04:05", detail.CaptureDate) + if detail.Direction == "in" && currTime.Hour() >= 16 { + // 绗簩涓獙璇佹潯浠讹細涓嬩竴涓负 out锛屾椂闂村湪涓婂崍 5 鐐逛箣鍚� 12 鐐逛箣鍓� + nextDetail := details[i+1] + nextTime, _ := time.Parse("2006-01-02 15:04:05", nextDetail.CaptureDate) + nextDay := nextTime.AddDate(0, 0, -1).Format("2006-01-02") + if nextDetail.Direction == "out" && nextTime.Hour() >= 5 && nextTime.Hour() < 12 && nextDay == detail.CaptureDate[:10] { + overnightCount++ + } + } } // 缁熻鏈夋姄鎷嶈褰曠殑澶╂暟 @@ -30,7 +51,7 @@ captureDays++ } - return captureDays + return captureDays, overnightCount } // 璁剧疆鐘舵�� @@ -103,7 +124,7 @@ person, ok := statusIndex[info.DocumentNumber] if !ok { // 涓嶅瓨鍦ㄥ搴旂殑浜哄憳鐘舵�佷负鏂版暟鎹� - filteredInfos = append(filteredInfos, db.PersonStatus{CommunityID: communityID, DocumentNumber: info.DocumentNumber, Status: info.Status, FrequentAddress: info.FrequentAddress}) + filteredInfos = append(filteredInfos, db.PersonStatus{OrgId: info.OrgId, CommunityID: communityID, DocumentNumber: info.DocumentNumber, Status: info.Status, FrequentAddress: info.FrequentAddress}) continue } @@ -114,7 +135,7 @@ } // 鏇存柊杩囨护鍚庣殑淇℃伅鍒楄〃 - filteredInfos = append(filteredInfos, db.PersonStatus{CommunityID: communityID, DocumentNumber: info.DocumentNumber, Status: info.Status, FrequentAddress: info.FrequentAddress}) + filteredInfos = append(filteredInfos, db.PersonStatus{OrgId: info.OrgId, CommunityID: communityID, DocumentNumber: info.DocumentNumber, Status: info.Status, FrequentAddress: info.FrequentAddress}) } -- Gitblit v1.8.0