File size: 5,383 Bytes
42df68f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6a46107
42df68f
 
6a46107
 
 
 
 
 
42df68f
 
 
6a46107
42df68f
 
6a46107
 
 
 
42df68f
6a46107
 
42df68f
 
 
 
 
6a46107
 
 
 
42df68f
6a46107
 
42df68f
6a46107
42df68f
 
 
6a46107
 
 
 
42df68f
6a46107
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
42df68f
 
 
 
 
 
6a46107
42df68f
6a46107
 
42df68f
6a46107
 
 
 
 
 
 
 
 
 
 
 
 
42df68f
 
 
 
6a46107
42df68f
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
import sys
import os
from sqlalchemy.orm import Session
from datetime import datetime, timedelta

# Add parent dir to path to import app
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

from app.database import SessionLocal, engine, Base
from app.models.tender import TenderModel
from app.models.analysis import AnalysisHistoryModel
from app.models.company import CompanyProfileModel

def seed():
    Base.metadata.drop_all(bind=engine)
    Base.metadata.create_all(bind=engine)
    
    db = SessionLocal()
    
    # 1. Company Profile (Your profile)
    profile = CompanyProfileModel(
        name="Andes Digital Solutions",
        industry="Software Engineering & AI",
        services="Machine Learning, Custom ERP, Cloud Infrastructure",
        experience="10+ years delivering enterprise software for the public sector.",
        certifications="AWS Partner, ISO 9001, SCRUM Master Team",
        regions="Metropolitana, Valparaíso, Biobío, Araucanía",
        documents_available="RUT, Financial Statements 2023, Technical Portfolio, Staff Certifications"
    )
    db.add(profile)
    
    # 2. Software Tenders (The core demo data)
    tenders = [
        TenderModel(
            code="2394-15-LR24",
            name="Implementación Sistema ERP para Red de Salud Oriente",
            description="Suministro, instalación y soporte de sistema de gestión de recursos empresariales para red hospitalaria.",
            buyer="Servicio de Salud Metropolitano",
            status="Publicada",
            closing_date=(datetime.now() + timedelta(days=20)).strftime("%Y-%m-%d"),
            estimated_amount=450000000,
            region="Metropolitana",
            sector="Tecnología de la Información",
            source="Mercado Público"
        ),
        TenderModel(
            code="5021-10-LP24",
            name="Plataforma de IA para Análisis de Datos Criminalísticos",
            description="Desarrollo de algoritmos de visión computacional y análisis predictivo para seguridad ciudadana.",
            buyer="Subsecretaría de Prevención del Delito",
            status="Publicada",
            closing_date=(datetime.now() + timedelta(days=12)).strftime("%Y-%m-%d"),
            estimated_amount=180000000,
            region="Metropolitana",
            sector="Software & IA",
            source="Mercado Público"
        ),
        TenderModel(
            code="6655-22-LE24",
            name="Modernización de App Móvil 'Trámites en Línea'",
            description="Rediseño UX/UI y migración a arquitectura serverless de la aplicación ciudadana principal.",
            buyer="Municipalidad de Providencia",
            status="Publicada",
            closing_date=(datetime.now() + timedelta(days=4)).strftime("%Y-%m-%d"),
            estimated_amount=65000000,
            region="Metropolitana",
            sector="Desarrollo Mobile",
            source="Mercado Público"
        ),
        TenderModel(
            code="8899-44-LP24",
            name="Servicio de Ciberseguridad y SOC 24/7",
            description="Monitoreo proactivo de amenazas y respuesta ante incidentes para infraestructura gubernamental.",
            buyer="Ministerio del Interior",
            status="Abierta",
            closing_date=(datetime.now() + timedelta(days=30)).strftime("%Y-%m-%d"),
            estimated_amount=520000000,
            region="Nacional",
            sector="Ciberseguridad",
            source="Mercado Público"
        )
    ]
    for t in tenders:
        db.add(t)
    
    # 3. Pre-Analyzed History (To show the results immediately)
    history = AnalysisHistoryModel(
        tender_code="5021-10-LP24",
        tender_name="Plataforma de IA para Análisis de Datos Criminalísticos",
        decision="Recommended",
        score=92,
        summary="Oportunidad estratégica de alto valor. Tenemos el stack tecnológico (Gemini, Python) y la experiencia previa en seguridad ciudadana.",
        risks='''[
            {"severity": "High", "description": "Requisito de disponibilidad 99.9% 24/7"},
            {"severity": "Medium", "description": "Integración con bases de datos legacy de Carabineros"},
            {"severity": "Low", "description": "Plazo de entrega de la Fase 1 en 45 días"}
        ]''',
        technical_analysis="Factibilidad técnica excelente. Podemos usar la arquitectura de agentes que ya tenemos implementada.",
        legal_analysis="Cumplimos con todos los seguros y garantías solicitadas en el artículo 4.2 de las bases.",
        commercial_analysis="ROI estimado del 35%. Es un proyecto insignia para nuestro portafolio de IA.",
        proposal_draft="Nuestra propuesta se basa en una arquitectura de microservicios escalable, utilizando modelos de lenguaje avanzados para el procesamiento de texto y redes neuronales para visión...",
        report_markdown="# Executive Report: AI Platform Crime Analysis\n\n## Summary\nThis tender is a perfect match for AndesOps AI.\n\n## Key Recommendations\n1. Focus the proposal on the 'Safety-First' approach.\n2. Highlight our speed of development using AI Agents.",
        created_at=datetime.now() - timedelta(hours=5)
    )
    db.add(history)
    
    db.commit()
    print("Database seeded with high-quality Software Tenders!")
    db.close()

if __name__ == "__main__":
    seed()