Skip to content

Degree project made for DuocUC's Technologic Innovation Center (CITT)

Notifications You must be signed in to change notification settings

Daniicecream/Licibot_2023

Repository files navigation

Licibot

  • Nombre Técnico: licibot_module
  • Versión: 15.0.1.0.0
  • Autor: Ricardo Araya, Daniel Vásquez, Esteban Soto, Nicolas Pinilla
  • Licencia: Sin especificar.
  • Aplicación: False

Descripción

Este módulo permite realizar peticiones a la api de mercadopublico.cl e ingresar dicha información en la base de datos de odoo.

Adicionalmente se crea una vista interna en la base de datos que clasifica a las unidades de compra según su comportamiento en el mercado gracias técnicas de ML, concretamente un módelo K-Means, que primero separará a las unidades de compra en diferentes cluster y posteriormente asignara las posiciones en el ranking (50 posiciones cómo máximo, sin embargo, este valor se puede cambiar en las configuraciones de odoo). Posteriormente envía la información de estas unidades de compra rankeadas al CRM de Odoo para que los distintos agentes comerciales puedan comenzar sus gestiones.

Funcionamiento

Una vez instalado el módulo se recomienda activar el modo desarrollador y dirigirse a Ajustes > Técnico > Parámetros del sistema. En este menú se podrá configurar los siguientes parámetros del código:

Parámetro Descripción
licibot_module.days_gone Cantidad de días que deben transcurrir para que una unidad de compra pueda volver a ser enviada al CRM. Por defecto son 180 días (6 meses aprox.)
licibot_module.ranking_length Cantidad de posiciones que considerará el ranking al momento de calcularse.
licibot_module.ranking_ml_length Cantidad de posiciones que considerará el ranking al momento de calcularse. Versión Machine Learning
licibot_module.ip IP del servidor en el cual operará el módulo. Misma IP del servidor en el que se aloja el sistema Odoo. Parámetro obligatorio.
licibot_module.token_mp Token otorgado por mercadopubico, el cual permite tener acceso a los endpoints de la api de mercadopublico. Parámetro obligatorio.

Una vez configure estos parametros dirijase al menú Ajustes > Técnico > Acciones planificadas y busque la palabra "Licibot". Se mostraran todos los crones que permiten automatizar las funciones incluidas en el módulo. Active los siguientes y configure la frecuencia a su criterio y/o necesidad:

  • CRON Licibot: Extracción Licitaciones Diarias, el cuál permite que se vayan recolectando licitaciones. Se recomienda seleccionar una hora en la que el ambiente no este siendo utilizado por ejemplo 1am.
  • CRON Licibot: Calcular Ranking ML, el cuál calcula las posiciones de las distintas unidades de compra en base a la información que sea recopilada.
  • CRON Licibot: Enviar al CRM, que envia al CRM aquellas unidades de compra que esten en el ranking. Cabe mencionar que si una unidad de compra ya se encuentra en el CRM y sigue estando en el ranking, esta no volvera a ser enviada a menos que hayan transcurrido la cantidad de días configurada (licibot_module.days_gone) entre la fecha de la última oportunidad ingresada y la fecha actual.

Dependencias

Módulos Odoo

  • 'crm'
  • 'opens_licitacion_crm' v15

Librerías de Python

  • 'pandas'
  • 'requests'
  • 'scipy'
  • 'numpy'
  • 'scikit-learn'

Dependencias externas

Dado que la información es recabada de la api de mercado público, cualquier falla o caída de esta puede afectar al correcto funcionamiento del módulo.

Instrucciones de Instalación

Para no sobreextender el archivo README.md se solicita que visite el Manual de Instalación para conocer más sobre el paso a paso a seguir.

Creditos

Contribuidores

  • Nicolas Pinilla
  • LinkedIn Logo Ricardo Araya C.
  • LinkedIn Logo Daniel Vásquez R.
  • LinkedIn Logo Esteban Soto V.

Logo

  • Imagen realizada por Daniel Vásquez

Releases

No releases published

Packages

No packages published

Languages