File size: 5,383 Bytes
5e52bd7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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()