From 9d418c090a6a740d3c27d45a8eed3daed9213a6b Mon Sep 17 00:00:00 2001
From: sunty <1172534965@qq.com>
Date: 星期一, 27 五月 2024 11:37:02 +0800
Subject: [PATCH] 调整执行策略 初始默认不执行
---
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