Files
stu_teacher/api/__pycache__/scores.cpython-310.pyc
T

38 lines
4.3 KiB
Plaintext
Raw Normal View History

2026-09-21 23:17:51 +08:00
o
Û!±j‘ã@säddlmZmZmZmZddlmZddlmZm Z m
Z
ddl m Z ddl
mZddlmZddlmZddlmZmZmZmZmZmZeƒZd ed
ed efd d
„Zejdedd�eeƒee ddƒƒfded edefdd„ƒZejdedd�edddd�edddd�eddd�eddd d!�eeƒeeƒfd"e d#e d$e d%e d edef d&d'„ƒZ!ej"d(ed)d�ed*dd+d�ed*dd,d�eeƒee ddƒƒfded"e d#e d edef
d-d.„ƒZ#ejd/d0d1d2�eeƒee ddƒƒfd3ed edefd4d5„ƒZ$dS)6é)Ú APIRouterÚDependsÚ
HTTPExceptionÚQuery)ÚSession)Úget_current_userÚ
require_rolesÚget_teacher_class_ids)ÚScoreDAO)Ú
StudentDAO)Úget_db)ÚUser)ÚScoreAddÚ ScoreUpdateÚ ScoreDeleteÚ
ScoreResponseÚScoreListResponseÚScoreAddResponseÚdbÚuserÚreturncCs.|jdkrdS|jdkr|jt||jƒvSdS)uH教师å�ªèƒ½ç®¡ç�†è‡ªå·±æ‰€å¸¦ç�­çº§å­¦ç”Ÿçš„æˆ�绩;管ç�†å‘˜ä¸�å�—é™�ÚadminTÚteacherF)ÚroleÚclass_idr Ú
teacher_id)rrÚstudent©rúQC:\Users\Windows\WorkBuddy\2026-09-21-19-29-22\walin_student_system\api\scores.pyÚ_can_manage_student_scoress

rz/addu)录入æˆ�绩(低于60分触å�‘预警))Úresponse_modelÚsummaryrrÚ
score_dataÚ current_userc ÃsÎ�t ||j¡}|durtddd�‚t|||ƒstddd�‚tj||j|jdd�}|r1tdd d�‚t ||¡}tj ||j
d
�}d}|d r\d |j
›d
|j›d|j›d|j ›dtj ›d� }t
tdi|¤Ž|d�S)Né”õ$学生ä¸�存在,或已被软删除©Ú status_codeÚdetailé“õ3教师å�ªèƒ½ç®¡ç�†è‡ªå·±æ‰€å¸¦ç�­çº§å­¦ç”Ÿçš„æˆ�绩T)Zinclude_deletedi™uB该学生此考核åº�次的æˆ�绩已存在,请使用修改接å�£©Ústu_nameZ
is_warningu预警:学生 u
(学å�· u)第 u 次考核æˆ�绩 u 分低于 u" 分红线,需è¦�多加关注ï¼�)ÚscoreÚwarningr)r Ú
get_activeÚstu_idrrr
Úget_oneÚexam_idÚ add_scoreÚbuild_score_itemr,r-Z WARNING_LINErr)r"rr#rÚexistingÚdb_scoreÚitemr.rrrr3!s€     .r3z/queryu*查询æˆ�绩(按学å�·æˆ–考核åº�次)Néu0按学å�·æŸ¥è¯¢ï¼ˆå­¦ç”Ÿè§’色å�ªèƒ½æŸ¥è‡ªå·±ï¼‰)ÚgeÚ descriptionu按考核åº�次查询)r9édéÈ)r9Úler0r2ÚskipÚlimitc
ƒsâ�|jdkr |j}|dur|durtddd�‚|dur?t ||¡}t ||¡}|r,|jnd‰‡fdd„|Dƒ}tt |ƒ|d�Stj
||||d�\} }g}|D]}
t ||
j¡}|  t d it 
|
|rd|jnd¡¤Ž¡qNt| |d�S)
Nri�u%stu_id 与 exam_id 至少�供一个r&c s"g|]
}tdit |ˆ¡¤Ž‘qS)r)rr
r4)Ú.0Úsr+rrÚ
<listcomp>Ls"zget_scores.<locals>.<listcomp>)ÚtotalÚitems)r>r?r)rr0rr
Zget_by_studentr r/r,rÚlenZ get_by_examÚappendrr4) r0r2r>r?rr#ÚrowsrrDrCrArr+rÚ
get_scores:s&€