Sindbad~EG File Manager

Current Path : /home/numerotech/hs.numerotech.com/scan_v1/core/model/__pycache__/
Upload File :
Current File : //home/numerotech/hs.numerotech.com/scan_v1/core/model/__pycache__/AttendanceModel.cpython-310.pyc

o

�sep�@s�ddlmZddlmZmZmZddlmZmZmZm	Z	m
Z
ddlmZm
Z
ddlmZeejddddd	�ZGd
d�d�ZdS)
�)�session)�request�	Blueprint�jsonify)�
create_engine�select�MetaData�Table�text)�and_�or_)�app�DATABASE_URITi)�
pool_pre_ping�pool_recycle�futurec@s|eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�ZdS)�AttendanceModelc
CsPzt�|_td|jtd�|_WdSty'}zt|�WYd}~dSd}~ww)N�session_attendance_log)�
autoload_with)r�metar	�enginer�	Exception�print)�self�e�r�[/home/numerote/conference.numerotech.com/food_kit_scan_badges/core/model/AttendanceModel.py�__init__s��zAttendanceModel.__init__cCs�t���7}tdt|�d|d|d�}|�|���}|r%t|j�nd}|r2|Wd�S	Wd�dS1s>wYdS)Nz)select * from conference where  conf_id =z and conf_key ='�' and 'z' <= conf_end_time ;)r�connectr
�str�execute�first�dict�_mapping)r�conf_id�conf_key�
current_dt�conn�stmt�result�resultsrrr�getConf_open_closeds
$�$�z#AttendanceModel.getConf_open_closedcCs�t���7}tdt|�dt|�d�}|�|���}|r%dd�|D�nd}|r2|Wd�S	Wd�dS1s>wYdS)Nz$SELECT distinct(display_dt),dt from � where conf_id=z  order by dt asccS�g|]}t|j��qSr�r#r$��.0�rrrr�
<listcomp>%�z+AttendanceModel.getDays.<locals>.<listcomp>�rrr
r r!�all)r�abs_session_tabler%r(r)r+r*rrr�getDays!s
 �$�zAttendanceModel.getDayscCs�t���=}tdt|�dt|�dt|�d�}|�|���}|r+dd�|D�nd}|r8|Wd�S	Wd�dS1sDwYdS)Nz1SELECT distinct(hall),hall_id,dt,display_dt from r-�
 and dt= 'z' order by hall_id ;cSr.rr/r0rrrr3/r4z,AttendanceModel.getHalls.<locals>.<listcomp>r5)rr7r%�	conf_dater(r)r+r*rrr�getHalls+s
,�$�zAttendanceModel.getHallsc	Cs�t���C}tdt|�dt|�dt|�dt|�d�}|�|���}|r1dd�|D�nd}|r>|Wd�S	Wd�dS1sJwYdS)NzSELECT * from r-z and  hall_id=r9z!' and abs_session_id is not null cSr.rr/r0rrrr39r4z2AttendanceModel.getSessionName.<locals>.<listcomp>r5)	rr7r%�hall_idr:r(r)r+r*rrr�getSessionName5s
8�$�zAttendanceModel.getSessionNamecCs�g}z[t��}|��}d}d}|�d||||g�	dd�|jD�}g}		|��}
|
dur.n
tt||
��}|	�|�q%|�t	|	��|�
�durIn|jdurOnqW|��|SW|��|S|��w)NZ usp_get_abstract_session_spakers�cS�g|]}|d�qS�rr�r1�crrrr3H�z/AttendanceModel.get_session.<locals>.<listcomp>�r�raw_connection�cursor�callproc�description�fetchoner#�zip�append�list�nextset�close)rr%�asession_id�sets�
connectionrF�dateZhall�names�set_�row_raw�rowrrr�get_session?s<
�
��
�zAttendanceModel.get_sessionc	Cs�t���8}tdt|�dt|�dt|�dt|�dt|�d�}|�|���}|r3|jndWd�S1s?wYdS)Nzselect * from z where conf_id =z and hall_id='z' and dt= 'rz!' between starts_by and ends_by ;)rrr
r r!r"r$)	rr7r%r'r<r:r(r)r+rrr�getCurrentSessionYs

D$�z!AttendanceModel.getCurrentSessioncCs�g}zWt��}|��}|�d||||g�	dd�|jD�}g}		|��}
|
dur*n
tt||
��}|	�|�q!|�t	|	��|�
�durEn|jdurKnqW|��|SW|��|S|��w)N�usp_get_session_queryr>cSr?r@rrArrrr3jrCz9AttendanceModel.usp_get_session_query.<locals>.<listcomp>rD)rr%r<r:r'rPrQrFrSrTrUrVrrrrYbs8
�
��
�z%AttendanceModel.usp_get_session_querycCsvt���-}td|�d��}|�|���}|rt|j�nd}|r(|Wd�S	Wd�dS1s4wYdS)Nz7select * from  abs_session_types  where abs_session_id=�;)rrr
r!r"r#r$�rrOr(r)r+r*rrr�getsessiondata_session_id�s
�$�z)AttendanceModel.getsessiondata_session_idcCs�t����}d}d}dg}g}g}|D]Z}||d}||d}|D]A}	t|	d�dkrH|	|rG|dt|	d�d	|	|}|�|	d�q"|	|rc|d
t|	d�d	|	|}|�|	d�q"|d}|d}q|dd�}|dd�}d
�dd�|D��}d
�dd�|D��}|dt|�d}|dt|�d}t|�dkr�||}|�t|��}
n
t|�dkr�|�t|��}
|�	�	Wd�dS1s�wYdS)NzUPDATE abs_topics SET zUPDATE abs_judges SET �
is_presentz = case �is_judgerz When topic_id = �pk_idz then z When judges_id = z END, ����,cs��|]}t|�VqdS�N�r �r1rrrr�	<genexpr>���z4AttendanceModel.update_attendance.<locals>.<genexpr>csrbrcrdrerrrrf�rgz Where topic_id in (z );z Where judges_id in (ZSuccess)
rr�intr rK�join�lenr!r
�commit)r�speaker_datar(r)Zstmt1�keynameZ
judge_pkidZauthor_pkid�j�ir*rrr�update_attendance�sF
 � �
$�z!AttendanceModel.update_attendancecCsTt���}td�|||��}|�|�}|��	Wd�dS1s#wYdS)NzZupdate abs_session_types set attendance_on = '{}',remarks = '{}' where abs_session_id = {}�success)rrr
�formatr!rk)rrO�datetime�remarksr(r)r+rrr�update_session�s

$�zAttendanceModel.update_sessioncCsJt���}|�|j��|�}|��	Wd�dS1swYdS)Nrq)rrr!r�insertrk)r�datar(r*rrr�insert_session_attendance_log�s

$�z-AttendanceModel.insert_session_attendance_logcCsrt��}|��}|�d||g�dd�|jD�}g}|��D]}|�tt||���q|�	�|�
�|r7dSdS)NZ#usp_generate_certificate_by_sessioncSr?r@r)r1�columnrrrr3�rCz9AttendanceModel.generate_certificates.<locals>.<listcomp>rq�fail)rrErFrGrH�fetchallrKr#rJrNrk)rr%�
session_idrQrF�columnsr+rVrrr�generate_certificates�sz%AttendanceModel.generate_certificatescCszt���/}td|�d��}|�|���}|rdd�|D�nd}|r*|Wd�S	Wd�dS1s6wYdS)Nz<select * from session_attendance_log where abs_session_id = z order by loged_oncSr.rr/r0rrrr3�r4z9AttendanceModel.get_session_volunteer.<locals>.<listcomp>)rrr
r!r6r[rrr�get_session_volunteer�s
�$�z%AttendanceModel.get_session_volunteerN)�__name__�
__module__�__qualname__rr,r8r;r=rWrXrYr\rprurxr~rrrrrr
s	



	 
#rN)�flaskrrrr�
sqlalchemyrrrr	r
Zsqlalchemy.sqlrr�corer
�configrrrrrr�<module>s

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists