Pular para o conteúdo

Endpoints de Lotes (Produção)

Os endpoints de Lotes permitem gerenciar ciclos de produção de camarão com:

  • Rastreamento automatizado de biometria
  • Cálculo de FCA (Fator de Conversão Alimentar)
  • Análise de curva de crescimento (real vs esperado)
  • Ajuste de taxa de sobrevivência baseado em IA
  • Estimativa de biomassa
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"pond_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"batch_code": "LOTE-2026-001",
"species": "Litopenaeus vannamei",
"lineage": "string",
"larva_origin": "string",
"start_date": "2026-02-24",
"expected_harvest_date": "2026-04-08T00:00:00Z",
"actual_harvest_date": null,
"initial_count": 0,
"initial_avg_weight": 0,
"initial_density": 0,
"estimated_survival_rate": 85,
"status": "ACTIVE",
"notes": "Lote de pós-larvas de alta qualidade",
"created_at": "2026-01-08T10:30:00Z"
}
StatusDescrição
ACTIVELote atualmente em produção
FINISHEDLote concluído com sucesso
ABORTEDLote terminado prematuramente

Cria um novo lote de produção.

Authorization: Bearer <token>
{
"pond_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"batch_code": "string",
"species": "Litopenaeus vannamei",
"lineage": "string",
"larva_origin": "string",
"start_date": "2026-02-24",
"initial_count": 0,
"initial_avg_weight": 0,
"initial_density": 0,
"estimated_survival_rate": 85,
"notes": "string"
}
CampoTipoObrigatórioDescrição
pond_idUUIDViveiro para este lote
batch_codestringCódigo identificador único do lote
speciesstringEspécie do camarão (ex: “Litopenaeus vannamei”)
lineagestringLinhagem genética do lote
larva_originstringOrigem das larvas
start_datestringData de início do lote (formato: YYYY-MM-DD)
initial_countintegerContagem inicial de camarões
initial_avg_weightfloatPeso médio inicial (gramas)
initial_densityfloatDensidade inicial (camarões/m²)
estimated_survival_ratefloatTaxa de sobrevivência estimada % (padrão: 85)
notesstringNotas adicionais

Retorna o objeto do lote criado.


Lista todos os lotes.

Authorization: Bearer <token>
NomeTipoObrigatórioDescrição
pond_idUUIDFiltrar por viveiro
statusstringFiltrar por status (ACTIVE, FINISHED, ABORTED)

Retorna array de objetos de lote.


Obtém detalhes do lote com a biometria mais recente.

NomeTipoDescrição
batch_idUUIDIdentificador do lote
{
"id": "batch-uuid",
"pond_id": "pond-uuid",
"batch_code": "LOTE-2026-001",
"species": "Litopenaeus vannamei",
"start_date": "2026-01-08",
"status": "ACTIVE",
"current_biomass_kg": 1062.5,
"current_fca": 1.45,
"latest_biometry": {
"measurement_date": "2026-01-15T00:00:00Z",
"average_weight_g": 5.0,
"sample_size": 100
}
}

Atualiza detalhes do lote.

NomeTipoDescrição
batch_idUUIDIdentificador do lote

Todos os campos são opcionais:

{
"expected_harvest_date": "2026-04-15T00:00:00Z",
"survival_rate": 82.0,
"notes": "Taxa de sobrevivência ajustada após evento"
}

Retorna o objeto do lote atualizado.


Finaliza um lote (despesca).

NomeTipoDescrição
batch_idUUIDIdentificador do lote
{
"actual_harvest_date": "2026-04-10T00:00:00Z",
"final_weight_kg": 1250.5,
"notes": "Despesca bem-sucedida"
}
{
"id": "batch-uuid",
"status": "FINISHED",
"actual_harvest_date": "2026-04-10T00:00:00Z",
"total_days": 92,
"final_fca": 1.42
}

Obtém análise de curva de crescimento (real vs esperado).

NomeTipoDescrição
batch_idUUIDIdentificador do lote
{
"batch_id": "batch-uuid",
"batch_code": "LOTE-2026-001",
"days_active": 7,
"data_points": [
{
"day": 0,
"real_weight_g": 0.5,
"expected_weight_g": 0.5
},
{
"day": 7,
"real_weight_g": 5.0,
"expected_weight_g": 1.55
}
],
"performance": "ABOVE_EXPECTED"
}

Obtém estatísticas e métricas chave do lote.

{
"batch_id": "batch-uuid",
"days_active": 7,
"estimated_biomass_kg": 1062.5,
"current_fca": 1.45,
"survival_rate": 85.0,
"growth_rate_g_per_day": 0.64,
"total_feed_kg": 150.0
}
  • FCA (Fator de Conversão Alimentar): FCA = Ração Total / (Biomassa Final - Biomassa Inicial)
  • Estimativa de Biomassa: (população × taxa_sobrevivência% × peso_médio_g) / 1000
  • Taxa de Crescimento: Ganho de peso diário em gramas

Ajusta taxa de sobrevivência baseado em evento (doença, mortalidade, etc.).

{
"event_description": "Surto de doença detectado",
"severity": 0.7
}
CampoTipoObrigatórioDescrição
event_descriptionstringDescrição do evento
severityfloatGravidade (0.0 a 1.0)
{
"batch_id": "batch-uuid",
"old_survival_rate": 85.0,
"new_survival_rate": 78.5,
"adjustment": -6.5,
"event_description": "Surto de doença detectado"
}

  1. Criar Lote - POST /batches/ ao iniciar novo ciclo
  2. Registrar Biometrias - Adicionar medições semanais
  3. Monitorar Crescimento - GET /batches/{id}/growth-curve
  4. Ajustar Sobrevivência - Se houver eventos de mortalidade
  5. Analisar Estatísticas - GET /batches/{id}/stats
  6. Finalizar Lote - POST /batches/{id}/finish na despesca

Obtém análise detalhada de crescimento incluindo métricas de desempenho.

NomeTipoDescrição
batch_idUUIDIdentificador do lote
{
"batch_id": "batch-uuid",
"batch_code": "LOTE-2026-001",
"analysis": {
"total_days": 45,
"initial_weight_g": 0.5,
"current_weight_g": 12.8,
"weight_gain_g": 12.3,
"adg": 0.27,
"expected_adg": 0.15,
"performance_percentage": 180.0,
"projected_harvest_weight_g": 25.0,
"projected_harvest_date": "2026-04-08T00:00:00Z"
},
"recommendations": [
"Taxa de crescimento está acima do esperado. Considere manter o regime de alimentação atual.",
"Projeção de alcançar peso de despesca 7 dias antes do programado."
]
}
CampoDescrição
adgGanho Diário Médio (g/dia)
performance_percentageCrescimento real vs esperado (%)
projected_harvest_weight_gPeso estimado na despesca
projected_harvest_dateData estimada de despesca baseada no crescimento atual

Obtém dados formatados para visualização de gráfico de crescimento.

NomeTipoDescrição
batch_idUUIDIdentificador do lote
{
"batch_id": "batch-uuid",
"batch_code": "LOTE-2026-001",
"chart_data": {
"labels": ["Dia 0", "Dia 7", "Dia 14", "Dia 21", "Dia 28", "Dia 35", "Dia 42"],
"datasets": [
{
"label": "Peso Real (g)",
"data": [0.5, 1.2, 2.5, 4.0, 6.5, 9.0, 12.8],
"borderColor": "#22c55e",
"fill": false
},
{
"label": "Peso Esperado (g)",
"data": [0.5, 1.55, 2.6, 3.65, 4.7, 5.75, 6.8],
"borderColor": "#3b82f6",
"borderDash": [5, 5],
"fill": false
}
]
},
"summary": {
"above_expected": true,
"variance_percentage": 88.2
}
}