v2.5.1更新
This commit is contained in:
@@ -30,10 +30,23 @@ class SemesterService:
|
||||
"""获取学期列表"""
|
||||
try:
|
||||
semesters = await SemesterModel.get_all()
|
||||
today = datetime.date.today()
|
||||
for sem in semesters:
|
||||
counts = await SemesterModel.count_records_by_semester(sem['semester_id'])
|
||||
sem['conduct_count'] = counts['conduct_count']
|
||||
sem['attendance_count'] = counts['attendance_count']
|
||||
# 计算当前周数(仅活跃学期且有开始日期时)
|
||||
sem['current_week'] = None
|
||||
if sem.get('is_active') and sem.get('start_date'):
|
||||
try:
|
||||
s_date = sem['start_date']
|
||||
if isinstance(s_date, str):
|
||||
s_date = datetime.datetime.strptime(s_date, '%Y-%m-%d').date()
|
||||
delta = (today - s_date).days
|
||||
if delta >= 0:
|
||||
sem['current_week'] = delta // 7 + 1
|
||||
except (ValueError, TypeError):
|
||||
pass
|
||||
return {
|
||||
"success": True,
|
||||
"semesters": semesters
|
||||
|
||||
Reference in New Issue
Block a user