From 3fe00ae3171ac30deef9ec9c020192fde36e2271 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期二, 11 二月 2025 15:15:41 +0800
Subject: [PATCH] 修复托管条件

---
 models/disappear.go |   31 +++++++++++++++++++++++++++++--
 1 files changed, 29 insertions(+), 2 deletions(-)

diff --git a/models/disappear.go b/models/disappear.go
index a7e0f9a..0532f6b 100644
--- a/models/disappear.go
+++ b/models/disappear.go
@@ -84,6 +84,34 @@
 	results := make([]*db.ModelTaskResults, 0)
 	var ageFilter, labelFilter, keyFilter, lastFilter []PersonInfo
 
+	if m.MinAge == 0 && m.PersonLabel == "" && m.KeyPersonType == "" {
+		err := db.GetDB().Raw(`
+		SELECT
+			s.document_number,
+			s.community_id,
+			s.org_id,
+			p.person_name,
+			p.id_card,
+			s.last_appearance_time,
+			s.last_direction,
+			s.last_location 
+		FROM
+			snapshot_count_summary AS s
+			JOIN person AS p ON p.id = s.document_number 
+		WHERE
+			s.last_appearance_time > ?
+		`, m.StartTime).Scan(&lastFilter).Error
+		if err != nil {
+			logger.Warnf(err.Error())
+		}
+
+		if len(lastFilter) == 0 {
+			return fmt.Errorf("no results found that match the condition %+v", m.Task.Rules)
+		}
+
+		logger.Debugf("task %s match default result %d", m.Task.Name, len(lastFilter))
+	}
+
 	if m.MinAge > 0 {
 		err := db.GetDB().Raw(`
 		SELECT
@@ -204,8 +232,7 @@
 	for _, p := range lastFilter {
 		if len(m.AreaIds) > 0 {
 			_, o1 := m.AreaIds[p.CommunityId]
-			_, o2 := m.AreaIds[p.OrgId]
-			if !o1 && !o2 {
+			if !o1 {
 				continue
 			}
 		}

--
Gitblit v1.8.0