CoolFace
Apppublic

fmatituy/selectospromanager

sourceHugging Faceupdated 6mo agoView on Hugging Face
0likes
queries_ai.cpython-313.pyc71 linesDownload Raw Back to __pycache__
1�

2r/�i����SSKJrJrJr SSKJr \"5rSrSrSr	Sr3SrSrS	r
S4rSrSrSSjrSrSrSrSrSrg
)�)�db_fetchall�db_fetchone�5db_execute)�PermisosAIAssistantc��[S5n/nUH(nUSS:dMURSSUSS305 M* U(d6SS	S7.SSS8./nU$)
Nz<SELECT nombre, avance FROM proyectos WHERE estado = 'Activo'�avance��insightz	Proyecto �nombreuD: Bajo avance inicial, programar inducción SST para personal nuevo.�zERiesgo elevado en Proyecto Redes por fatiga detectada en el personal.)�idr9�uJOptimización sugerida en la distribución de turnos para el próximo mes.)r�append)�	proyectos�insights�ps   �YC:\Users\faust\.gemini\antigravity\scratch\selectos_promanager\src\database\queries_ai.py�get_ai_insights_sstrsy���Z�[�I��H�
���X�;����O�O�Y�)�A�h�K�=�AE�)F�G�
H��10��!h�i��!m�n�11���O�c���URSS5n[RXRS55n[USS5nSnUS:�aSnUS	:�aS12nUS-UUSUSS
.$)N�descripcion��proyecto_id�
datos_formato�riesgos�Lowr�Medium��Highg�������?�analisis_ia)�score�level�ai_analysis�suggested_fields)�get�ai_asst�suggest_permit_data�len)�data�	task_desc�13sugerencia�num_riesgosr"s     r�analyze_risk_factorsr-s��������+�I��,�,�Y����8O�P�J��j��1�)�<�=�K��E��Q�����Q�����s�"��!�-�0�&��7�	�rc�,�[RX5$)z>Retorna la sugerencia completa de la IA para un nuevo permiso.)r&r')�task_descriptionrs  r�get_suggested_permitr0(s���&�&�'7�E�Erc�,�[RX5$)zKValida certificaciones del personal seleccionado contra el tipo de permiso.)r&�validate_personnel_for_task)�personal_ids�template_ids  r�validate_permit_personnelr5,s���.�.�|�I�Irc��[S5$)Nal14        SELECT u.id, u.nombre, r.nombre as rol, 15               GROUP_CONCAT(c.tipo || ' (' || c.estado || ')') as certificaciones,16               COUNT(c.id) as count_certs17        FROM usuarios u18        JOIN roles r ON u.rol_id = r.id19        LEFT JOIN sst_certificaciones c ON u.id = c.usuario_id20        WHERE r.nombre != 'Cliente'21        GROUP BY u.id22    �r�rr�!get_employees_with_certificationsr90s���	�		�		rc��[S5$)Nz1SELECT * FROM plantillas_formatos ORDER BY id ASCr7r8rr�get_plantillas_formatosr;;s���J�K�Krc	�h�SSKJn [SXX4R5RS5U45 g)Nr��datetimez�23        UPDATE plantillas_formatos 24        SET nombre = ?, archivo_url = ?, creado_por = ?, fecha_creacion = ?, activa = 125        WHERE tipo_formato = ?26    �%Y-%m-%d %H:%M)r>r�now�strftime)r�tipo_formato�archivo_url�27creado_porr>s     r�save_plantilla_formatorE>s2��!����z�<�<�>�+B�+B�CS�+T�Vb�	c�	erc��[SU45 g)Nz�28        UPDATE plantillas_formatos 29        SET archivo_url = NULL, estructura_json = NULL, creado_por = 'RESET'30        WHERE id = ?31    �r�r
s r�delete_plantilla_formatorIFs����
��	rc��[SU45$)Nz'SELECT * FROM formatos_sst WHERE id = ?)rrHs r�get_formato_sst_by_idrKOs���@�2�%�H�Hrc��[SX45 g)Nz?UPDATE formatos_sst SET datos_completados_json = ? WHERE id = ?rG)r
�	json_datas  r�update_formato_sst_jsonrNRs���P�S\�Ra�brNc32��SSKJn33 SSKJn U	(d/U(a([SXp45nU(aUSn	[	SU	S35 U	(aH[SXU34R
5RS	5X5Xi45 [S35U	45n
U
(aU
S$S$S
SSSSSSSSSSS.nURUS5nS[U5R5;aSnS[U5R5;aSnS[U5R5;aSnS[U5R5;aSn[S5n
U
S=(d SS-nUS US!3n[S"XX*R
5RS	5X4UXVXx45 U(a([S#U45nU(aU"USS$S%US&U3S'9 U$U$![an[	S(U35 SnAU$SnAff=f))Nrr=)�update_estado_solicitud_permisoziSELECT id FROM formatos_sst WHERE actividad_id = ? AND tipo_formato = ? AND estado != 'Eliminado' LIMIT 1r
u%Detectada duplicidad lógica para ID z#. Actualizando documento existente.z�36            UPDATE formatos_sst 37            SET archivo_url = ?, creado_por = ?, fecha = ?, estado = ?, datos_json = ?, archivo_pdf_url = ?38            WHERE id = ?39        r?z1SELECT consecutivo FROM formatos_sst WHERE id = ?�consecutivozDOC-UPD�ARO�JSA�ALT�CAL�EXC�ESC�ELE�IZA�ENP�LIM)rRrS�Alturas�CalienteuExcavación y DemoliciónzEspacios Confinadosu40Eléctrico�Excavaciones�IzajeuEnergías PeligrosasuLimpieza y Desinfección�PET�ALTURAS�CALIENTE�	CONFINADO�	ELECTRICOz+SELECT MAX(id) as last_id FROM formatos_sst�last_idr�-�04dz�41        INSERT INTO formatos_sst (tipo_formato, archivo_url, creado_por, fecha, estado, proyecto_id, consecutivo, datos_json, archivo_pdf_url, actividad_id, id_plantilla)42        VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)43    zWSELECT id FROM sst_solicitudes_permisos WHERE actividad_id = ? AND estado = 'Pendiente'�44CompletadozEmitido u
 con código )�sol_id�nuevo_estado�45comentarioz$Error cerrando solicitud vinculada: )r>�database.queriesrPr�printrr@rAr%�str�upper�	Exception)�tipo�url�usuario�estador�46datos_json�archivo_pdf_url�actividad_id�id_plantilla�doc_idr>rP�existing�res�map_abbr�abbr�next_idrQ�sol�es                    r�save_formato_generador�Us%��!�@��l�� K�NZ�Ma�b����d�^�F��9�&��Ad�e�f�����H�L�L�N�3�3�4D�E�v�[j�
s�		u��M�PV�y�Y��%(�s�=�!�7�i�7��U�u�%�%*�5��U�U� %�5�	�H��<�<��e�$�D��C��I�O�O�%�%�e�t��S��Y�_�_�&�&�u���c�$�i�o�o�'�'����c�$�i�o�o�'�'���47�C�48D�C��9�~�"��a�'�G��F�!�G�C�=�)�K����W�l�l�n�5�5�6F�G��^i�ku�IU�49d�e��50	>��w�{G�zI�J�C��/��t�9�!-�!)�$��}�[�M�J����;����	>��8���<�=�=����	>�s�	%F2�251G�<G�Gc��[SX45 g)Nz/UPDATE formatos_sst SET estado = ? WHERE id = ?rG)r
rts  r�update_formato_statusr��s���@�6�,�Orc��[S5$)Nz�52        SELECT f.*, p.nombre as proyecto_nombre 53        FROM formatos_sst f 54        LEFT JOIN proyectos p ON f.proyecto_id = p.id 55        WHERE f.estado = 'Pendiente' 56        ORDER BY f.id DESC57    r7r8rr�get_pendientes_aprobacionr�������	�	rc��[S5$)Nu�58        SELECT f.*, p.nombre as proyecto_nombre 59        FROM formatos_sst f 60        LEFT JOIN proyectos p ON f.proyecto_id = p.id 61        WHERE f.estado LIKE 'Borrador%' OR f.estado = 'Diseño' 62        ORDER BY f.id DESC63    r7r8rr�get_sara_draftsr��r�rc��[SU45 g)Nz%DELETE FROM formatos_sst WHERE id = ?rGrHs r�delete_formato_sstr��s���6���>rc��[S5$)Nz�64        SELECT f.*, p.nombre as proyecto_nombre 65        FROM formatos_sst f 66        LEFT JOIN proyectos p ON f.proyecto_id = p.id 67        ORDER BY f.id DESC68    r7r8rr�get_formatos_generadosr��s����	�	r)�GeneradoNNNNNN)rlrrr�modules.sst.ai_assistantrr&rr-r0r5r9r;rErIrKrNr�r�r�r�r�r�r8rr�<module>r�sn��A�A�8�69�70��� �$F�J�71	�L�e��I�c�=�~P�	�	�?�	r