Gestion-de-precision
Gestion de precision
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:
- 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
- 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
- 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):
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