U
    i|                     @   st   d dl Z d dlZd dlmZ d dlmZmZmZmZ d dlm	Z	m
Z
 d dlmZ edZeee  ddd	ZdS )
    N)datetime)DictListOptionalUnion)
ProductivoENVIRONMENT)get_connectionZclientes_score_sql)returnc                  C   s  d} d}zzt }|s td| | }||  dd |jD }|	 }|rg }|D ]F}t
t||}dD ]$}||krr|| rr||  ||< qr|| q\tdt| d	 |W  5 Q R  W W S td
 W 5 Q R  W W dS W 5 Q R X W n tjk
r@ }	 z$dt|	 }
t|
 t|
W 5 d}	~	X Y n tk
r }	 z$dt|	 }
t|
 t|
W 5 d}	~	X Y nD tk
r }	 z$dt|	 }
t|
 t|
W 5 d}	~	X Y nX W 5 |rz|   W n  tk
r   td Y nX X dS )z<
    Buscar los registros de score en la base de datos.
    u6  
        SELECT 
            Score.[OrderNum&Line] AS ordernumandline,
            Score.OrderNum, Score.Capacidad,
            Score.Voltaje, Score.Tipo, 
            Score.Caseta, Score.JobNum2,
            Score.FechaProducción,
            Score.FechaMat, Score.AvanceDeSurtimiento,
            Score.AvisoDeTerminacion, Score.MaterialFaltante,
            Score.PartNum_M, Score.Description_M,
            Score.RefCategory_M, 
            Score.NoSerie_M, Score.Faltante_M,
            Score.En_PO_Altern_M, Score.Estatus_M,
            Score.Fecha_Llegada_M, Score.PartNum_G,
            Score.Description_G, 
            Score.NoSerie_G,
            Score.Faltante_G, Score.En_PO_Altern_G,
            Score.Estatus_G, Score.Fecha_Llegada_G
        FROM 
            Score 
        WHERE
            Score.OrderNum IN (
            '126309', '126308', '126307', '126306', '126305', '126304', '126303', '126302', '126301', '126300',
            '126299', '126298', '126297', '126296', '126295', '126294', '126293', '126292', '126291', '126290',
            '126289', '126288', '126287', '126286', '126285', '126284', '126283', '126282', '126281', '126280',
            '126279', '126278', '126277', '126276', '126275', '126274', '126273', '126272', '126271', '126270',
            '126269', '126268', '126267', '126266', '126265', '126264', '126263', '126262', '126261', '126260',
            '126259', '126258', '126257', '126256', '126255', '126254', '126253', '126252', '126251', '126250',
            '126249', '126248', '126247', '126246', '126245', '126244'
        )
        Nu#   Error al cerrar la conexión ala BDu4   No se pudo establecer conexión con la base de datosc                 S   s   g | ]}|d  qS )r    ).0columnr   r   C:\Users\victor.barrera\Documents\proyectos\elepV3\Elep\src\Consultas_SQL\Clientes\NetworkEnvironment\ScoreNetworkEnvironmentQL.py
<listcomp>B   s     z%buscar_score_view.<locals>.<listcomp>)	CreatedAt	UpdatedAtzSe encontraron z registros de scorez-No se encontraron registros en la tabla Scorez-Error de base de datos al buscar los scores: u)   Error de conexión al buscar los scores: z'Error inesperado al buscar los scores: )close	Exceptionloggerwarningr	   ConnectionErrorcursorexecutedescriptionfetchalldictzip	isoformatappendinfolenpyodbcErrorstrerror)queryconnr   columnsrowsresultsrowresult
date_fielde	error_msgr   r   r   buscar_score_view   sP     

"


r/   )r!   loggingr   typingr   r   r   r   configr   r   Consultas_SQL.conexionr	   	getLoggerr   r/   r   r   r   r   <module>   s   
