# =============================================================================
# TRAZABILIDAD: MAI-012 - CONTRATOS Y SUBCONTRATOS
# =============================================================================
# Modulo: MAI-012 Contratos y Subcontratos
# Fecha: 2025-11-25
# Version: 1.0.0
# Reutilizacion ERP Generico: 20%
# =============================================================================

metadata:
  modulo: MAI-012
  nombre: Contratos y Subcontratos
  descripcion: Gestion de subcontratistas, contratos, partidas y penalizaciones
  fecha_actualizacion: 2025-11-25
  responsable: Architecture-Analyst
  mapeo_generico: null  # Mayormente especifico
  porcentaje_reutilizacion: 20

# =============================================================================
# REQUERIMIENTOS FUNCIONALES
# =============================================================================
requerimientos:
  - id: RF-CONT-001
    nombre: Catalogo de Subcontratistas
    prioridad: P0
    estado: por_documentar
    tablas_bd:
      - construction.subcontratistas
    endpoints_api:
      - GET /api/v1/subcontratistas
      - POST /api/v1/subcontratistas
      - GET /api/v1/subcontratistas/{id}
      - PATCH /api/v1/subcontratistas/{id}
      - POST /api/v1/subcontratistas/{id}/evaluate
    componentes_frontend:
      - SubcontratistaList
      - SubcontratistaForm
      - SubcontratistaCard
      - SubcontratistaRating

  - id: RF-CONT-002
    nombre: Gestion de Contratos
    prioridad: P0
    estado: por_documentar
    tablas_bd:
      - construction.contratos
      - construction.contrato_partidas
    endpoints_api:
      - GET /api/v1/contratos
      - POST /api/v1/contratos
      - GET /api/v1/contratos/{id}
      - PATCH /api/v1/contratos/{id}
      - GET /api/v1/contratos/{id}/partidas
      - POST /api/v1/contratos/{id}/partidas
      - POST /api/v1/contratos/{id}/activate
      - POST /api/v1/contratos/{id}/terminate
    componentes_frontend:
      - ContratoList
      - ContratoForm
      - ContratoDetail
      - PartidaGrid
      - ContratoWorkflow

  - id: RF-CONT-003
    nombre: Workflow de Aprobacion
    prioridad: P0
    estado: por_documentar
    endpoints_api:
      - POST /api/v1/contratos/{id}/submit-approval
      - POST /api/v1/contratos/{id}/approve
      - POST /api/v1/contratos/{id}/reject
    componentes_frontend:
      - ContratoApproval
      - ApprovalHistory

  - id: RF-CONT-004
    nombre: Penalizaciones y Deducciones
    prioridad: P1
    estado: por_documentar
    endpoints_api:
      - POST /api/v1/contratos/{id}/penalties
      - GET /api/v1/contratos/{id}/penalties
    componentes_frontend:
      - PenaltyForm
      - PenaltyList

# =============================================================================
# DEPENDENCIAS
# =============================================================================
dependencias:
  modulos_requeridos:
    - MAI-001
    - MAI-002
    - MAI-003
  modulos_dependientes:
    - MAI-007
    - MAI-008

metricas:
  total_rf: 4
  total_et: 0
  total_tablas: 3
  cobertura_documentacion: 25%
  cobertura_implementacion: 0%

# =============================================================================
# FIN DEL ARCHIVO
# =============================================================================
