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