Sindbad~EG File Manager

Current Path : /home/numerotech/conference.numerotech.com/food_kit_scan_badges/core/model/
Upload File :
Current File : //home/numerotech/conference.numerotech.com/food_kit_scan_badges/core/model/HallLogsModel.py

from sqlalchemy import create_engine, MetaData, Table, insert, null, select,update,delete,text
from sqlalchemy.sql import and_, or_
from sqlalchemy import asc, desc
from core import app
import json

#engine = create_engine(app.config['DATABASE_URI'])
engine = create_engine(app.config['DATABASE_URI'],pool_size=5000,pool_pre_ping=True,pool_recycle=3600)
engine_fk = create_engine(app.config['DATABASE_URI_FK'],pool_size=5000,pool_pre_ping=True,pool_recycle=3600)
engine_conf = create_engine(app.config['DATABASE_URI_CONF'],pool_size=5000,pool_pre_ping=True,pool_recycle=3600)


class HallLogsModel():
	def __init__(self):
		try:
			self.meta       = MetaData()
			self.halls  = Table("halls", self.meta, autoload_with=engine)
			self.scan_logs  = Table("scan_logs", self.meta, autoload_with=engine)
		   
		except Exception as e:
			print(e)


	def gethall(self,conf_id,pin_number):
		with engine.connect() as conn:
			# stmt = text("select * from halls where conf_id =:conf_id and (entry_pin_number =:pin_number or exit_pin_number =:pin_number) and is_active = 1 ;")
			stmt = text("select * from halls where conf_id =:conf_id and (pin_number =:pin_number) and is_active = 1 ;")
			results = conn.execute(stmt.bindparams(conf_id=conf_id,pin_number=pin_number)).one_or_none()
			if results :
				return dict(results._mapping)
			else:
				return None


	def getCurrentSessionHallsModel(self,abs_session_table,conf_id,current_dt,hall_id,conf_date):
		with engine.connect() as conn:
			stmt = text("select * from "+str(abs_session_table)+" where conf_id =:conf_id and hall_id=:hall_id and dt=:conf_date and '"+current_dt+"' between starts_by and ends_by ;")
			results = conn.execute(stmt.bindparams(conf_id=conf_id,hall_id=hall_id,conf_date=conf_date))
			results=  results.one_or_none()
			if results :
				return dict(results._mapping)
			else:
				return None

	def usp_save_hall_scanned_data(self,conf_id,delegate_no,hall_id,del_table_name):
		connection  = engine_conf.raw_connection()
		cursor      = connection.cursor()
		cursor.callproc("usp_save_hall_scanned_data_v1",[conf_id,delegate_no,hall_id,del_table_name])
		if cursor.description :
			columns     = [column[0] for column in cursor.description]
			results     = []
			for row in cursor.fetchall():
				results.append(dict(zip(columns, row)))
			cursor.close()
			connection.commit()
			if results :
				return results
			else :
				return None 
		else :
			cursor.close()
			connection.commit()
			return None
			
	def usp_get_scan_log_reports_by_hall(self,conf_date):
		connection  = engine.raw_connection()
		cursor      = connection.cursor()
		cursor.callproc("usp_get_scan_log_reports_by_hall",[conf_date])
		if cursor.description :
			columns     = [column[0] for column in cursor.description]
			results     = []
			for row in cursor.fetchall():
				results.append(dict(zip(columns, row)))
			cursor.close()
			connection.commit()
			if results :
				return results
			else :
				return None 
		else :
			cursor.close()
			connection.commit()
			return None


	def usp_gen_scan_log_reports(self):
		connection  = engine.raw_connection()
		cursor      = connection.cursor()
		cursor.callproc("usp_gen_scan_log_reports",[])
		if cursor.description :
			columns     = [column[0] for column in cursor.description]
			results     = []
			for row in cursor.fetchall():
				results.append(dict(zip(columns, row)))
			cursor.close()
			connection.commit()
			if results :
				return results
			else :
				return None 
		else :
			cursor.close()
			connection.commit()
			return None
			
	def usp_generate_session_table_scan_logs(self,conf_id,hall_id):
		connection  = engine_conf.raw_connection()
		cursor      = connection.cursor()
		cursor.callproc("usp_generate_session_table_scan_logs",[conf_id,hall_id])
		if cursor.description :
			columns     = [column[0] for column in cursor.description]
			results     = []
			for row in cursor.fetchall():
				results.append(dict(zip(columns, row)))
			cursor.close()
			connection.commit()
			if results :
				return results
			else :
				return None 
		else :
			cursor.close()
			connection.co

	def gethallreportHallsModel(self,conf_key,abs_hall_id,current_date):
		connection  = engine_conf.raw_connection()
		cursor      = connection.cursor()
		cursor.callproc("usp_get_hall_report_data",[conf_key,abs_hall_id,current_date])
		if cursor.description :
			columns     = [column[0] for column in cursor.description]
			results     = []
			for row in cursor.fetchall():
				results.append(dict(zip(columns, row)))
			cursor.close()
			connection.commit()
			if results :
				return results
			else :
				return None 
		else :
			cursor.close()
			connection.commit()
			return None

	def gethallsessionreportHallsModel(self,conf_key,abs_hall_id,current_date):
		connection  = engine_conf.raw_connection()
		cursor      = connection.cursor()
		cursor.callproc("usp_get_hall_session_report_data",[conf_key,abs_hall_id,current_date])
		if cursor.description :
			columns     = [column[0] for column in cursor.description]
			results     = []
			for row in cursor.fetchall():
				results.append(dict(zip(columns, row)))
			cursor.close()
			connection.commit()
			if results :
				return results
			else :
				return None 
		else :
			cursor.close()
			connection.commit()
			return None

		
	def getconfdatesHallModel(self,conf_id):
		with engine_conf.connect() as conn:
			stmt = text("select day(dt) as dt,display_dt from abs_sessions where conf_id = :conf_id group by dt order by dt;")
			results = conn.execute(stmt.bindparams(conf_id=conf_id)).all()
			return [dict(r._mapping) for r in results] if results else None
			

	def getActiveSessionHallsModel(self,abs_session_table,conf_id,hall_id,conf_date):
		with engine.connect() as conn:
			stmt = text("select * from "+str(abs_session_table)+" where conf_id =:conf_id and hall_id=:hall_id and dt=:conf_date and is_active=1 ;")
			results = conn.execute(stmt.bindparams(conf_id=conf_id,hall_id=hall_id,conf_date=conf_date))
			results=  results.one_or_none()
			if results :
				return dict(results._mapping)
			else:
				return None

	def usp_generate_scan_logs_as_active(self,conf_id,abs_hall_id):
		connection  = engine_conf.raw_connection()
		cursor      = connection.cursor()
		cursor.callproc("usp_generate_scan_logs_as_active",[conf_id,abs_hall_id])
		if cursor.description :
			columns     = [column[0] for column in cursor.description]
			results     = []
			for row in cursor.fetchall():
				results.append(dict(zip(columns, row)))
			cursor.close()
			connection.commit()
			if results :
				return results
			else :
				return None 
		else :
			cursor.close()
			connection.commit()
			return None

	def usp_generate_scan_logs_as_closed(self,conf_id,abs_hall_id):
		connection  = engine_conf.raw_connection()
		cursor      = connection.cursor()
		cursor.callproc("usp_generate_scan_logs_as_closed",[conf_id,abs_hall_id])
		if cursor.description :
			columns     = [column[0] for column in cursor.description]
			results     = []
			for row in cursor.fetchall():
				results.append(dict(zip(columns, row)))
			cursor.close()
			connection.commit()
			if results :
				return results
			else :
				return None 
		else :
			cursor.close()
			connection.commit()
			return None

	def gethallsessionreportHallsModel(self,conf_key,abs_hall_id,current_date):
		connection  = engine_conf.raw_connection()
		cursor      = connection.cursor()
		cursor.callproc("usp_get_hall_session_report_data",[conf_key,abs_hall_id,current_date])
		if cursor.description :
			columns     = [column[0] for column in cursor.description]
			results     = []
			for row in cursor.fetchall():
				results.append(dict(zip(columns, row)))
			cursor.close()
			connection.commit()
			if results :
				return results
			else :
				return None 
		else :
			cursor.close()
			connection.commit()
			return None

# backoffice

	def gethallsname(self,conf_id):
		conn = engine.connect()
		# stmt = text("select * from halls where conf_id =:conf_id and (entry_pin_number =:pin_number or exit_pin_number =:pin_number) and is_active = 1 ;")
		stmt = text("select * from halls where conf_id =:conf_id  ;")
		results = conn.execute(stmt.bindparams(conf_id=conf_id)).all()
		return [dict(r._mapping) for r in results] if results else None



	def usp_get_overall_session_wise_report(self,conf_id,conf_key,current_date):
		connection  = engine_conf.raw_connection()
		cursor      = connection.cursor()
		cursor.callproc("usp_get_overall_session_wise_report",[conf_id,conf_key,current_date])
		if cursor.description :
			columns     = [column[0] for column in cursor.description]
			results     = []
			for row in cursor.fetchall():
				results.append(dict(zip(columns, row)))
			cursor.close()
			connection.commit()
			if results :
				return results
			else :
				return None 
		else :
			cursor.close()
			connection.commit()
			return None

	def usp_get_overall_delegate_report(self,conf_id,conf_key):
		connection  = engine_conf.raw_connection()
		cursor      = connection.cursor()
		cursor.callproc("usp_get_overall_delegate_report",[conf_id,conf_key])
		if cursor.description :
			columns     = [column[0] for column in cursor.description]
			results     = []
			for row in cursor.fetchall():
				results.append(dict(zip(columns, row)))
			cursor.close()
			connection.commit()
			if results :
				return results
			else :
				return None 
		else :
			cursor.close()
			connection.commit()
			return None

	def usp_get_overall_hall_report(self,conf_id,conf_key,current_date,conf_date):
		connection  = engine_conf.raw_connection()
		cursor      = connection.cursor()
		cursor.callproc("usp_get_overall_hall_report",[conf_id,conf_key,current_date,conf_date])
		if cursor.description :
			columns     = [column[0] for column in cursor.description]
			results     = []
			for row in cursor.fetchall():
				results.append(dict(zip(columns, row)))
			cursor.close()
			connection.commit()
			if results :
				return results
			else :
				return None 
		else :
			cursor.close()
			connection.commit()
			return None

	def usp_get_delegate_session_wise_report(self,conf_id,conf_key,current_date_1,delegate_no):
		connection  = engine_conf.raw_connection()
		cursor      = connection.cursor()
		cursor.callproc("usp_get_delegate_session_wise_report",[conf_id,conf_key,current_date_1,delegate_no])
		if cursor.description :
			columns     = [column[0] for column in cursor.description]
			results     = []
			for row in cursor.fetchall():
				results.append(dict(zip(columns, row)))
			cursor.close()
			connection.commit()
			if results :
				return results
			else :
				return None 
		else :
			cursor.close()
			connection.commit()
			return None

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