Saltar al contenido principal

Gestion-de-precision

Ver en Git


Gestion de precision

Documentacion para back

La primera version incluye

  • Mapas en rotacion
  • Cosecha por ambiente
  • Dashboard

Proyectos

  • notification_center
  • actividades
  • aurapi

Notification center

Algunos procesamientos se realizan de forma async, por lo tanto se utiliza el notification_center para comunicar cuando finaliza el procesamiento async. Todos los mensajes salen por el canal ACTIVITIES.V1.

Para suscribirse utilice la api /nc/stream?channels=ACTIVITIES.V1 testing.

Los eventos posibles son:

  • ROTATION_LAYER_FAILURE.V1:
{
"event_name": "ROTATION_LAYER_FAILURE.V1",
"event_payload": {"rotation_uuid": uuid},
"event_msg": "La asociacion del mapa de tu rotacion con actividades ha fallado. Ver rotacion"
}
  • HARVEST_LAYER.V1
{
"event_name": "HARVEST_LAYER.V1",
"event_payload": {"field_uuid": uuid, "field_id": int, "labour_uuid": uuid}
}

Unidades

Agregar la unidad de la superficie en rotaciones y actividades, el nombre para ambos casos es "surface_unit"

Actividades

Swagger para obtener documentacion de los endpoint

Mas adelante se explicara que apis utilizar, si son del repo actividades no explicara los parametros que recibe revisar swagger

Mapa rotacion

En el GET de rotacion se agrego el parametro map_id

Asociar mapa

Se puede asociar un mapa a una o varias rotaciones con la api:

patch actividades rotacion map

  • Crea los ambientes a las rotaciones apartir del mapa
  • Si una rotacion ya tiene mapa, lo desasocia (se vuelve a calcular todos los ambientes de su actividades)
  • Se procesa de forma async, todas las actividades que tiene una capa asociada
    • Si alguna actividad no se puedo actualizar se envia el evento ROTATION_LAYER_FAILURE.V1

Desasociar mapa

Se puede desasociar un mapa a una o varias rotaciones con la api:

del actividades rotacion map

  • Borra los ambientes de las rotaciones
  • Borra los ambientes de todas las actividades

Cosecha Capa

La capa asociada puede tener 3 estados

  • 0: pending
  • 1: processed
  • 2: failed

Asociar capa

put harvest layer

  • Valida las unidades de la capa, que se puede asociar a la cosecha. La unidad de la capa sera la unidad del rinde
  • Borra los ambientes anteriores
  • Asigna la capa con el estado pending
  • Ejecuta de forma async la creacion de los ambientes de la cosecha
    • En caso que su rotacion tenga mapa, crea los ambientes con el rinde y superficie
    • Actualiza el rinde y superficie de la cosecha y la pasa a ejecutadad
    • Cuando finaliza exitosamente notifica con el evento HARVEST_LAYER.V1, en caso de fallar no notifica
    • Actualiza el estado de la capa a processed o failed

Desasociar capa

delete harvest layer

  • Desasocia la capa de la actividad
  • Elimina los ambientes de la misma

Alta capa vinculada a cosecha

Para dar de alta una capa y vincularla a una cosecha, primero crear la cosecha con la api (Solo funciona cuando se da de alta una capa con shp):

post harvest

Luego en la api de aurapi

POST /api/layers/raster

agregar el parametro labour_uuid

{
"data": {
col: {
"labour_uuid": uuid
}
}
}

Una vez creada la capa lanzara la tarea para asociar capa cosecha y tendra el mismo comportamiento que la api asociar capa

Eliminar capa vinculada

La api delete /api/layers lanza un error "LAYER_ASSIGNED_LABOUR" si esta asociada a una labor

Ver como solucionar que se pueda desasociar

Mis mapas

/api/users/me/maps

  • GET: se agrego "rotations_uuid":List[uuid] una lista con las rotaciones asociadas al mapa
  • DELETE: En caso de tener rotaciones asignadas devolvera error "MAP_HAS_ROTATION", para poder borrar primero desacociar todas las rotaciones, utilizar la api de Desasociar mapa