v2.4更新

This commit is contained in:
2026-05-29 11:12:13 +08:00
parent 122ffb4e0d
commit 6c0d8f0e94
12 changed files with 73 additions and 33 deletions

View File

@@ -160,7 +160,8 @@ class ConductModel:
end_date: str = None,
student_id: int = None,
include_revoked: bool = True,
related_type: str = None
related_type: str = None,
reason_prefix: str = None
) -> List[Dict[str, Any]]:
"""获取所有记录(班主任/班长专用)"""
# 空字符串转为None
@@ -170,6 +171,8 @@ class ConductModel:
end_date = None
if related_type == "":
related_type = None
if reason_prefix == "":
reason_prefix = None
sql = """
SELECT cr.*, s.name as student_name, s.student_no, u.real_name as recorder_name,
ru.real_name as revoker_name
@@ -199,6 +202,10 @@ class ConductModel:
sql += " AND cr.related_type = %s"
params.append(related_type)
if reason_prefix:
sql += " AND cr.reason LIKE %s"
params.append(f"{reason_prefix}%")
sql += " ORDER BY cr.created_at DESC LIMIT %s OFFSET %s"
params.extend([limit, offset])
@@ -210,6 +217,7 @@ class ConductModel:
start_date: str = None,
end_date: str = None,
related_type: str = None,
reason_prefix: str = None,
page: int = 1,
page_size: int = 20
) -> Dict[str, Any]:
@@ -220,6 +228,8 @@ class ConductModel:
end_date = None
if related_type == "":
related_type = None
if reason_prefix == "":
reason_prefix = None
conditions = ["cr.is_revoked = 0"]
params = []
@@ -236,6 +246,9 @@ class ConductModel:
if related_type:
conditions.append("cr.related_type = %s")
params.append(related_type)
if reason_prefix:
conditions.append("cr.reason LIKE %s")
params.append(f"{reason_prefix}%")
where_clause = " AND ".join(conditions)

View File

@@ -71,10 +71,8 @@ class SubjectModel:
@staticmethod
async def has_related_data(subject_id: int) -> bool:
"""检查科目是否有关联数据assignments表"""
sql = "SELECT COUNT(*) as cnt FROM assignments WHERE subject_id = %s"
result = await execute_one(sql, (subject_id,))
return result['cnt'] > 0
"""检查科目是否有关联数据"""
return False
@staticmethod
async def delete(subject_id: int) -> bool: