© 2024 Napse. Todos los derechos reservados.
Alcance
- OMNI MEJORA WF - Performance en procesamiento de pedidos con facturación automática https://jira.linx.com.br/browse/NAPSEPD-31237
Referencias
Documentación de los requerimientos funcionales/técnicos
Se adjuntan documentos: https://share.linx.com.br/x/Jqo3HQ
Configuración del sistema y resumen de funcionalidad
Mediante esta funcionalidad, se podrá independizar de las actividades de API las acciones asociadas a determinados pasos del flujo de un pedido como la de "facturar con Fiscal Flow"
Si existe algún paso dentro del workflow que se haya configurado como paso diferido, API al ir pasando de estado del pedido irá insertando los pedidos en esta tabla para que luego con un job dedicado, pueda ir tomando N cantidad de pedidos (configurable) para ejecutar esas acciones. Esto permite que no interfiera con otras acciones y mejorar los tiempos
- Nuevo campo en los pasos del workflow: isDelayed (booleano)
- Se agrega un nuevo campo al orderWorkflowStep que se desea tener como acción diferida.
- Este campo quedará visible en el menú de flujo de estados con una nueva columna "Es diferido?"
- Se debe agregar al paso "Solicita factura" a "Facturado"
{
"_id" : ObjectId("660ff44d2c687a7f4606561c"),
"orderWorkflowActions" : [
ObjectId("5fe9de898d93b01cab6918cd"),
ObjectId("601450a885626f7873b10e88")
],
"orderWorkflow" : ObjectId("660ff3522c687a7f46065619"),
"initialState" : ObjectId("61eaf3d870bdeffb94525688"),
"finalState" : ObjectId("61eaf3d4cb9f405c76482a8d"),
"isInitial" : false,
"isFinal" : false,
"allowChange" : false,
"version" : 0.0,
"is_automatic" : true,
"priority" : 1,
"autMessage" : "Este cambio de estado es automatico",
"isDelayed" : true,
"stepRoles" : [
"ROLE_bm-orderDelayedStep-reprocess"
],
"stepExecutors" : [
"BM",
"API"
]
}
- Se agrega un nuevo job: orderDelayedSteps
- Este debe habilitarse en la tienda con el botón negro o desde Configuración/Procesos programados
- Se agrega una nueva configuración de tienda en Tienda/Ordenes que permite definir la cantidad de pedidos por cada ejecución del Job para ejecutar la acción que tenga el paso del flujo definido.
- Se agrega un monitor de pasos diferidos en la tienda para poder visualizar todos los pedidos que se hayan insertado en la nueva tabla.
- La tabla donde se guarda y toma la información el monitor: orderDelayedStep
- Se agrega al pedido la auditoria de pasos diferidos (si el pedido se encuentra en un estado de un paso definido como diferido) Esto mediante la acción DETALLE del pedido en la tienda
- Se agrega la tabla temporal al proceso de depuración
- ver: src/services/cleaner.service.ts
Casos de prueba
Adjuntos en el jira del requerimiento