CoolFace
Apppublic

fmatituy/selectospromanager

sourceHugging Faceupdated 6mo agoView on Hugging Face
0likes
fix_items.py57 linesDownload Raw Back to scripts
1import sqlite32import os3 4def get_db_path():5    root_db = os.path.join(os.getcwd(), 'selectos.db')6    if os.path.exists(root_db):7        return root_db8    return 'selectos.db'9 10DB_PATH = get_db_path()11 12def fix_missing_items():13    conn = sqlite3.connect(DB_PATH)14    c = conn.cursor()15    16    # 1. BOTIQUINES17    c.execute("SELECT id FROM sst_inspeccion_plantillas WHERE nombre = 'Inspección de Botiquines'")18    row = c.fetchone()19    if row:20        tid = row[0]21        c.execute("SELECT COUNT(*) FROM sst_inspeccion_items WHERE plantilla_id = ?", (tid,))22        if c.fetchone()[0] == 0:23            items = [('Inventario completo según FURAT', 'Contenido'), ('Elementos con fecha vigente', 'Cumplimiento'), ('Gasa y vendas limpias', 'Salud'), ('Caja en buen estado', 'Protección')]24            for text, cat in items:25                c.execute("INSERT INTO sst_inspeccion_items (plantilla_id, item_texto, categoria_item) VALUES (?,?,?)", (tid, text, cat))26            print(f"Items añadidos a Botiquines (ID: {tid})")27 28    # 2. ALTURAS29    c.execute("SELECT id FROM sst_inspeccion_plantillas WHERE nombre = 'Checklist Alturas'")30    row = c.fetchone()31    if row:32        tid = row[0]33        c.execute("SELECT COUNT(*) FROM sst_inspeccion_items WHERE plantilla_id = ?", (tid,))34        if c.fetchone()[0] == 0:35            items = [('Arnés sin costuras rotas', 'EPP'), ('Eslinga con absorbedor intacto', 'Seguridad'), ('Conectores sin oxidación', 'Equipo'), ('Puntos de anclaje certificados', 'Infraestructura')]36            for text, cat in items:37                c.execute("INSERT INTO sst_inspeccion_items (plantilla_id, item_texto, categoria_item) VALUES (?,?,?)", (tid, text, cat))38            print(f"Items añadidos a Alturas (ID: {tid})")39 40    # 3. HERRAMIENTAS41    c.execute("SELECT id FROM sst_inspeccion_plantillas WHERE nombre = 'Herramientas Manuales'")42    row = c.fetchone()43    if row:44        tid = row[0]45        c.execute("SELECT COUNT(*) FROM sst_inspeccion_items WHERE plantilla_id = ?", (tid,))46        if c.fetchone()[0] == 0:47            items = [('Mangos sin grietas o fisuras', 'Físico'), ('Filos con protección', 'Seguridad'), ('Orden y aseo en el cajón', 'Entorno')]48            for text, cat in items:49                c.execute("INSERT INTO sst_inspeccion_items (plantilla_id, item_texto, categoria_item) VALUES (?,?,?)", (tid, text, cat))50            print(f"Items añadidos a Herramientas (ID: {tid})")51 52    conn.commit()53    conn.close()54 55if __name__ == '__main__':56    fix_missing_items()57